本帖最后由 okwh 于 2019-3-23 15:37 编辑
在uVision, 可以设置编译目标为 下载到Flash ROM 运行或 下载到RAM运行,如果有足够的RAM或编译后文件很小,在RAM运行 可降低flash擦写次数,加快调试。
如何配置实现在RAM运行? 在keil中,右键点击编译目标,打开 Manage Project Items 对话框:
在Project Items增加新Target, Groups, Files中复制原设定:
然后在配置中:
设置IROM1地址为原RAM的地址范围, IRAM也做相应修改。
再在Debug页, 禁用 load Applicatin at StartUp, 设置ini文件,根据MCU,配置RAM运行条件:SP、PC、中断向量表地址等即可。
下面列出IRD-LPC1768-DEV,下载到FlashROM 运行或下载到RAM运行的配置对比
原 | |
| | | | | | | | | |
|
| | | |
| |
|
|
|
| | | dis load app at Startip, update target before debug | | | | | | | | | |
|
| | | |
|
Debug_RAM.ini说明:
NXP LPC1700 RAM运行配置 Debug_RAM.ini, 关于ini文件编写 Stack Pointer (SP), the Program Counter (PC), the Vector Table Offset Register (VTOR). http://www.keil.com/support/docs/3156.htm | /*Debug_RAM.ini: Initialization File for Debugging from Internal RAM on */ FUNC void Setup (void) { SP = _RDWORD(0x10000000); // Setup Stack Pointer PC = _RDWORD(0x10000004); // Setup Program Counter XPSR = 0x01000000; // Set Thumb bit _WDWORD(0xE000ED08, 0x10000000); // Setup Vector Table Offset Register _WDWORD(0x400FC0C4, _RDWORD(0x400FC0C4) | 1<<12); // Enable ADC Power _WDWORD(0x40034034, 0x00000F00); // Setup ADC Trim } LOAD %L INCREMENTAL // Download to RAM Setup(); g, main |
|
|