在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AUTOSAR配置中的PostBuild、Precompile、Linktime

冬至子 ? 來(lái)源:AUTOSAR軟件攻城獅 ? 作者:嘯西風(fēng) ? 2023-07-17 14:56 ? 次閱讀

01

緣由

在AUTOSAR的配置軟件中,經(jīng)常可以見到PostBuild、Precompile、Linktime這三個(gè)的影子,所以想搞清楚它們的區(qū)別,以及知道大概是干什么的。

1)DaVinciCFG中

圖片

2)EB工具中

圖片

3)在買AUTOSAR模塊時(shí)

圖片

02

編譯基礎(chǔ)知識(shí)回顧

在研究之前,先復(fù)習(xí)一下編譯過程的基礎(chǔ)知識(shí)

圖片

注意:

靜態(tài)庫(kù)是經(jīng)過編譯的二進(jìn)制文件。在鏈接階段,引用庫(kù)一旦鏈接成功,將匯編生成的目標(biāo)文件與引用的庫(kù)一起鏈接打包到可執(zhí)行文件當(dāng)中。

預(yù)處理Preprocessing

1、處理一些#開頭的預(yù)處理指令,比如#if等

2、進(jìn)行宏定義的替換

3、去除代碼注釋

編譯Compilation :把.C文件編譯生成匯編代碼.asm

匯編Assemble :把.asm會(huì)變成中間文件.o

鏈接Linking :鏈接.o,.a,.lib文件生成可執(zhí)行文件

03

為什么需要配置?

AUTOSAR標(biāo)準(zhǔn)了很多東西,所以在考慮問題方面,需要做的更加 全面 ,以應(yīng)付不同的使用軟件使用場(chǎng)景。那么代碼不可避免的就需要配置一些東西,比如使用宏定義來(lái)選擇哪些模塊不需要。再比如,傳統(tǒng)的ECU汽車軟件開發(fā)結(jié)束后,不修改代碼是無(wú)法更新DBC的,即使功能類似,也做不到,只能重新開發(fā),改動(dòng)比較大,重新開發(fā)還要重新測(cè)試。因此AUTOSAR提出了Post-build的方案,運(yùn)行在開發(fā)結(jié)束后對(duì)ECU的參數(shù)進(jìn)行修改,以便于節(jié)省維護(hù)和測(cè)試成本。

按照編譯過程的階段,把配置方法進(jìn)行分類,分為三類,分別是 Pre-compileLink timePost-build ,下面三類AUTOSR都是支持的。

圖片

04

Pre-Compile

實(shí)現(xiàn)手段:

1、通過宏定義來(lái)Enable和disable一些不需要的模塊

2、使用宏定義來(lái)定義常量進(jìn)行配置

在預(yù)編譯階段,就會(huì)把這些配置項(xiàng)進(jìn)行宏替換,在實(shí)際使用當(dāng)中,配置項(xiàng)放在單獨(dú)的.c和.h文件中(*_Cfg.h, *_Cfg.c),比如Spi.c的配置項(xiàng),放在了Spi_Cfg.c和Spi.h中,并且被配置的文件(比如Spi.c必須有源文件)不能是.o,.a等庫(kù)文件或者中間文件,因?yàn)閹?kù)已經(jīng)被預(yù)編譯過一次了,只能參與到鏈接。

優(yōu)勢(shì):

1)節(jié)省運(yùn)行時(shí)的開銷,在預(yù)編譯階段就完成了配置

劣勢(shì):

1)參數(shù)配置是通過宏來(lái)實(shí)現(xiàn),要求被配置的C要以源碼形式提供,不能以庫(kù)或者中間文件的形式

2)參數(shù)類型更改需要重新編譯軟件

圖片

*_Cfg.h中放宏定義

*_Cfg.c中放const常量

一個(gè)示例

eg.使能和關(guān)閉一個(gè)功能

Spi_Cfg.h:

1.jpg

Spi_Cfg.c:

1.jpg

Spi.c(必須要有Spi.c的源文件,不能是庫(kù))

1.jpg

05

Link-time

Link time在鏈接時(shí)進(jìn)行配置,適合對(duì)沒有C源碼的庫(kù)(.a,.lib)或者中間文件(.o)進(jìn)行配置。

圖片

eg.

Dem_Cfg.h

