概述
啟動(dòng)存儲(chǔ)器(Boot Memory)默認(rèn)是作為BOOT模式用來(lái)存放原廠固化的啟動(dòng)代碼。不過(guò),在具有AP mode系列產(chǎn)品上,添加了新功能,啟動(dòng)存儲(chǔ)器也可以選擇作為主存的擴(kuò)展區(qū)(AP模式)用來(lái)存放用戶自定義代碼。
注意:?jiǎn)?dòng)存儲(chǔ)器AP模式只能設(shè)置一次不可逆,設(shè)置后原啟動(dòng)存儲(chǔ)器BOOT模式功能不可恢復(fù)。
本應(yīng)用指南將介紹主存擴(kuò)展的使用范例,下面以AT32F415系列為例,其中:
章節(jié)2.1介紹使用Artery ICP Programmer將啟動(dòng)存儲(chǔ)器開(kāi)啟AP模式,作為主存擴(kuò)展的步驟。
章節(jié)2.2介紹項(xiàng)目run_in_boot_memmory在啟動(dòng)存儲(chǔ)器執(zhí)行應(yīng)用程序的示例。
例程放在BSP標(biāo)準(zhǔn)庫(kù)
utilitiesat32xx_boot_memmory_ap_demorun_in_boot_memmory目錄
范例程序
使用Artery ICP Programmer將啟動(dòng)存儲(chǔ)器作為主存擴(kuò)展使用
要使用ICP Programmer,請(qǐng)參照以下步驟:
連接J-Link或AT-Link仿真器到AT32F415并上電;
開(kāi)啟ICP programmer,選擇用J-Link或AT-Link做連接;
通過(guò)菜單欄:“設(shè)備操作”-“啟動(dòng)程序存儲(chǔ)區(qū)AP模式”,如下圖:
圖1. ICP操作界面
為防止誤操作,需按照提示手動(dòng)輸入啟用秘鑰0xA35F6D24,操作后“存儲(chǔ)器信息”表格中會(huì)有成功或失敗的提示信息。
關(guān)于ICP Programmer的詳細(xì)說(shuō)明,請(qǐng)參閱ICP Programmer用戶手冊(cè)。
run_in_boot_memmory:在啟動(dòng)存儲(chǔ)器執(zhí)行應(yīng)用程序
在此例程中,硬件從主存儲(chǔ)器啟動(dòng),主存儲(chǔ)器的代碼會(huì)從串口(USART1)輸出信息,啟動(dòng)存儲(chǔ)器中的代碼會(huì)初始化LED燈并讓LED2閃爍。要在啟動(dòng)存儲(chǔ)器執(zhí)行應(yīng)用程序,需對(duì)Keil進(jìn)行如下設(shè)置:
設(shè)置啟動(dòng)存儲(chǔ)器的起始位置及范圍。
圖2. 設(shè)置bootmem地址范圍到IROM2
范例程序把要載入啟動(dòng)存儲(chǔ)器的應(yīng)用代碼編寫(xiě)成單獨(dú)的c文件,范例中是把LED燈閃爍的相關(guān)代碼放在run_in_boot_memmory.c,右鍵點(diǎn)擊.c文件在Options選項(xiàng)中將地址編到IROM2。
圖3. 選擇配置c文件
圖4. 配置c文件編譯地址
編譯后查看分散加載描述文件(scatter file),可以看到目標(biāo)文件(object file) run_in_boot_memory.o放置到了啟動(dòng)存儲(chǔ)器。
圖5. 分散加載描述文件
添加啟動(dòng)存儲(chǔ)器flash算法。
圖6. FLASH算法文件添加
下載并運(yùn)行后可以看到對(duì)應(yīng)執(zhí)行結(jié)果LED閃爍。
來(lái)源:AT32 MCU 雅特力科技
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理
審核編輯 黃宇
-
mcu
+關(guān)注
關(guān)注
146文章
16885瀏覽量
349924 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7430瀏覽量
163518 -
AT32
+關(guān)注
關(guān)注
1文章
110瀏覽量
2058
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論