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

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

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

剖析汽車(chē)ECU的bootloader程序

汽車(chē)工程師 ? 來(lái)源:汽車(chē)電子與軟件 ? 作者:freshcoolman ? 2021-09-24 10:52 ? 次閱讀

BootLoad(簡(jiǎn)稱(chēng)Boot)是一種啟動(dòng)加載程序,或者稱(chēng)為引導(dǎo)程序,我們?cè)?a target="_blank">操作系統(tǒng)嵌入式開(kāi)發(fā)中經(jīng)常用到,因?yàn)槠?chē)ECU也是一種嵌入式系統(tǒng),Boot程序主要用于ECU軟件更新,汽車(chē)OTA升級(jí),本文主要講述汽車(chē)bootloader程序的工作原理和設(shè)計(jì)方法。

01

bootloader的功能

BootLoader,通常是駐留在ECU非易失性存儲(chǔ)器(NVM,None Valitale Momory)中的一段程序加載代碼,每次ECU復(fù)位后,都會(huì)運(yùn)行bootloader。它會(huì)檢查是否有來(lái)自通信總線(xiàn)的遠(yuǎn)程程序加載請(qǐng)求。

如果有,則進(jìn)入bootloader模式,建立與程序下載端(通常為PC上位機(jī))的總線(xiàn)通信并接收通信總線(xiàn)下載的應(yīng)用程序、解析其地址和數(shù)據(jù)代碼,運(yùn)行NVM驅(qū)動(dòng)程序,將其編程到NVM中,并校驗(yàn)其完整性,從而完成應(yīng)用程序更新。

如果沒(méi)有來(lái)自通信總線(xiàn)的遠(yuǎn)程程序加載請(qǐng)求,則直接跳轉(zhuǎn)到應(yīng)用程序復(fù)位入口函數(shù)(復(fù)位中斷ISR,也稱(chēng)作Entry_Point()–使用Processor Expert的CodeWarrior 工程或者Startup()函數(shù)–普通CodeWarrior 工程),運(yùn)行應(yīng)用程序。

0880881a-10bd-11ec-8fb8-12bb97331649.png

因此,汽車(chē)ECU的bootloader三個(gè)主要的作用:

與遠(yuǎn)程程序下載端建立可靠的總線(xiàn)通信以獲取要更新應(yīng)用程序;

解析應(yīng)用程序編程文件(S19/HEX/BIN)獲得其在NVM中的地址和程序代碼及數(shù)據(jù);

運(yùn)行NVM驅(qū)動(dòng)將應(yīng)用程序的代碼和數(shù)據(jù)編程到NVM中并校驗(yàn);

下面就圍繞這三個(gè)方面展開(kāi)講述。

02

如何建立可靠的總線(xiàn)通信?

汽車(chē)ECU常見(jiàn)的數(shù)據(jù)總線(xiàn)有CAN和LIN,因此通常汽車(chē)ECU的bootloader都是通過(guò)CAN或者LIN下載數(shù)據(jù)的。當(dāng)然也可以基于其他總線(xiàn),比如基于SPI總線(xiàn)或者I2C總線(xiàn)(典型如一些帶有安全監(jiān)測(cè)的功能安全ECU,通過(guò)主MCU對(duì)功能安全監(jiān)測(cè)MCU的程序進(jìn)行升級(jí))以及以太網(wǎng)(基于Enternet通信的中控或者全液晶儀表的ECU以及下一代高速網(wǎng)關(guān)和ADAS ECU)。

注意事項(xiàng):

不同的ECU通信總線(xiàn)不一樣,具體需要用到某種通信總線(xiàn)取決于實(shí)際應(yīng)用;

通信總線(xiàn)由ECU的MCU外設(shè)實(shí)現(xiàn),所以在bootloader中必須開(kāi)發(fā)相應(yīng)的通信總線(xiàn)外設(shè)驅(qū)動(dòng)程序,實(shí)現(xiàn)基本的數(shù)據(jù)發(fā)送和接收功能;

