demo工程暂存 优化菜单界面UI和功能
This commit is contained in:
64
MCU/components/tools/keil/debug_xip_flash.ini
Normal file
64
MCU/components/tools/keil/debug_xip_flash.ini
Normal file
@ -0,0 +1,64 @@
|
||||
/* 使用说明
|
||||
1,使用xip_flash.sct作为链接文件;
|
||||
2,工程选项的Debug标签页中,初始化文件(Initialization File)选择:debug_xip_flash.ini
|
||||
3,【重要】Utilities标签页中,取消选择:Update Target before Debugging
|
||||
*/
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
* Name: debug_xip_flash.ini
|
||||
* Purpose: XIP Debug Initialization File
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
Setup() configure PC & SP for RAM Debug
|
||||
*----------------------------------------------------------------------------*/
|
||||
FUNC void Setup (void) {
|
||||
_WDWORD(0xE0050020, 0xffffffff);
|
||||
_WDWORD(0xE0050024, 0xffffffff);
|
||||
_WDWORD(0xE0050028, 0xffffffff);
|
||||
_WDWORD(0xE005002c, 0xffffffff);
|
||||
_WDWORD(0xE0050030, 0xffffffff);
|
||||
_WDWORD(0xE0050034, 0xffffffff);
|
||||
_WDWORD(0xE0050038, 0xffffffff);
|
||||
_WDWORD(0xE005003c, 0xffffffff);
|
||||
_WDWORD(0xE0050040, 0xffffffff);
|
||||
_WDWORD(0xE0050044, 0xffffffff);
|
||||
SP = _RDWORD(0x08002000); // Setup Stack Pointer
|
||||
PC = _RDWORD(0x08002004); // Setup Program Counter
|
||||
_WDWORD(0xE000ED08, 0x08002000); // Setup Vector Table Offset Register
|
||||
|
||||
// Enable Cache
|
||||
if ((_RDWORD(0xE00B0004) & 0x03) == 0x00) {
|
||||
_WDWORD(0xE00B0000, 0x00000038);
|
||||
_WDWORD(0xE00B0000, 0x0000003C);
|
||||
_WDWORD(0x20000000, 0x12345678);
|
||||
_WDWORD(0x20000004, 0x12345678);
|
||||
_WDWORD(0x20000008, 0x12345678);
|
||||
_WDWORD(0x2000000c, 0x12345678);
|
||||
_WDWORD(0x20000010, 0x12345678);
|
||||
_WDWORD(0x20000014, 0x12345678);
|
||||
_WDWORD(0x20000018, 0x12345678);
|
||||
_WDWORD(0x2000001c, 0x12345678);
|
||||
_WDWORD(0xE00B0000, 0x0000003E);
|
||||
_WDWORD(0x20000000, _RDWORD(0x20000000));
|
||||
_WDWORD(0x20000000, _RDWORD(0x20000000));
|
||||
_WDWORD(0x20000000, _RDWORD(0x20000000));
|
||||
_WDWORD(0x20000000, _RDWORD(0x20000000));
|
||||
_WDWORD(0x20000000, _RDWORD(0x20000000));
|
||||
_WDWORD(0x20000000, _RDWORD(0x20000000));
|
||||
_WDWORD(0x20000000, _RDWORD(0x20000000));
|
||||
_WDWORD(0x20000000, _RDWORD(0x20000000));
|
||||
_WDWORD(0xE00B0000, 0x0000003D);
|
||||
}
|
||||
}
|
||||
|
||||
FUNC void OnResetExec (void) { // executes upon software RESET
|
||||
Setup(); // Setup for Running
|
||||
}
|
||||
|
||||
load %L incremental
|
||||
|
||||
Setup(); // Setup for Running
|
||||
|
||||
//g, main
|
Reference in New Issue
Block a user