CAN引導(dǎo)加載程序可通過CAN接口對MAXQ7665A微控制器進(jìn)行編程。引導(dǎo)加載程序還可幫助設(shè)計(jì)人員更新/修改已在現(xiàn)場部署的產(chǎn)品的用戶應(yīng)用程序代碼。
CAN引導(dǎo)加載程序提供了一種寫入、讀取和擦除程序閃存的預(yù)定義部分的方法,該部分通常保存用戶應(yīng)用程序代碼。用戶應(yīng)用代碼位于MAXQ0A的4000x0至7x7665FFF處。
兩個(gè)單獨(dú)編譯的模塊,CAN引導(dǎo)加載程序和用戶應(yīng)用程序代碼,在MAXQ程序存儲(chǔ)器中運(yùn)行。這些代碼段是單獨(dú)存在的,彼此完全未知。這些模塊通過已知的內(nèi)存空間相互通信。?
本應(yīng)用筆記的讀者應(yīng)該熟悉MAXQ7665A處理器(64kB程序閃存)、CAN控制器和用于MAXQ的IAR嵌入式工作臺(tái)。
MAXQ7665A的CAN引導(dǎo)加載程序代碼和用戶應(yīng)用代碼示例(ZIP)均提供。
MAXQ7665A CAN引導(dǎo)加載程序
與IAR cstartup模塊一樣,CAN引導(dǎo)加載程序通過JTAG端口構(gòu)建并加載到程序存儲(chǔ)器的下部0x0000。此代碼在位置0x55FFF地址處搜索標(biāo)志值 0x7AB。如果代碼找到該標(biāo)志,CAN引導(dǎo)加載程序?qū)⒃?x4000跳轉(zhuǎn)到用戶應(yīng)用程序代碼。如果未找到此標(biāo)志,CAN引導(dǎo)加載程序?qū)⒄{(diào)用函數(shù)enter_loader( )并等待傳入的CAN報(bào)文。
此時(shí),全局中斷被禁用,因?yàn)樵诖a初始化期間清除了IC(中斷和控制)寄存器中的IGE位。因此,CAN引導(dǎo)加載程序輪詢IIR(中斷識別)寄存器和本地CAN標(biāo)志以處理任何傳入的消息。CAN 引導(dǎo)加載程序使用消息中心 1 來處理傳入消息;消息中心 2 用于處理傳出消息。(有關(guān)這些特定命令,請參閱附錄 A 中的 CAN 引導(dǎo)加載程序協(xié)議。
接下來的幾個(gè)步驟解釋了CAN引導(dǎo)加載程序和用戶代碼的加載順序。還顯示了CAN引導(dǎo)加載程序的操作和用戶代碼。
步驟1:將CAN引導(dǎo)加載程序加載到程序存儲(chǔ)器的下部(圖1)。
圖1.CAN引導(dǎo)加載程序通過JTAG端口加載。
使用CAN引導(dǎo)加載程序在MAXQ7665A中加載用戶應(yīng)用代碼
修改 IAR 鏈接器文件 (.xcl) 和 IAR cstartup 模塊,以便用戶應(yīng)用程序代碼駐留在地址 0x4000 并從地址執(zhí)行。Maxim在此處提供了修改后的鏈接器和修改后的cstartup文件(ZIP)。CAN引導(dǎo)加載程序加載用戶應(yīng)用程序代碼,之后主機(jī)系統(tǒng)發(fā)送“加載完成”命令(0x07)。當(dāng)CAN引導(dǎo)加載程序收到加載完成命令時(shí),它會(huì)將0x55AB置于代碼空間中的0x7FFF。
步驟 2:加載用戶應(yīng)用程序代碼(圖 2)。
圖2.用戶應(yīng)用程序代碼現(xiàn)在通過CAN引導(dǎo)加載程序加載。CAN引導(dǎo)加載程序檢查0x7FFF(字)地址的有效標(biāo)志:(0x55AB)。如果該標(biāo)志無效,CAN引導(dǎo)加載程序代碼將循環(huán)并等待傳入消息。收到有效消息后,CAN引導(dǎo)加載程序會(huì)響應(yīng)一條消息。在此狀態(tài)下,可以在0x4000加載用戶應(yīng)用程序代碼。
步驟 3:重置后,用戶應(yīng)用程序最終加載并運(yùn)行(圖 3)。
圖3.CAN引導(dǎo)加載程序檢查0x7FFF(字)地址的有效標(biāo)志:0x55AB。如果該標(biāo)志有效,則代碼將跳轉(zhuǎn)到0x4000以運(yùn)行用戶應(yīng)用程序代碼。
重新加載/更新用戶應(yīng)用程序代碼
可能需要將新的用戶應(yīng)用代碼重新加載/更新到MAXQ7665A中。為了適應(yīng)這種情況,可以通過調(diào)用函數(shù) EnterLoader( ) 從用戶應(yīng)用程序代碼中輸入 CAN 引導(dǎo)加載程序。此時(shí),CAN引導(dǎo)加載程序等待CAN報(bào)文。圖 4 說明了該過程。
圖4.流程圖顯示了當(dāng)有效標(biāo)志0x55AB設(shè)置為0x7FFF字節(jié)地址時(shí)如何調(diào)用CAN引導(dǎo)加載程序。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7542瀏覽量
151311 -
處理器
+關(guān)注
關(guān)注
68文章
19259瀏覽量
229649 -
控制器
+關(guān)注
關(guān)注
112文章
16332瀏覽量
177803
發(fā)布評論請先 登錄
相關(guān)推薦
評論