為了保證通信的可靠性,必須開(kāi)發(fā)一個(gè)基于通信總線(xiàn)完善的通信協(xié)議,應(yīng)用程序下載端和bootloader之間需要建立請(qǐng)求命令(request command)、確認(rèn)(acknowledge)、等待(block wait)、錯(cuò)誤重傳(errorre-send)等機(jī)制----bootloader根據(jù)不同的請(qǐng)求命令完成不同的任務(wù)并確認(rèn)操作是否完成(ACK)以及數(shù)據(jù)是否正被確完整的傳輸,若出現(xiàn)數(shù)據(jù)錯(cuò)誤(通過(guò)校驗(yàn)和或者ECC實(shí)現(xiàn)),需要進(jìn)行自動(dòng)重傳;

應(yīng)用程序下載端通過(guò)需要在PC上基于VC或者C#、QT、Labview等開(kāi)發(fā)GUI軟件,實(shí)現(xiàn)中要求的總線(xiàn)通信協(xié)議,一般在其底層都是通過(guò)調(diào)用相應(yīng)的總線(xiàn)設(shè)備,如USB轉(zhuǎn)CAN/LIN的轉(zhuǎn)發(fā)器設(shè)備的動(dòng)態(tài)庫(kù)(DLL)的API接口來(lái)實(shí)現(xiàn)數(shù)據(jù)的收發(fā),相應(yīng)的總線(xiàn)USB轉(zhuǎn)發(fā)設(shè)備都會(huì)提供相應(yīng)的驅(qū)動(dòng)庫(kù)(DLL)。因此bootloader開(kāi)發(fā)者一般還需具備一定的PC上位機(jī)軟件開(kāi)發(fā)能力;

為了實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸,一般在總線(xiàn)通信協(xié)議中添加信源編碼,即在發(fā)送是對(duì)有效數(shù)據(jù)進(jìn)行校驗(yàn)和或者ECC計(jì)算并將結(jié)果在通信數(shù)據(jù)幀中和有效數(shù)據(jù)一起發(fā)送,bootloader接收端,接收到數(shù)據(jù)幀后對(duì)有效數(shù)據(jù)域進(jìn)行發(fā)送端同樣的校驗(yàn)和或者ECC計(jì)算,得出結(jié)果與接收到的校驗(yàn)和或者ECC計(jì)算結(jié)果值進(jìn)行比較從而判斷數(shù)據(jù)的完整性。應(yīng)用程序編程文件(S19/HEX/BIN)都具有相應(yīng)的校驗(yàn)機(jī)制,所以可以采取直接傳送程序編程文件行的方式;

否則,用戶(hù)需要在上位機(jī)軟件中首先解析編程文件,再將其中的地址和數(shù)據(jù)及代碼封裝打包成某種定制的通信協(xié)議,在bootloader中還得對(duì)其進(jìn)行解包,這樣一來(lái),略顯麻煩,但有些主機(jī)廠(chǎng)為了知識(shí)產(chǎn)權(quán)保護(hù),有自己的bootloader協(xié)議,這種情況下,bootloader開(kāi)發(fā)者就必須按照主機(jī)廠(chǎng)的要求來(lái)開(kāi)發(fā);

一些正規(guī)的大主機(jī)廠(chǎng)要求其ECU供應(yīng)商開(kāi)發(fā)放入ECU bootloader必須基于UDS等總線(xiàn)診斷協(xié)議,在UDS中規(guī)定了相應(yīng)的CAN ID給bootloader使用,那么就必須在該類(lèi)ECU中的bootloader工程中加入相應(yīng)的UDS協(xié)議棧;

3和5的注意事項(xiàng)都是為了滿(mǎn)足Boot程序設(shè)計(jì)的安全要求,要特別重視。

03

解析編程文件(S19/HEX/BIN)

