📄 lpc2468_flash.mac
字号:
execUserPreload()
{
__hw_reset(0);
__writeMemory32(0x00000001, 0xE01FC040, "Memory"); // MEMMAP = 1;
}
execUserFlashInit()
{
__message "execUserFlashInit called";
__hwReset(0);
// Disable the PLL.
__writeMemory32(0x00000000, 0xE01FC080, "Memory"); // PLLCON = 0
// Qualify the PLL change.
__writeMemory32(0x000000AA, 0xE01FC08C, "Memory"); // PLLFEED = 0xAA
__writeMemory32(0x00000055, 0xE01FC08C, "Memory"); // PLLFEED = 0x55
// Enable main clock (LPC23xx only).
__writeMemory32(0x00000020, 0xE01FC1A0, "Memory"); // SCS.OSCEN = 1
__sleep(50000); // Give the oscillator some startup time (50 ms)
// Switch to main clock instead of internal RC for stable JTAG auto-speed
__writeMemory32(0x00000001, 0xE01FC10C, "Memory"); // CLKSRCSEL = 1
__writeMemory32(0x0000000B, 0xE01FC084, "Memory"); // PLLCFG = 0xB
// Qualify the PLL change.
__writeMemory32(0x000000AA, 0xE01FC08C, "Memory"); // PLLFEED = 0xAA
__writeMemory32(0x00000055, 0xE01FC08C, "Memory"); // PLLFEED = 0x55
// Enable the PLL.
__writeMemory32(0x00000001, 0xE01FC080, "Memory"); // PLLCON = 1
// Qualify the PLL change.
__writeMemory32(0x000000AA, 0xE01FC08C, "Memory"); // PLLFEED = 0xAA
__writeMemory32(0x00000055, 0xE01FC08C, "Memory"); // PLLFEED = 0x55
// CCLKCFG = CCLKDivValue; /* Set clock divider */
__writeMemory32(0x00000005, 0xE01FC104, "Memory"); // CCLKCFG = 5
__sleep(50000); // Give the oscillator some startup time (50 ms)
// Enable & Connect the PLL
__writeMemory32(0x00000003, 0xE01FC080, "Memory"); // PLLCON = 3
// Qualify the PLL change.
__writeMemory32(0x000000AA, 0xE01FC08C, "Memory"); // PLLFEED = 0xAA
__writeMemory32(0x00000055, 0xE01FC08C, "Memory"); // PLLFEED = 0x55
__writeMemory32(0x00000001, 0xE01FC040, "Memory"); // MEMMAP = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -