上次发帖是将生产的bin文件放置到板子的U盘(NUCLEO)中,能够形象的观察现象,且下载方便。不过发现调试不方便。在调试USART中断收发的过程中发现直接将程序下载到rom中,会影响寿命。于是就有了将程序下载到ram中的想法。 使用的芯片是:stm32f072rbt6 具有128KB FLASH,16KB SRAM 想将程序下载到这16KB的SRAM中。16KB = 0x4000; 我把这0x4000中的0x0--0x1FFF存放程序 0x2000--0x3FFF用作RAM 这样调试的时候就可以无限次使用而不用担心寿命问题了。 还有一个文件是必须的ram.ini FUNC void Setup (void) { SP = _RDWORD(0x20000000); // Setup Stack Pointer PC = _RDWORD(0x20000004); // Setup Program Counter _WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register } LOAD RAM\STM32F072RB-Nucleo.axf INCREMENTAL // Download Setup(); // Setup for Running g, main 解释:RAM\STM32F072RB-Nucleo.axf是将output生成的放置到了ram文件夹下,STM32F072RB-Nucleo是生成的文件名。 |
共同学习!
在我的板子上是正常的,你试试,有问题咱们交流。
rs232.zip
2015-1-6 20:53 上传
点击文件名下载附件
下载积分: ST金币 -11.1 MB, 下载次数: 19, 下载积分: ST金币 -1
对不起,需要更正一下,CORTEX-M0的The vector table is fixed at address 0x00000000。所以不能像CORTEX-M3那样将异常向量表偏移。
FUNC void Setup (void) {
SP = _RDWORD(0x20000000); // Setup Stack Pointer
PC = _RDWORD(0x20000004); // Setup Program Counter
_WDWORD(0x40010000, _RDWORD(0x40010000) | 0x3); // Set MEM_MODE to SRAM
}
LOAD ram\rs232.axf INCREMENTAL // Download
Setup(); // Setup for Running
g, main
rs232_funy.zip
2015-1-7 11:29 上传
点击文件名下载附件
下载积分: ST金币 -1692.62 KB, 下载次数: 8, 下载积分: ST金币 -1
ä¿®æ¹ram.iniæ件ï¼ä¸ææ£å¸¸
No Algorithm found for: 02000000H - 02000A37H
Programming skipped!
Error: Flash Download failed - "Cortex-M0"