不同的MCU軟件開(kāi)發(fā)IDE編譯鏈接生成的編程文件格式可能不同,但S19、HEX和BIN文件之間是可以相互轉(zhuǎn)化的,所以只需要在bootloader中開(kāi)一種編程文件的解析程序就可以了,其他的可以使用相應(yīng)的轉(zhuǎn)換工具(convert tool)在上位機(jī)上進(jìn)行轉(zhuǎn)換;MCU的軟件開(kāi)發(fā)IDE一般都集成不同編程文件之間的轉(zhuǎn)換工具:比如S32DS的objcopy(Create Flash Image )以及Keil的Motorola S-Record to BINARY File Converter 。

解析編程文件的目的在于獲得應(yīng)用程序的程序代碼和數(shù)據(jù)及其在NVM中的存儲(chǔ)地址;

為了解析編程文件必須先了解其中的編碼格式和原理,常用的S19、HEX和BIN文件的格式說(shuō)明請(qǐng)自行查閱。

S19和HEX文件都是可以直接使用文本編輯器(比如記事本,notepad++)打開(kāi)的,只需要將包含地址和數(shù)據(jù)代碼的S1、S2和S3開(kāi)始的S19文件行合并即可,可以手動(dòng)拷貝,也可以編寫(xiě)window批處理腳本來(lái)處理;當(dāng)然也有專(zhuān)門(mén)的可以支持兩個(gè)S19文件的合并,網(wǎng)上可以找到很多開(kāi)源軟件,比如常見(jiàn)的Srecord等;

04

NVM驅(qū)動(dòng)程序開(kāi)發(fā)

ECU的NVM一般包括:

MCU片內(nèi)集成的用于存放數(shù)據(jù)的EEPROM或者Data-Flash;

用于存儲(chǔ)程序代碼/數(shù)據(jù)的Code-Flash/Program-Flash;

MPU擴(kuò)展的片外NORFlash或者NAND-Flash;

NVM驅(qū)動(dòng)程序 的作用包括

對(duì)NVM的擦除(erase)、編程(program)和校驗(yàn)(verify)等基本操作;

對(duì)NVM的加密(secure)/解密(unsecure)和加保護(hù)(protecTIon)/解保護(hù)(unprotecTIon)操作。

注意事項(xiàng):

MCU片上集成的NVM中EEPROM/D-Flash和C_Flash/P-Flash一般屬于不同的block,所以可以直接在Flash上運(yùn)行NVM驅(qū)動(dòng)對(duì)EEPROM/D-Flash進(jìn)行擦除和編程操作;

NVM驅(qū)動(dòng)一般都是通過(guò)運(yùn)行一個(gè)NVM command序列,在其中通過(guò)NVM控制器寄存器給出不同的NVM操作命令代碼、NVM編程數(shù)據(jù)和目標(biāo)地址的方式完成,典型的NVM command序列有(Freescale的S12(X)系列MCU Flash write command 序列);

由于NVM的工作速度一般較CPU內(nèi)核頻率和總線(xiàn)頻率低,所以運(yùn)行NVM驅(qū)動(dòng)前必須對(duì)NVM進(jìn)行初始化,將設(shè)置分頻器其工作頻率設(shè)置為正常工作所需頻率范圍;

MCU片內(nèi)的NVM同一個(gè)block上不能運(yùn)行NVM的驅(qū)動(dòng)對(duì)其自身進(jìn)行擦除和編程操作,否則會(huì)傳出read while write的總線(xiàn)訪(fǎng)問(wèn)沖突(每個(gè)NVM block只有一條數(shù)據(jù)總線(xiàn),一個(gè)時(shí)刻只能進(jìn)行讀出或者寫(xiě)入,不支持同時(shí)讀出和寫(xiě)入)。

