STM32 RVMDK JLINK下flash和RAM調試方法
flash 下調試方法:
本文引用地址:http://butianyuan.cn/article/201611/317056.htm1.打開要調試的工程,左欄工程上右擊options for target。進入debug中選擇jlink.
2. utility中選擇jlink.
3. 用JLINK連接PC和開發(fā)板,打開開發(fā)板電源。進入旁邊的settings,添加flash燒寫方法。
4。一路OK回去,rebuild,ctrl+F5進入調試,可以單步和斷點。根據ST公司的reference manual 2.3.3 embedded flash,知道flash的地址從0x0800 0000開始。在調試窗口中看到匯編的地址為0x0800開頭,說明代碼段燒進了flash。
SRAM下調試方法:
1. 將Keil安裝目錄下D:KeilARMBoardsKeilMCBSTM32STLIB_Blinky的ram.ini拷貝到需要調試的工程目錄下,并把需要載入的文件改為需調試工程AXF文件的位置和名稱,此處工程為GPIO。
2. 根據reference manual 2.3.1,SRAM的起始地址為0x2000 0000。要將代碼段放入SRAM中,必須設置程序只讀段從SRAM起始位置開始,一定長度(此處設置為0X4000)后,數據段RAM開始。注意兩端的長度不能超過SRAM的總大小。
3. 同flash下調試的步驟1和2,選擇jlink。
4. 在debug頁下添加ram.ini。
5. 選擇不要擦除flash,修改代碼段和數據段的位置和大小。
6. 一路OK,rebuild,ctrl+F5進入調試??梢詥尾?,step in和斷點??磪R編代碼的位置,以0x2000開頭,說明程序運行在SRAM中。
另外,查看工程目錄下的.sct文件,如下。
LR_IROM1 0x20000000 0x00004000 { ; load region size_region
ER_IROM1 0x20000000 0x00004000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x20004000 0x00004000 { ; RW data
.ANY (+RW +ZI)
}
}
說明的確已經把程序配置到SRAM空間。
評論