typedef uint16 Dem_EventIdType; /* total number of events = 380 = > uint16 required */
#define DemConf_DemEventParameter_FLS_E_ERASE_FAILED_0 1U
#define DemConf_DemEventParameter_FLS_E_ERASE_FAILED_1 2U
#define DemConf_DemEventParameter_FLS_E_WRITE_FAILED_0 3U
#define DemConf_DemEventParameter_FLS_E_WRITE_FAILED_1 4U
#define DemConf_DemEventParameter_NVM_E_REQ_FAILED 5U
#define DemConf_DemEventParameter_CANSM_E_BUS_OFF 6U

Fls_Lcfg.c

#include "Dem_Cfg.h" /* for providing access to event symbols */
const Dem_EventIdType Fls_WriteFailed[2] = {DemConf_DemEventParameter_FLS_E_WRITE_FAILED_1,
DemConf_DemEventParameter_FLS_E_WRITE_FAILED_2};

File Fls.c (available as object code):

#include "Dem.h" /* for reporting production errors */
extern const Dem_EventIdType Fls_WriteFailed[];
Dem_SetEventStatus(Fls_WriteFailed[instance], DEM_EVENT_STATUS_FAILED);

06

Post-build

適合的場(chǎng)景:

1)適合ECU適配ECU的數(shù)據(jù)配置,比如產(chǎn)線出產(chǎn)后的一些標(biāo)定和校準(zhǔn)參數(shù)(這些參數(shù)事先在開發(fā)期間,不知道這些參數(shù),一般每一臺(tái)機(jī)器的因?yàn)橛布奈⑿〔町悓?dǎo)致每臺(tái)機(jī)器的參數(shù)都不一樣),或者每臺(tái)機(jī)器的序列號(hào)、版本配置,都是屬于Post-build time配置。

2)跨不同汽車版本(相同應(yīng)用,不同配置)的ECU的可重用性,例如 與豪華版轎車的ECU相比,低配版轎車的ECU在總線上傳輸?shù)?a target="_blank">信號(hào)更少,其他配置一樣。

Post-build概述

就是單獨(dú)把配置的參數(shù)放到一個(gè) 內(nèi)存區(qū)域 ,這個(gè)區(qū)域可以 單獨(dú)被刷寫 (通過flash擦寫工具,通過UDS服務(wù),通過Bootloader修改參數(shù)),這樣做的一個(gè)好處是,OEM不需要知道代碼邏輯,甚至不需要編譯器(有些符合功能安全的編譯器是要license才能使用的),也能修改BSW總的部分配置參數(shù)。

Post-build的工作流

如前面所說Post-build time是在鏈接得到二進(jìn)制后,再進(jìn)行修改的,下面是Vector給出的一個(gè)Post-build的工作流:

圖片

1)分為兩大塊,左邊是TIER 1(零部件廠商,一般只做單個(gè)ECU的公司)的工作流,右邊是OEM(整車廠,比如大眾等)的工作流。

2)TIER 1通過Vector的兩個(gè)工具Davinci Developer和Dabinci Configrator Pro配置完,開發(fā)后,再用編譯器,編譯鏈接,生成HEX文件。

3)OEM使用Dabinci Configrator可以更改軟件的部分配置(不是全部),然后通過Post Build Tool生成二進(jìn)制文件,單獨(dú)更新配置到ECU

4)Tier1和OEM的主要區(qū)別是,OEM不需要編譯器,并且只能配置部分參數(shù)。

Post-build分為兩種

1) Post-Build Loadable :配置參數(shù)只有一份,單獨(dú)保存在flash的一個(gè)固定區(qū)域(特定地址),可以修改參數(shù)配置,可以單獨(dú)被更新。

圖片

2) Post-Build Selectable :配置參數(shù)預(yù)先配置好了幾份放在flash的一個(gè)固定區(qū)域(特定地址),不能修改參數(shù)配置,只能從預(yù)先放好的配置中選擇一份配置。

圖片

Post-build與Link time的區(qū)別

1)時(shí)間上的不同:Link time是鏈接時(shí)配置好,Post-build是編譯鏈接完成后,再需要修改參數(shù)