因此對(duì)于僅有一個(gè)block Flash的MCU來(lái)說(shuō),就必須在RAM中調(diào)用其N(xiāo)VM驅(qū)動(dòng),來(lái)對(duì)其自身進(jìn)行擦除和編程操作,同時(shí)在launch Flash command到等待command完成期間必須關(guān)閉CPU全局中斷,禁止外設(shè)中斷響應(yīng),否則取中斷向量和運(yùn)行中斷ISR都會(huì)訪(fǎng)問(wèn)Flash。要使能中斷,就必須將中斷向量表偏移到RAM或者NVM block(EEPROM/D-Flash)并將響應(yīng)的中斷ISR也拷貝到其他RAM或者NVM block上(當(dāng)然該中斷向量表也必須更新指導(dǎo)新的中斷ISR);

由于以上2的要求,通常需要將bootloader的NVM驅(qū)動(dòng)拷貝到MCU的RAM中運(yùn)行,其可以將其完成的NVM拷貝到RAM中運(yùn)行,也可以只拷貝NVM command launch到等待command完成的幾條指令到RAM執(zhí)行即可,因?yàn)镹VM驅(qū)動(dòng)中其他操作(比如填寫(xiě)NVM操作命令、寫(xiě)入編程地址和數(shù)據(jù)等)并不會(huì)往占用數(shù)據(jù)總線(xiàn)上往NVM中寫(xiě)入數(shù)據(jù);

NVM的驅(qū)動(dòng)程序駐留在Flash中,如果出現(xiàn)堆棧溢出等意外程序跑飛意外運(yùn)行NVM驅(qū)動(dòng)程序則會(huì)造成NVM內(nèi)容意外擦除丟失或者修改的情況。因此需要對(duì)關(guān)鍵數(shù)據(jù)或代碼(比如bootloader本身)進(jìn)行保護(hù)以防止意外修改,或者更為安全的方法是**不將NVM驅(qū)動(dòng)程序存放在NVM中,而是在bootloader最開(kāi)始通過(guò)上位機(jī)將其下載到RAM中運(yùn)行,bootloader結(jié)束后將該區(qū)域RAM清除,**從而避免由于意外運(yùn)行NVM驅(qū)動(dòng)程序造成的NVM數(shù)據(jù)丟失和修改。

一般MCU廠(chǎng)商都會(huì)給出其MCU的NVM驅(qū)動(dòng)庫(kù),用戶(hù)可以使用該類(lèi)庫(kù)實(shí)現(xiàn)NVM操作,如果是Freescale/NXP的汽車(chē)級(jí)MCU,還可以使用CodeWarrior IDE集成的Processor Expert生成相應(yīng)的NVM驅(qū)動(dòng)程序;

02

bootloader開(kāi)發(fā)的其他要點(diǎn)

1. bootloader與應(yīng)用程序的關(guān)系:

bootloader和應(yīng)用程序分別是兩個(gè)完整的MCU軟件工程,各自都由自己的啟動(dòng)代碼、main()函數(shù)、鏈接文件、外設(shè)驅(qū)動(dòng)程序和中斷向量表;

因此bootloader和應(yīng)用程序的鏈接文件中,對(duì)NVM的地址空間分配必須分開(kāi)獨(dú)立,不能重疊(overlap),但其RAM分配沒(méi)有約束,兩者都可以使用整個(gè)RAM空間,因?yàn)樘D(zhuǎn)到應(yīng)用工程后,將啟動(dòng)代碼將重新初始化RAM;

bootloader必須使用MCU默認(rèn)的中斷向量表,因?yàn)槊看螐?fù)位后MCU都是從其默認(rèn)中斷向量表的復(fù)位向量取地址執(zhí)行的;應(yīng)用程序的中斷向量必須進(jìn)行偏移(通過(guò)相應(yīng)的中斷向量偏移寄存器,如S12(X)系列MCU的IVBR寄存器或者ARM Cortex M系列MCU的SCB-》VTOR寄存器);

而NVM(P-Flash)的擦除都是按照sector進(jìn)行的,所以為了充分利用NVM(P-Flash)空間,都將bootloader分區(qū)到包含默認(rèn)中斷向量表的若干NVM(P-Flash)sector(S12(X)系列MCU的NVM最后若干sector, ARM Cortex M系列MCU從0地址開(kāi)始的若干sector);

注意:

如果應(yīng)用程序新過(guò)程中斷電或者意外復(fù)位,則應(yīng)用程序更新失敗,相應(yīng)的應(yīng)用程序完整性校驗(yàn)通不過(guò),當(dāng)然得重新下載,為了避免這種情況下應(yīng)用程序丟失,常常BootLoader需要對(duì)應(yīng)用程序進(jìn)行雙備份,即使用兩個(gè)不同的NVM分區(qū)來(lái)保存應(yīng)用程序,只有新的應(yīng)用程序更新成功之后,才擦除老的應(yīng)用程序,否則下次復(fù)位之后還是運(yùn)行老的應(yīng)用程序

2. bootloader到應(yīng)用程序的跳轉(zhuǎn)方法:

開(kāi)發(fā)使用bootloader后,每次ECU復(fù)位之后都將首先運(yùn)行bootloader,若無(wú)遠(yuǎn)程應(yīng)用程序下載請(qǐng)求則直接跳轉(zhuǎn)到應(yīng)用程序復(fù)位函數(shù)地址,這里面有兩個(gè)問(wèn)題需要考慮:

如何獲得應(yīng)用程序復(fù)位函數(shù)地址:方法有:1)通過(guò)鏈接文件固定應(yīng)用程序的復(fù)位啟動(dòng)函數(shù)地址;2)從應(yīng)用程序中斷向量表的復(fù)位向量地址獲?。?a href="http://srfitnesspt.com/v/" target="_blank">推薦方法2):因?yàn)槠潇`活性好,每次應(yīng)用程序變化后無(wú)需關(guān)心應(yīng)用程序復(fù)位函數(shù)被編譯到了NVM的具體地址,只需要將應(yīng)用程序中斷向量表中的復(fù)位向量取出運(yùn)行即可:

典型方法如下(假設(shè)S12(X)系列MCU的應(yīng)用程序中斷向量表基地址寄存器IVBR=0x7F):

typedef void (near tIsrFunc)(void);/ ISR prototype definition */

word *Ptr; /pointer used for ISR vector fecth/

Ptr = (word *)0x7FFE; /*get the ISR vector from the interrupt vector table of APP project */

((tIsrFunc)(*Ptr))(); /covert and run/

跳轉(zhuǎn)時(shí)機(jī):方法有:

1)bootloader更新完應(yīng)用程序并校驗(yàn)其完整性O(shè)K之后,將用到的外設(shè)(比如CAN/LIN通信總線(xiàn)模塊、定時(shí)器、GPIO等)寄存器恢復(fù)到復(fù)位后的默認(rèn)狀態(tài),然后直接跳轉(zhuǎn);bootloader更新完應(yīng)用程序并校驗(yàn)其完整性O(shè)K之后,等待看門(mén)狗定時(shí)器超時(shí)溢出復(fù)位,在bootloader最開(kāi)始判斷無(wú)遠(yuǎn)程應(yīng)用程序下載請(qǐng)求而跳轉(zhuǎn);

推薦使用方法2):因?yàn)榉椒?)相對(duì)于軟件復(fù)位,其跳轉(zhuǎn)至應(yīng)用程序復(fù)位啟動(dòng)函數(shù)時(shí)MCU的硬件環(huán)境與直接運(yùn)行應(yīng)用程序可能存在差異,而方法2)的看門(mén)狗復(fù)位則屬于硬件復(fù)位,其會(huì)將絕大部分外設(shè)(模擬、時(shí)鐘和外設(shè))電路復(fù)位,更接近直接運(yùn)行應(yīng)用程序的情況。

編輯:jq

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

    關(guān)注

    146

    文章

    16800

    瀏覽量

    349343
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3544

    瀏覽量

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

    關(guān)注

    14

    文章

    865

    瀏覽量

    54326
  • NVM
    NVM
    +關(guān)注

    關(guān)注

    1

    文章

    39

    瀏覽量

    19102

原文標(biāo)題:技術(shù)|詳解汽車(chē)ECU的bootloader程序

文章出處:【微信號(hào):e700_org,微信公眾號(hào):汽車(chē)工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    bootloader和應(yīng)用程序之間共享FEE塊

    電子發(fā)燒友網(wǎng)站提供《在bootloader和應(yīng)用程序之間共享FEE塊.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 09:18 ?0次下載
    在<b class='flag-5'>bootloader</b>和應(yīng)用<b class='flag-5'>程序</b>之間共享FEE塊

    汽車(chē) ECU 設(shè)計(jì)中的有源整流及其優(yōu)勢(shì)

    電子發(fā)燒友網(wǎng)站提供《汽車(chē) ECU 設(shè)計(jì)中的有源整流及其優(yōu)勢(shì).pdf》資料免費(fèi)下載
    發(fā)表于 09-10 10:21 ?0次下載
    <b class='flag-5'>汽車(chē)</b> <b class='flag-5'>ECU</b> 設(shè)計(jì)中的有源整流及其優(yōu)勢(shì)

    ECU汽車(chē)處理架構(gòu):虛擬化和軟件定義汽車(chē)

    ? 現(xiàn)代汽車(chē)是工程技術(shù)的奇跡,其特點(diǎn)和功能在幾年前是無(wú)法想象的。但在光鮮亮麗的外表下,隱藏著日益增長(zhǎng)的復(fù)雜性,這給汽車(chē)行業(yè)的未來(lái)帶來(lái)了重大挑戰(zhàn):對(duì)車(chē)載計(jì)算日益增長(zhǎng)的需求及其對(duì)電子控制單元(ECU
    的頭像 發(fā)表于 06-26 16:56 ?680次閱讀

    應(yīng)用分享 | 高性能電源在汽車(chē)ECU地漂測(cè)試中的應(yīng)用

    地漂測(cè)試是汽車(chē)ECU的重要測(cè)試項(xiàng)目之一,能夠有效評(píng)估ECU的通信和控制性能。因此,在ECU生產(chǎn)、整車(chē)制造、第三方檢測(cè)等機(jī)構(gòu)在進(jìn)行研發(fā)設(shè)計(jì)、來(lái)料測(cè)試、驗(yàn)證檢測(cè)等過(guò)程中,一般需要進(jìn)行地漂測(cè)
    發(fā)表于 03-11 17:29 ?979次閱讀
    應(yīng)用分享 | 高性能電源在<b class='flag-5'>汽車(chē)</b><b class='flag-5'>ECU</b>地漂測(cè)試中的應(yīng)用

    可以在vag汽車(chē)上解鎖md1cs004 ECU上的tc298嗎?

    是否有人嘗試在 vag 汽車(chē)上解鎖 md1cs004 ECU 上的 tc298?
    發(fā)表于 03-05 07:30

    有些汽車(chē)ECU會(huì)使用2片單片機(jī),請(qǐng)問(wèn)這2片單片機(jī)是如何分配任務(wù)的?

    來(lái)自一位用戶(hù)的咨詢(xún),麻煩幫忙解答。越詳細(xì)越好,有圖有真相。如有相關(guān)的視頻、文檔也可以輔助說(shuō)明,謝謝。 有些汽車(chē)ECU會(huì)使用2片單片機(jī),請(qǐng)問(wèn)這2片單片機(jī)是如何分配任務(wù)的? 下圖是某F1動(dòng)力總成的ECU
    發(fā)表于 02-02 08:13

    請(qǐng)問(wèn)行車(chē)電腦(ECU)是如何控制剎車(chē)制動(dòng)、油門(mén)、以及轉(zhuǎn)向的呢?

    行車(chē)電腦(ECU)是如何控制剎車(chē)制動(dòng)、油門(mén)、以及轉(zhuǎn)向的呢? 較新款式的汽車(chē)的轉(zhuǎn)向、剎車(chē)、油門(mén)是否都是純電控的呢?如果要改裝為無(wú)人駕駛汽車(chē),是否可以通過(guò)改裝行車(chē)電腦來(lái)做到對(duì)于汽車(chē)行為的控
    發(fā)表于 02-02 07:19

    電動(dòng)汽車(chē)ECU進(jìn)入休眠后,目前有3種喚醒模式,CAN總線(xiàn)和AC電壓的喚醒設(shè)計(jì)原理是什么?

    電動(dòng)汽車(chē)ECU進(jìn)入休眠后,目前有3種喚醒模式,我想知道CAN總線(xiàn)和AC電壓的喚醒設(shè)計(jì)原理是什么?
    發(fā)表于 02-02 06:19

    一般的汽車(chē)ECU處理器是32位的嗎?具體的RAM和Flash有多大呢?

    現(xiàn)在一般的汽車(chē)ECU處理器是32位的嗎,具體的RAM和Flash有多大呢?現(xiàn)在汽車(chē)ECU處理器位數(shù)發(fā)展到多少了?相應(yīng)配備的RAM和Flash有多大?
    發(fā)表于 02-02 06:08

    請(qǐng)問(wèn)汽車(chē)ECU通信如何實(shí)現(xiàn)?

    汽車(chē)ECU通信如何實(shí)現(xiàn)?
    發(fā)表于 02-01 07:09

    汽車(chē)ECU一般采用芯片架構(gòu)?使用什么系統(tǒng)?

    汽車(chē)ECU一般采用芯片架構(gòu),使用什么系統(tǒng)?
    發(fā)表于 02-01 06:09

    汽車(chē)ECU編程是單片機(jī)C語(yǔ)言還是匯編語(yǔ)言?

    汽車(chē)ECU編程是單片機(jī)C語(yǔ)言嗎?還是匯編語(yǔ)言?
    發(fā)表于 01-26 06:08

    深度剖析汽車(chē)內(nèi)部結(jié)構(gòu)和原理

    很多人都想了解更多的汽車(chē)知識(shí),以加深對(duì)汽車(chē)的了解,只是無(wú)奈汽車(chē)結(jié)構(gòu)之復(fù)雜,機(jī)械知識(shí)之乏味,都一一放棄了。下面給大家準(zhǔn)備了一組圖解汽車(chē)文章,結(jié)合圖片
    的頭像 發(fā)表于 12-28 10:31 ?973次閱讀
    深度<b class='flag-5'>剖析</b><b class='flag-5'>汽車(chē)</b>內(nèi)部結(jié)構(gòu)和原理

    車(chē)規(guī)MCU的啟動(dòng)加載程序是什么

    啟動(dòng)加載程序bootloader) 車(chē)規(guī)MCU的啟動(dòng)加載程序bootloader)是一種用于在汽車(chē)電子控制單元(
    的頭像 發(fā)表于 10-27 17:26 ?1470次閱讀

    mm32-2nd-bootloader技術(shù)白皮書(shū)(5)——編譯可在QSPI Flash上運(yùn)行的程序

    mm32-2nd-bootloader技術(shù)白皮書(shū)(5)——編譯可在QSPI Flash上運(yùn)行的程序
    的頭像 發(fā)表于 10-24 16:14 ?420次閱讀
    mm32-2nd-<b class='flag-5'>bootloader</b>技術(shù)白皮書(shū)(5)——編譯可在QSPI Flash上運(yùn)行的<b class='flag-5'>程序</b>