STM32的FLASH最佳擦写次数是10000次,超过此数后,继续擦写一百万次也没问题,只是擦写速度会变慢。所以在内存中调试没有太大意义,但是了解其中的设置过程对我们学习STM32有裨益。完成如下几步可成功调试:
(1)Target中设置IROM1:0x2000000 0x4000;IRAM1:0x20004000 0x1000;含义是代码段从RAM地址0x2000000开始,长度16K,内存段从RAM地址0x20004000开始,长度1K。
(2)在Debug中,FLASH下载器的代码段和内存段都设置为上面的划分。
(3)DEBUG中初始化文件指向一个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 .\Obj\USART.axf INCREMENTAL // Download
Setup(); // Setup for Running
g, main
(4)设置起始文件(.s)在asm栏定义RAM_MODE 和 REMAP。
文章评论(0条评论)
登录后参与讨论