標(biāo)題: stm32 51讓單片機(jī)項(xiàng)目運(yùn)行在內(nèi)存中 [打印本頁(yè)]

作者: automation007    時(shí)間: 2022-2-28 16:58
標(biāo)題: stm32 51讓單片機(jī)項(xiàng)目運(yùn)行在內(nèi)存中
stm32 51讓單片機(jī)項(xiàng)目運(yùn)行在內(nèi)存中  stm32 51讓單片機(jī)項(xiàng)目運(yùn)行在內(nèi)存中
注意:
    RAM要查詢芯片手冊(cè),找到其容量,而工程固件(hex)文件不要大于RAM的容量。。。

1 三種啟動(dòng)模式,根據(jù)說(shuō)明配置相應(yīng)引腳的電平。 2
2 Project manager 里面增加一個(gè)編譯目標(biāo)選項(xiàng) 2
3 選擇編譯目標(biāo)選項(xiàng)3
4 進(jìn)行內(nèi)存配置4
41 Output 配置: 5
5 添加宏定義 VECT_TAB_SRAM(中斷向量搬移到 SRAM)/逗號(hào)要加上。6
6 勾選相關(guān)選項(xiàng)7
7 debug 頁(yè)面勾選 Load Application at Startup(如果取消勾選此選項(xiàng)則 Debug 時(shí)打斷點(diǎn)無(wú)效,即 不能真正的仿真調(diào)試,建議勾選)并在 Initialization File 添加文件8
71 注意 9
72 Debug 選項(xiàng)的其它默認(rèn)配置:10
8 程序下載相關(guān)配置12
9 Utilities 頁(yè)面,勾選 Update Target before Debugging。 13
91 注意 14
10 保存工程14
11 編譯工程(0 錯(cuò)誤 0 警告) 15
12 板子和電腦用 ST-Link v2 連接好 16
13 首次上電使用需下載程序到板子上(顯示 ok) 16
14 進(jìn)入 DeBug 17
15 效果 18
16 調(diào)試完成而最終產(chǎn)品定型時(shí)---把引腳轉(zhuǎn)換成 FLASH 啟動(dòng)及相關(guān)配置 20


1.  三種啟動(dòng)模式,根據(jù)說(shuō)明配置相應(yīng)引腳的電平。(這里選擇 SRAM 即 RAM 啟動(dòng)需 BOOT0
和 BOOT1 皆為高電平/記得加電阻限流)




2.
Projectmanager里面增加一個(gè)編譯目標(biāo)選項(xiàng)







































3.
選擇編譯目標(biāo)選項(xiàng)




4.
進(jìn)行內(nèi)存配置




4
.1Output配置:




5.
添加宏定義 VECT_TAB_SRAM(中斷向量搬移到SRAM)/逗號(hào)要加上。




6.
勾選相關(guān)選項(xiàng)



7.debug頁(yè)面勾選 LoadApplicationatStartup(如果取消勾選此選項(xiàng)則 Debug時(shí)打斷點(diǎn)無(wú)效,

即不能真正的仿真調(diào)試,建議勾選)并在 InitializationFile添加文件
文件內(nèi)容如下:


FUNC void Setup (void) { SP = _RDWORD(0x20000000); //設(shè)置堆棧指針 PC =
_RDWORD(0x20000004); //設(shè)置 PC 指針 _WDWORD(0xE000ED08, 0x20000000); //設(shè)置
中斷向量表地址 } //工程配置選項(xiàng)請(qǐng)勾選"Load Application arStartup"


LOAD              ..\Objects\led.axf              INCREMENTAL             // 裝 載 代 碼 到              CPU              內(nèi) 部
RAM(Objects\led.axf 自己工程的路徑和文件名) Setup(); //再調(diào)用 Setup 函數(shù)修改
堆棧指針和 PC 指針 因?yàn)?SP 的值要從目標(biāo)代碼中讀取 g, main //運(yùn)行到 main 函數(shù)

文件里面的 Objects\led.axf 需要更換成你的編譯輸出目錄和文件名,參考第 4 步 Output 配置部分。




7
.1注意:如若取消勾選 LoadApplicationatStartup選項(xiàng)則 debug時(shí)打的斷點(diǎn)將失去作用。



7.2 Debug 選項(xiàng)的其它默認(rèn)配置:





8.
程序下載相關(guān)配置


9.Utilities頁(yè)面,勾選 UpdateTargetbeforeDebugging。




9.1注意:如若不勾選 Update Target before Debugging 則每次更改完程序后要重新下載程序到

芯片內(nèi)才能使用 DEBUG 調(diào)試。






































10.保存工程




11.
編譯工程(0錯(cuò)誤 0警告)


12.板子和電腦用 ST-Linkv2連接好










































13.首次上電使用需下載程序到板子上(顯示 ok)



首次上電使用需下載。若勾選了 Update Targetbefore Debugging(第 9 步)中途更改過(guò)代碼但沒(méi) 斷過(guò)電源則無(wú)需下載亦能 debug








































14.進(jìn)入 DeBug































1
5.效果(成功了,當(dāng)把電源拔掉時(shí)數(shù)據(jù)丟失,即成功把程序下載到 SRAM中運(yùn) 行了,調(diào)試時(shí)應(yīng)該多使用此方法以減少燒錄 flash的次數(shù) 延長(zhǎng)芯片 flash的壽 命的效果。當(dāng)調(diào)試完成而最終產(chǎn)品定型時(shí)記得把引腳轉(zhuǎn)換成 FLASH啟動(dòng)...)




16.調(diào)試完成而最終產(chǎn)品定型時(shí)---把引腳轉(zhuǎn)換成FLASH啟動(dòng)及相關(guān)配置...






以上圖文的pdf格式文檔下載(內(nèi)容和本網(wǎng)頁(yè)上的一模一樣,方便大家保存):
本文的pdf格式.pdf (2.94 MB, 下載次數(shù): 9)






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1