I have managed to debug from external flash using my Olimex LPC-E2214 eval board. This involved creating a flash.ini file with the correct BCF0 and PINSEL2 settings. (Thank you Reinhard) I found that I had to specify this file in both the Debug and Utilities tabs. I am now trying to boot exclusively from external flash, I have not been able to manage this, the IVT and startup code remain in on-chip flash. I have tried using the "SET" command in the ASM tab in setup with REMAP and EXTMEM_MODE. This did not seem to have any effect. What am I missing? Thanks Rich
That's better
Actually this is more a question for Philips, but for Keil. The LPC22xx devices have BOOT config pins on P2.26 and P2.27. From the Philips LPC22xx User's Manual:
BOOT1:0=00 selects 8-bit memory on CS0 for boot. BOOT1:0=01 selects 16-bit memory on CS0 for boot. BOOT1:0=10 selects 32-bit memory on CS0 for boot. BOOT1:0=11 selects Internal Flash memory.
Reinhard, I have the pins set so that, upon reset, I will boot from CS0 which is my external flash. Isn't it more an issue of the linker/locator putting the startup code and IVT at 0x00000000 instead of 0x80000000? The debugger runs fine from 0x80000000 AFTER it runs the startup code at 0x0 so I am hoping that I can debug the same startup code at 0x80000000. I would of course have to set MEMMAP accordingly. How do you handle it for the 2210 rom-less part? Rich
Oh, I see. The Philps STARTUP.S file has certain configuration settings: -- From STARTUP.S file:
/* * The STARTUP.S code is executed after CPU Reset. This file may be * translated with the following SET symbols. In uVision these SET * symbols are entered under Options - ASM - Set. * * REMAP: when set the startup code initializes the register MEMMAP * which overwrites the settings of the CPU configuration pins. The * startup and interrupt vectors are remapped from: * 0x00000000 default setting (not remapped) * 0x80000000 when EXTMEM_MODE is used * 0x40000000 when RAM_MODE is used * * EXTMEM_MODE: when set the device is configured for code execution * from external memory starting at address 0x80000000. The startup * vectors are located to 0x80000000. * * RAM_MODE: when set the device is configured for code execution * from on-chip RAM starting at address 0x40000000. The startup * vectors are located to 0x40000000. */
The example project: \Keil\ARM\Boards\Phytec\LPC229x\Hello - Target phyCore LPC229x is configured for off-chip Flash ROM. Reinhard