亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        網(wǎng)關(guān)控制器BootLoader系統(tǒng)設(shè)計(jì)

        2014-03-20 01:52:36徐建國(guó)楊玉柱
        關(guān)鍵詞:字節(jié)寄存器網(wǎng)關(guān)

        孫 瑞, 徐建國(guó), 馬 偉, 楊玉柱

        (上海采埃孚轉(zhuǎn)向系統(tǒng)有限公司, 上海 201821)

        在某款車(chē)用網(wǎng)關(guān)控制器的開(kāi)發(fā)過(guò)程中,為了方便實(shí)現(xiàn)網(wǎng)關(guān)控制器的實(shí)車(chē)調(diào)試和程序更新,需要設(shè)計(jì)出一種通過(guò)CAN總線即可刷寫(xiě)應(yīng)用程序的軟件.CAN(Controller Area Network)總線是一種主流的車(chē)用現(xiàn)場(chǎng)總線,具備標(biāo)準(zhǔn)化的通信格式,其信號(hào)傳輸?shù)膶?shí)時(shí)性、可靠性和準(zhǔn)確性等優(yōu)點(diǎn)使其獲得汽車(chē)行業(yè)內(nèi)的廣泛認(rèn)可.因此,CAN總線成為本文設(shè)計(jì)BootLoader系統(tǒng)的首選通信介質(zhì).在CAN總線協(xié)議與S19文件協(xié)議的基礎(chǔ)上,本文又引入了一個(gè)自定義的通信協(xié)議,以實(shí)現(xiàn)BootLoader與上位機(jī)之間的命令和狀態(tài)傳遞.該BootLoader系統(tǒng)簡(jiǎn)單、可靠,無(wú)需應(yīng)用程序本身做任何適應(yīng)性更改,因此同樣適用于以XET256為平臺(tái)的其他控制器開(kāi)發(fā)項(xiàng)目.

        1 BootLoader設(shè)計(jì)思路

        Bootloader稱(chēng)為系統(tǒng)的引導(dǎo)加載程序,是系統(tǒng)加電或復(fù)位后執(zhí)行的第一段代碼[1],其主要作用是實(shí)現(xiàn)應(yīng)用程序的更新以及引導(dǎo)應(yīng)用程序的執(zhí)行.基于這一基本思路,在設(shè)計(jì)BootLoader時(shí)首先要考慮的問(wèn)題是BootLoader與應(yīng)用程序在Flash中應(yīng)如何劃分,以保證二者所占用的存儲(chǔ)空間不能相互沖突.其次,控制器上電后,應(yīng)該首先執(zhí)行BootLoader,由BootLoader決定是進(jìn)行程序的更新還是進(jìn)入應(yīng)用程序執(zhí)行.然后,在控制器上電后,BootLoader開(kāi)始執(zhí)行時(shí),應(yīng)以操作員即上位機(jī)的指令為判斷依據(jù),來(lái)控制程序執(zhí)行的方向.在應(yīng)用程序刷寫(xiě)過(guò)程中,還應(yīng)對(duì)上位機(jī)的命令及命令執(zhí)行情況進(jìn)行反饋,以使操作員明確應(yīng)用程序是否成功更新.最后,BootLoader應(yīng)能夠根據(jù)規(guī)定好的協(xié)議,將通過(guò)CAN總線接收到的應(yīng)用程序數(shù)據(jù)準(zhǔn)確地寫(xiě)入.

        2 Flash與RAM劃分

        2.1 PRM中P-Flash與RAM劃分

        設(shè)計(jì)BootLoader時(shí)需充分考慮對(duì)ECU存儲(chǔ)器的分配[2],在飛思卡爾編譯器CodeWarrior中,程序和數(shù)據(jù)存儲(chǔ)空間的劃分工作是在prm文件中完成的.以關(guān)鍵字SEGMENTS和END為標(biāo)志.Flash存儲(chǔ)空間的關(guān)鍵字為READ_ONLY.

        XET256中P-Flash地址范圍為0x4000~0xFFFF[3].其中,0xFF0F~0xFFFF為中斷向量區(qū),0xFF00~0xFF0E為Flash配置區(qū),主要用于P-Flash寫(xiě)保護(hù)等功能.剩下的地址范圍0x4000~0xFEFF開(kāi)放給用戶,用于存儲(chǔ)用戶程序代碼.受限于16位尋址能力,P-Flash被分為非分頁(yè)區(qū)(unpagedFlash)和分頁(yè)區(qū)(paged Flash).非分頁(yè)區(qū)(0x4000~0x7FFF與0xC000~0xFFFF)可直接用16位地址尋址.而分頁(yè)區(qū)(0x8000~0xBFFF)則必須用24位地址尋址.

        為了給網(wǎng)關(guān)控制器應(yīng)用程序提供更多的代碼空間,以及便于實(shí)現(xiàn)BootLoader寫(xiě)保護(hù)等目的,將BootLoader程序安排在從0xFEFF開(kāi)始往上數(shù)的一段區(qū)域,其大小可根據(jù)具體代碼量調(diào)整,本文將其定義為3.75K,即地址范圍為0xF000~0xFEFF.

        在對(duì)P-Flash擦除與寫(xiě)入操作的時(shí)候,不允許同時(shí)對(duì)其進(jìn)行讀取,否則可能導(dǎo)致Flash的損壞[4].本著這一原則,對(duì)Flash的擦除、寫(xiě)入以及CAN中斷信號(hào)的處理代碼,應(yīng)復(fù)制到RAM中運(yùn)行.這一功能可通過(guò)關(guān)鍵字RELOCATE_TO實(shí)現(xiàn).因此,在劃分Flash的同時(shí)也應(yīng)對(duì)RAM進(jìn)行劃分,以實(shí)現(xiàn)這一功能.定義RAM的關(guān)鍵字為READ_WRITE.P-Flash與RAM的實(shí)際劃分如圖1和圖2所示.

        圖1 P-Flash劃分圖

        圖2 RAM劃分圖

        2.2 全局地址表示方式

        如前所述,非分頁(yè)區(qū)Flash的地址唯一,可直接采用16位邏輯地址進(jìn)行尋址.但0x8000~0xBFFF這一分頁(yè)區(qū)共由14頁(yè)組成,具體尋址到哪一頁(yè)取決于PPAGE寄存器.其地址變?yōu)榱?位頁(yè)地址加16位具體地址,即24位地址.如PPAGE寄存器的默認(rèn)值為0xFE,則邏輯地址0xFE_8000表示0xFE這一頁(yè)的0x8000地址.

        由于存在以上地址表示方式的不同(16位與24位),在對(duì)Flash進(jìn)行擦寫(xiě)時(shí),如果直接采用邏輯地址,不僅關(guān)系復(fù)雜,而且容易出錯(cuò).而采用全局地址,可使表示方式單一,容易尋址.所謂全局地址是由頁(yè)寄存器PPAGE的值以及邏輯地址按一定關(guān)系組成的24位地址.這種表示方式使得Flash存儲(chǔ)單元的地址線性且唯一,便于操作.邏輯地址轉(zhuǎn)換為全局地址的關(guān)系式為

        GA=0x400000|((((dword)(PA))<<14)|

        (LA&0x3FFF))

        (1)

        式中,LA表示邏輯地址,PA表示PPAGE寄存器值,GA表示全局地址.當(dāng)邏輯地址位于0x4000~0x7FFF時(shí),PA的值為0xFD;當(dāng)邏輯地址位于0xC000~0xFFFF時(shí),PA的值為0xFF;當(dāng)邏輯地址位于分頁(yè)區(qū)時(shí),PA的值取決于具體頁(yè),默認(rèn)值為0xFE.

        采用全局地址后,F(xiàn)lash在全局地址表示方式下的劃分如圖3所示.由于劃分Flash時(shí)只需關(guān)注分界線,因此,在prm文件中,依然采用邏輯地址進(jìn)行劃分.從圖3可以看出,XET256的256K Flash是由不連續(xù)的兩個(gè)Block(0/1)組成的,每一個(gè)Block為128K.

        圖3 全局地址表示下的Flash劃分

        3 中斷地址分配

        飛思卡爾16位單片機(jī)在復(fù)位后總是從優(yōu)先級(jí)最高的中斷向量地址0xFFFE處取第一條執(zhí)行指令[4].因此,BootLoader可執(zhí)行代碼的首地址應(yīng)安排在此處,以保證上電后BootLoader的首先執(zhí)行.這可以通過(guò)在prm文件中定義VECTOR 0來(lái)實(shí)現(xiàn),即將VECTOR 0定義為BootLoader程序的入口地址.然而,網(wǎng)關(guān)應(yīng)用程序在編寫(xiě)時(shí)也會(huì)對(duì)VECTOR 0進(jìn)行定義,以實(shí)現(xiàn)在單片機(jī)上電后直接執(zhí)行應(yīng)用程序的目的.由于存在這一中斷資源沖突,因此,BootLoader在刷寫(xiě)時(shí)需要對(duì)網(wǎng)關(guān)應(yīng)用程序的中斷向量表進(jìn)行重新分配.

        默認(rèn)情況下,XET256的中斷向量表位于0xFF0F~0xFFFF區(qū)間[3].這一特性是由中斷向量基址寄存器IVBR在上電后總是默認(rèn)為0xFF所確定的.一條可執(zhí)行的中斷向量地址是由基址(IVBR寄存器的值)加偏移組成的.如復(fù)位中斷向量地址0xFFFE,即表示IVBR的值為0xFF,該中斷向量的偏移為0xFE.在一款特定的單片機(jī)中,任一硬件中斷向量相對(duì)于基址的偏移總是確定的.因此,通過(guò)改變IVBR寄存器的值,即可實(shí)現(xiàn)中斷向量表的更改.本文設(shè)計(jì)的BootLoader在引導(dǎo)進(jìn)入應(yīng)用程序之前將應(yīng)用程序中斷向量表基址IVBR更改為0xEF,即經(jīng)過(guò)BootLoader重新分配后,應(yīng)用程序中斷向量表位于0xEF0F~0xEFFF.在刷寫(xiě)應(yīng)用程序時(shí),若BootLoader檢測(cè)到地址為0xFF0F~0xFFFF的代碼數(shù)據(jù),則將其地址更改為0xEF0F~0xEFFF,然后在新的地址上將數(shù)據(jù)寫(xiě)入.由于存在這一安排,應(yīng)用程序非中斷向量代碼的存儲(chǔ)不得位于0xEF0F以下,這也是本文設(shè)計(jì)的BootLoader對(duì)應(yīng)用程序的唯一要求.

        在對(duì)P-Flash進(jìn)行擦除與寫(xiě)入的過(guò)程中,所使用的硬件資源CAN通道依然在進(jìn)行正常工作,當(dāng)其接收到有效數(shù)據(jù)后,即可使單片機(jī)自行進(jìn)入中斷處理服務(wù).單片機(jī)將從所選CAN通道的中斷服務(wù)地址處讀取CAN中斷服務(wù)代碼的首地址.如前所述,P-Flash在擦除過(guò)程中不允許對(duì)其進(jìn)行讀取,因此,這種由CAN通道中斷所導(dǎo)致的操作應(yīng)加以避免.本設(shè)計(jì)采取的解決方案是BootLoader進(jìn)入刷寫(xiě)程序后,在擦除與寫(xiě)入P-Flash之前將中斷向量表更改至RAM中.本文將IVBR更改為0x3F,即在BootLoader執(zhí)行刷寫(xiě)程序時(shí),實(shí)際中斷向量表為0x3F00~0x3FF0.

        4 應(yīng)用程序更新

        4.1 通信協(xié)議

        為實(shí)現(xiàn)BootLoader與上位機(jī)之間的命令和狀態(tài)傳輸,本文在標(biāo)準(zhǔn)的CAN協(xié)議基礎(chǔ)上,定義了一套簡(jiǎn)單的通信協(xié)議.該協(xié)議中所使用的命令和狀態(tài)均以報(bào)文ID表示,即每一個(gè)ID代表一個(gè)特定的命令或狀態(tài).根據(jù)本文所涉及項(xiàng)目的相關(guān)要求,刷寫(xiě)過(guò)程中使用的報(bào)文ID不能與整車(chē)網(wǎng)絡(luò)中其他節(jié)點(diǎn)用到的ID相同,因此本協(xié)議報(bào)文ID的選擇范圍為0x500~0x5FF.具體選擇報(bào)文ID及協(xié)議見(jiàn)表1.

        表1通信協(xié)議表

        4.2 應(yīng)用程序更新流程

        在系統(tǒng)上電后,BootLoader將初始化堆棧、配置系統(tǒng)時(shí)鐘,并初始化所選CAN通道.當(dāng)CAN通道正常工作后,BootLoader將等待20ms,如果在這段時(shí)間內(nèi)接收到上位機(jī)進(jìn)入刷寫(xiě)程序的指令或檢測(cè)到應(yīng)用程序不存在,則執(zhí)行應(yīng)用程序更新操作;否則,跳轉(zhuǎn)至應(yīng)用程序執(zhí)行.如直接跳轉(zhuǎn)至應(yīng)用程序執(zhí)行,則應(yīng)首先配置中斷寄存器基址,然后,將單片機(jī)指針更改為應(yīng)用程序復(fù)位向量地址,本文設(shè)計(jì)為0xEFFE.采用這一策略無(wú)需應(yīng)用程序配合,但要求操作員如需更新應(yīng)用程序,則應(yīng)在系統(tǒng)上電前將上位機(jī)啟動(dòng),以保證BootLoader能接收到相應(yīng)指令.BootLoader工作流程如圖4所示.

        圖4 BootLoader工作流程圖

        若執(zhí)行應(yīng)用程序更新操作,首先應(yīng)配置P-Flash時(shí)鐘,使其工作頻率為用戶手冊(cè)推薦的0.8~1.05MHz[3],這可以通過(guò)設(shè)置FCLKDIV寄存器的值來(lái)實(shí)現(xiàn).P-Flash的時(shí)鐘源為外部晶振,本文所選的外部晶振頻率為16MHz,查用戶手冊(cè)將FCLKDIV寄存器的值設(shè)置為0x0F.然后,將P-Flash中定義好的BootLoader擦/寫(xiě)/中斷處理代碼拷貝至RAM中劃分好的區(qū)間0x3D00~0x3EFF處.接著,將中斷向量表配置到RAM中.當(dāng)所有BootLoader更新應(yīng)用程序所需的環(huán)境都準(zhǔn)備好后,就可以對(duì)P-Flash進(jìn)行擦除與寫(xiě)入操作.應(yīng)用程序更新操作流程圖如圖5所示.

        圖5 應(yīng)用程序更新流程圖

        4.3 應(yīng)用程序擦除

        應(yīng)用程序擦除代碼存儲(chǔ)在P-Flash中,在執(zhí)行時(shí)拷貝到RAM中執(zhí)行.XET256支持將P-Flash以Sector(每個(gè)Sector的大小為1K)和Block為單位進(jìn)行擦除.對(duì)于Block1(0x78_0000~0x79_FFFF)可按Block為單位整體擦除.而對(duì)于Block0應(yīng)只擦除屬于應(yīng)用程序的部分,即0x7E_0000~0x7F_EFFF的區(qū)間,此處應(yīng)以Sector為單位進(jìn)行擦除.擦除過(guò)程如圖6所示,首先等待其它Flash命令執(zhí)行完畢,然后清除Flash狀態(tài)寄存器中的故障碼,之后即可通過(guò)配置Flash控制寄存器FCCOB的值來(lái)選擇擦除命令與擦除區(qū)域.

        圖6 應(yīng)用程序擦除操作

        Flash控制寄存器FCCOB由6個(gè)字組成,通過(guò)選擇寄存器FCCOBIX可分別對(duì)6個(gè)字進(jìn)行配置[3].其中,F(xiàn)CCOB第1個(gè)字的高8位代表具體Flash命令,如0x09表示執(zhí)行按Block擦除命令;0x0A表示執(zhí)行按Sector擦除命令;0x06表示寫(xiě)Flash命令.FCCOB第1個(gè)字的低8位代表全局地址的高8位.FCCOB第2個(gè)字表示全局地址的低16位.FCCOB的第3到第6個(gè)字則用于存放需要寫(xiě)入的數(shù)據(jù),擦除操作時(shí)不需要,但執(zhí)行寫(xiě)入操作時(shí)需要.Flash控制寄存器配置好后,即可通過(guò)將Flash狀態(tài)寄存器的最高位寫(xiě)1來(lái)執(zhí)行FCCOB中存儲(chǔ)的命令和數(shù)據(jù).之后,利用Flash狀態(tài)寄存器來(lái)判斷操作是否成功執(zhí)行完畢.

        4.4 應(yīng)用程序?qū)懭?/h3>

        BootLoader成功將P-Flash擦除后,即向上位機(jī)發(fā)送成功擦除信號(hào),通知上位機(jī)發(fā)送新的應(yīng)用程序數(shù)據(jù).上位機(jī)傳輸給BootLoader的數(shù)據(jù)格式采用S19文件協(xié)議,而且每一個(gè)地址或數(shù)據(jù)等信息均以字符的形式發(fā)送.

        4.4.1 S19協(xié)議解析

        S19文件是飛思卡爾推薦使用的標(biāo)準(zhǔn)程序下載文件,該文件格式由記錄類(lèi)型、記錄長(zhǎng)度、存儲(chǔ)地址、代碼數(shù)據(jù)和校驗(yàn)碼5個(gè)部分組成[5].S19文件的每一行總是以“S”開(kāi)始,其后的一位數(shù)字表示該行記錄的類(lèi)型.如S0表示該行記錄為說(shuō)明性信息,非程序數(shù)據(jù);S1表示該行記錄為程序數(shù)據(jù)且地址為16位地址,S2則表示該行記錄為程序數(shù)據(jù)且地址為24位地址;S9表示該行為整個(gè)S19文件的結(jié)束行.由于本文在擦、寫(xiě)時(shí)采用全局地址,所以經(jīng)式(1)轉(zhuǎn)化后的S19文件只包括S0、S2和S9.記錄類(lèi)型之后的一個(gè)字節(jié)表示其后該行記錄所包含的字節(jié)長(zhǎng)度.緊接著的3個(gè)字節(jié)表示目標(biāo)地址,之后是寫(xiě)入目標(biāo)地址的數(shù)據(jù).最后一個(gè)字節(jié)為該行記錄的校驗(yàn)碼,校驗(yàn)碼加代表信息長(zhǎng)度、目標(biāo)地址、寫(xiě)入目標(biāo)地址數(shù)據(jù)的所有字節(jié)的和為0xFF.

        BootLoader通過(guò)CAN中斷接收到ID為0x50F的S19數(shù)據(jù)幀后,會(huì)將數(shù)據(jù)依次存入指定緩存中,然后周期性地對(duì)緩存數(shù)據(jù)進(jìn)行組織和解析.由于上位機(jī)發(fā)過(guò)來(lái)的數(shù)據(jù)全部為字符的形式,因此,首先應(yīng)將字符轉(zhuǎn)化為16進(jìn)制數(shù),然后整理成以字節(jié)為單位的有效數(shù)據(jù).如在解析信息長(zhǎng)度時(shí),應(yīng)連續(xù)讀取兩個(gè)字符,將其分別轉(zhuǎn)化為16進(jìn)制數(shù)后,第1個(gè)數(shù)左移4位加第2個(gè)數(shù),這樣即可整理為一個(gè)有效的字節(jié)數(shù)據(jù).

        在對(duì)S19文件進(jìn)行解析時(shí),首先判斷接收到的第一個(gè)字節(jié)是否為'S'以及第二個(gè)字節(jié)是否為'0'、'2'或'9',如果不符合則舍棄該條信息.若符合則開(kāi)始對(duì)信息長(zhǎng)度、地址、數(shù)據(jù)和校驗(yàn)碼的解析,然后按照S19協(xié)議對(duì)校驗(yàn)碼進(jìn)行校驗(yàn),如果校驗(yàn)結(jié)果為有效則將目標(biāo)地址、寫(xiě)入目標(biāo)地址的數(shù)據(jù)放到相應(yīng)的緩存中.至此,一條S19信息被成功解析.

        4.4.2 P-Flash數(shù)據(jù)寫(xiě)入

        當(dāng)一條有效的S19信息被接收并成功解析后,還應(yīng)對(duì)該信息做進(jìn)一步判斷.如果接收的是S9或接收過(guò)程中有錯(cuò)誤,則直接退出數(shù)據(jù)寫(xiě)入程序;如果是S0,則予以忽略;如果是S2,則按照解析出的目標(biāo)地址,將程序數(shù)據(jù)寫(xiě)入.

        在數(shù)據(jù)寫(xiě)入之前,應(yīng)對(duì)目標(biāo)地址進(jìn)行判斷.若目標(biāo)地址位于中斷向量區(qū),則首先按第3節(jié)所述對(duì)其進(jìn)行更改,然后再執(zhí)行數(shù)據(jù)寫(xiě)入程序;若目標(biāo)地址不位于中斷向量區(qū),但超出了第2節(jié)所規(guī)定的應(yīng)用程序區(qū)域,則拒絕執(zhí)行寫(xiě)入程序.

        Codewarrior編譯器生成的S19文件連續(xù)地址之差為32的整數(shù)倍,即每一條S19信息涵蓋32個(gè)字節(jié)的P-Flash數(shù)據(jù)信息,即使轉(zhuǎn)化成全局地址后,這一規(guī)則依然不變.FCCOB寄存器中有4個(gè)字,即8個(gè)字節(jié)用于存放程序數(shù)據(jù).因此,每一條S19信息中的數(shù)據(jù)可以分4次寫(xiě)入,每一次的寫(xiě)入方法如4.3所述.

        5 上位機(jī)設(shè)計(jì)

        BootLoader系統(tǒng)中的上位機(jī)基于Labview開(kāi)發(fā),其基本工作原理是:首先讀取S19文件,然后按行將S19文件中的十六進(jìn)制數(shù)轉(zhuǎn)換為相應(yīng)的字符串?dāng)?shù)組,并補(bǔ)以行結(jié)束符.整合好的字符串?dāng)?shù)組會(huì)以8個(gè)字符為一組通過(guò)PEAK CAN工具轉(zhuǎn)成CAN信號(hào)發(fā)送給網(wǎng)關(guān)控制器(最后一次不足8個(gè)的字符串發(fā)送實(shí)際字符長(zhǎng)度).

        由于本文設(shè)計(jì)的BootLoader系統(tǒng)無(wú)需應(yīng)用程序做適應(yīng)性更改,因此,上位機(jī)必須在跳轉(zhuǎn)到應(yīng)用程序之前啟動(dòng).上位機(jī)啟動(dòng)后即向網(wǎng)關(guān)控制器發(fā)送握手指令,若后者沒(méi)有反饋,上位機(jī)將連續(xù)10s發(fā)送該指令.這一策略要求操作員應(yīng)在啟動(dòng)上位機(jī)后10s內(nèi)將網(wǎng)關(guān)控制器上電或復(fù)位.若BootLoader接收到握手指令,并成功進(jìn)行反饋,上位機(jī)將退出握手環(huán)節(jié),并進(jìn)入等待刷寫(xiě)環(huán)節(jié).握手成功后,BootLoader將自行進(jìn)入環(huán)境配置及擦除P-Flash過(guò)程,擦除成功后將向上位機(jī)發(fā)送擦除成功信號(hào).上位機(jī)接收到該信號(hào)即退出等待,逐條發(fā)送S19文件.BootLoader接收并解析S19文件,寫(xiě)入成功后向上位機(jī)發(fā)送寫(xiě)入成功信號(hào).若上位機(jī)在發(fā)送完最后一條S19信息后一段時(shí)間內(nèi)沒(méi)有接收到寫(xiě)入成功信號(hào),則默認(rèn)為本次程序更新失敗.程序更新成功后,需操作員手動(dòng)復(fù)位網(wǎng)關(guān)控制器,從而執(zhí)行新的應(yīng)用程序.整個(gè)操作過(guò)程及系統(tǒng)狀態(tài)均會(huì)在上位機(jī)中實(shí)時(shí)顯示.BootLoader系統(tǒng)上位機(jī)工作流程如圖7所示.

        圖7 BootLoader系統(tǒng)上位機(jī)工作流程

        6 結(jié)束語(yǔ)

        本文設(shè)計(jì)的BootLoader系統(tǒng)幾乎無(wú)需應(yīng)用程序做任何適應(yīng)性更改,因此可直接在其他以XET256為平臺(tái)的產(chǎn)品上運(yùn)行.試驗(yàn)證明,該系統(tǒng)操作方便、實(shí)現(xiàn)簡(jiǎn)單、運(yùn)行可靠,能夠正確地實(shí)現(xiàn)網(wǎng)關(guān)應(yīng)用程序更新,從而大大方便了網(wǎng)關(guān)控制器的實(shí)車(chē)調(diào)試,加快了項(xiàng)目進(jìn)度.

        [1] 王伏,張忠能,杭勇.基于CAN總線的電控單元程序引導(dǎo)加載功能開(kāi)發(fā)[J].微型電腦應(yīng)用,2011,27(2):30-32.

        [2] 奚英澤,于健楠,徐鳳.基于飛思卡爾MPC5634M單片機(jī)的Bootloader設(shè)計(jì)[C]//中國(guó)汽車(chē)工程學(xué)會(huì).2013中國(guó)汽車(chē)工程學(xué)會(huì)年會(huì)論文集.北京:中國(guó)學(xué)術(shù)期刊電子出版社,2013:566-569.

        [3] Freescale.MC9S12XEP100RMV1(1.25)[M/OL].(2013-02)[2014-03-28]. http://www.freescale.com/files/microcontrollers/doc/data sheet/MC9S12XEP100RMV1.pdf.

        [4] 羅峰,孫澤昌.汽車(chē)CAN總線系統(tǒng)原理、設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,2010.

        [5] 張夕杰,李清政,王喬.MPC5534單片機(jī)在線程序更新系統(tǒng)研制[J].國(guó)外電子測(cè)量技術(shù),2013(12):49-52.

        猜你喜歡
        字節(jié)寄存器網(wǎng)關(guān)
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
        簡(jiǎn)談MC7字節(jié)碼
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
        應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
        一種實(shí)時(shí)高效的伺服控制網(wǎng)關(guān)設(shè)計(jì)
        高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
        亚洲精品99久91在线| 久久欧美与黑人双交男男| 成人a在线观看| 一区二区三区四区四色av| 人妻少妇精品视频一区二区三区l| 最新日本一道免费一区二区| 激情偷乱人伦小说视频在线| 超碰观看| 北条麻妃在线中文字幕| 又色又爽又高潮免费视频国产| 日本黄页网站免费大全| 日韩中文字幕无码av| 婷婷丁香开心五月综合| 日本午夜精品一区二区三区电影 | 国产99久久精品一区| 97成人精品视频在线| 狠狠噜天天噜日日噜无码| 国产精品片211在线观看| 国内精品伊人久久久久影院对白 | 一本色道久久综合中文字幕| 亚洲不卡免费观看av一区二区| 亚洲中文字幕精品乱码2021| 精品少妇人妻av无码专区| 精品无码AⅤ片| 亚洲精品综合久久中文字幕| 小雪好紧好滑好湿好爽视频| 熟妇人妻无码中文字幕| 8090成人午夜精品无码| 日本a级黄片免费观看| 亚洲精品乱码久久久久久不卡 | 亚洲人成精品久久久久| 久久久久国色av∨免费看| 久久久精品亚洲懂色av| 久久九九精品国产av| 国产精品三级在线观看无码| 亚洲色图综合免费视频| 精品婷婷国产综合久久| 亚洲日韩av一区二区三区中文| 亚洲午夜精品久久久久久一区| 午夜黄色一区二区不卡| 亚洲精品乱码久久久久蜜桃|