关于LED 流水灯的软件调试方法(非开发板调试)
因为: 硬件 norflash 有寿命,所以尽量少用,而且自己也不会把 程序在 KEIL中从SDRAM 中调试,不会设置。所以采取软件虚拟的方法调试。
主要修改一下几部分:
1. ledcircle.sct 文件
1 ; ************************************************************* 2 ; *** Scatter-Loading Description File generated by uVision *** 3 ; ************************************************************* 4 5 LR_IROM1 0x30000000 0x30200000 6 { ; load region size_region 7 ER_IROM1 0x30000000 0x30200000 8 { ; load address = execution address 9 *.o (RESET, +First) 10 .ANY (+RO) 11 } 12 13 RW_IRAM1 0x30300000 0x34000000 14 { ; RW data 15 .ANY (+RW +ZI) 16 } 17 18 19 }
2、添加 ledcircle.INT 配置文件(不懂,反正自己参考网上 http://www.eefocus.com/book/09-04/714061276059620.html )
1 FUNC void Setup(void){ 2 3 PC=0x30000000; 4 5 } 6 setup(); 7 LOAD .Objled circle.axf INCREMENTAL // 这里的 .Obj led 分不分开呢??? led circle.axf 是一个文件 // 这一整句全部删掉好像也可以??? why????
3、修改配置
但是感觉没有 ledcircle. INT 也是可以直接运行的啊???
试了一下,不能运行在内存的 0x30000000 处了,所以必须要有啊。
可以编译调试了。但是 这些错误实在看不懂额!!!还是硬件调试靠谱一点。
为什么 这里 0x53000000 没有写权限呢? 硬件中又是怎样的呢??
但是不影响后面的观察:可以的。5678 位 其中一位低电平,便发光。神奇