This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Bootong from external flash (LPC2214)

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

Parents
  • 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

Reply
  • 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

Children
  • 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.
     */

    Bascially you need to enter EXTMEM_MODE under Project - Options - Asm - Set.

    For more information see: Getting Started User's Guide, CPU Setup, CPU Startup Code.

  • The example project:
    \Keil\ARM\Boards\Phytec\LPC229x\Hello
    - Target phyCore LPC229x is configured for
    off-chip Flash ROM.

    Reinhard