2)Link time完成后,不支持單獨(dú)修改參數(shù),要想修改參數(shù)需要重新編譯鏈接,Post-build支持單獨(dú)修改參數(shù)(通過flash擦寫工具,通過UDS服務(wù),通過Bootloader修改參數(shù))

07

總結(jié)

圖片

注意事項(xiàng):

1)如果需要使用Post-Build中的Loadable或者Selectable,在購(gòu)買AUTOSAR時(shí)需要選擇,就是說要多給錢。

2)配置參數(shù)不是多有的BSW參數(shù)都可以配置,哪些參數(shù)可以配置,哪些不可以配置需要和OEM溝通好,在AUTOSAR標(biāo)準(zhǔn)中也有定義,比如《AUTOSAR_SWS_COM.pdf》第129頁(yè)。

X:表示支持

--:表示不支持

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    370

    瀏覽量

    22295
  • ecu
    ecu
    +關(guān)注

    關(guān)注

    14

    文章

    905

    瀏覽量

    55305
  • 預(yù)處理器
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    2290
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TC387配置Autosar OS后主核跑飛了怎么解決?

    使用TC387芯片配置Autosar OS發(fā)現(xiàn)主核跑飛了,其他核正常運(yùn)行OS任務(wù)切換,PC指針指向_IF_CONST區(qū)域,D[4]寄存器為1,D[15]寄存器為4,根據(jù)這兩個(gè)寄存器用計(jì)算規(guī)則計(jì)算出的TCN和TIN好像有問題,在Trap
    發(fā)表于 03-06 08:24

    AUTOSAR MCAL驅(qū)動(dòng)程序與演示程序的Libraries的驅(qū)動(dòng)程序有什么不同之處?

    1.關(guān)于 AUTOSAR MCAL 驅(qū)動(dòng)程序 與演示程序的 Libraries 的驅(qū)動(dòng)程序 有什么不同之處? 2.AUTOSAR MCAL 驅(qū)動(dòng)程序
    發(fā)表于 05-17 06:55

    autosar架構(gòu)學(xué)習(xí)資料

    ECU軟件的AUTOSAR開發(fā)方法方法概述系統(tǒng)設(shè)計(jì)系統(tǒng)配置ECU配置執(zhí)行文件生成
    發(fā)表于 08-31 17:46

    AUTOSAR的工作原理是什么?為什么需要AUTOSAR

    AUTOSAR的工作原理是什么?為什么需要AUTOSAR
    發(fā)表于 05-17 06:44

    AUTOSAR是什么

    一、AUTOSAR是什么AUTOSAR組織自己的介紹是AUTOSAR (AUTomotive Open System ARchitecture) is a worldwide development
    發(fā)表于 11-10 07:47

    為什么使用AUTOSAR

    文章目錄一、總概述1 為什么使用AUTOSAR?1.1 AUTOSAR出現(xiàn)之前的行業(yè)現(xiàn)狀1.2 AUTOSAR出現(xiàn)之后可以實(shí)現(xiàn)如下目標(biāo)2、AUTOSAR總概述二、各層分別概述1、BSW
    發(fā)表于 12-09 07:50

    如何在非Autosar應(yīng)用執(zhí)行I2C?

    我是NXP產(chǎn)品的新產(chǎn)品,我試圖了解它的生態(tài)系統(tǒng)。我需要在非Autosar應(yīng)用執(zhí)行I2C,所以我需要了解它是如何工作的,所以我有一些問題: 1) 在 RTD_I2C_UM.pdf 寫道: I2c
    發(fā)表于 11-13 07:04

    基于AUTOSAR標(biāo)準(zhǔn)的有效協(xié)助用戶完成ECU配置工作

      在AUTOSAR系統(tǒng)開發(fā)流程,ECU(Electrical Control Unit,電子控制單元)配置是其中的-一個(gè)重要步驟。本文研究的ECU配置工具的目的就是為了有效協(xié)助用戶
    發(fā)表于 03-29 15:50 ?2次下載

    NvM在AUTOSAR的層次結(jié)構(gòu)

    AUTOSAR的NvM看起來(lái)挺難的,特別是在配置的時(shí)候,一堆參數(shù),都不知道是干什么用的。想去研究它,卻不知如何下手。其實(shí)吧,AUTOSAR的官方文檔講的挺詳細(xì)的,但是內(nèi)容很多,網(wǎng)上有
    的頭像 發(fā)表于 04-21 10:47 ?4745次閱讀

    AUTOSAR ComM功能及配置參數(shù)詳解

    AUTOSAR ComM模塊的分享分為ComM模塊概念詳解和ComM模塊配置及代碼分析
    的頭像 發(fā)表于 06-01 10:00 ?9582次閱讀
    <b class='flag-5'>AUTOSAR</b> ComM功能及<b class='flag-5'>配置</b>參數(shù)詳解

    AUTOSAR Fee模塊配置詳解

    AUTOSAR Fee的配置跟Ea類似,方法都可以觸類旁通。
    的頭像 發(fā)表于 06-01 10:05 ?5285次閱讀
    <b class='flag-5'>AUTOSAR</b> Fee模塊<b class='flag-5'>配置</b>詳解

    解讀AUTOSAR模式管理BswM配置

    模式管理是AUTOSAR的一個(gè)難點(diǎn),也可以說是最龐雜的一塊。因?yàn)槟J焦芾碡灤┱麄€(gè)CP Autosar流程,幾乎所有模塊都跟BSWM發(fā)生著聯(lián)系。
    的頭像 發(fā)表于 10-26 16:55 ?3133次閱讀
    解讀<b class='flag-5'>AUTOSAR</b>模式管理BswM<b class='flag-5'>配置</b>

    AUTOSAR架構(gòu)復(fù)雜驅(qū)動(dòng)設(shè)計(jì)

    復(fù)雜驅(qū)動(dòng)(Complex Driver,CDD)是一種不受 AUTOSAR 標(biāo)準(zhǔn)化約束的軟件實(shí)體,它可以通過 AUTOSAR 接口和/或基礎(chǔ)軟件模塊 API 進(jìn)行訪問 AUTOSAR 組件或者被
    的頭像 發(fā)表于 12-21 10:13 ?5720次閱讀
    <b class='flag-5'>AUTOSAR</b>架構(gòu)<b class='flag-5'>中</b>復(fù)雜驅(qū)動(dòng)設(shè)計(jì)

    AUTOSAR通信堆棧的配置 AUTOSAR通信模塊測(cè)試方法

    )的開發(fā)和生產(chǎn)。通信堆棧是AUTOSAR架構(gòu)的關(guān)鍵組成部分,負(fù)責(zé)處理ECU之間的通信。 AUTOSAR通信堆棧的配置 通信模型 :
    的頭像 發(fā)表于 12-17 15:01 ?697次閱讀

    AUTOSAR通信實(shí)現(xiàn)的常見問題

    配置與使用問題 通信協(xié)議棧模塊理解不足 問題 :開發(fā)者可能對(duì)AUTOSAR通信協(xié)議棧的組成模塊(如Com、Dcm、PduR、IpduM、TP、If等)及其功能理解不夠深入,導(dǎo)致配置和使用不當(dāng)。 解答
    的頭像 發(fā)表于 12-17 15:03 ?856次閱讀
    主站蜘蛛池模板: www色午夜 | 久久就是精品 | 伊人狠狠丁香婷婷综合色 | 精品一区二区三区视频 | 美女扒开内裤让男人桶 | 国产亚洲精品aa在线观看 | 亚洲国产综合人成综合网站00 | 精品久久香蕉国产线看观看亚洲 | 97av在线视频| 视频在线免费观看网址 | 日本韩国三级视频 | 91福利国产在线观看网站 | 久久精品夜色国产 | 香港日本三级在线播放 | 久久免费精品 | 国产码一区二区三区 | 欧美黄色片免费观看 | 欧美aaaaa性bbbbb小妇 | 免费的三及片 | 欧美视频小说 | 痴女中文字幕在线视频 | 久久久久久91精品色婷婷 | 久久精品亚洲精品国产欧美 | 四虎永久免费最新在线 | 国产一二三区在线 | 国产一区中文字幕 | 国产精品色片 | 国产精品资源在线播放 | 色多多免费视频 | 闲人综合 | good韩国理论在线三级 | 国产色婷婷免费视频 | 四虎永久影院永久影库 | 午夜精品网站 | 成人免费精品视频 | 超级狂色而且免费又超好看 | 色女人网 | 亚洲女人小便 | 很黄的网站在线观看 | 欧美另类激情 | 色综合亚洲天天综合网站 |