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

How do I get my program starts from 0x2000?

Hello, sorry my English is so bad, google translator:

LPC2148 Bootloader resides in the 0x0000-0x2000 flash space (that means 8kB).

How do I set Keil, to respect the bootloader program and flash target to start at 0x2000.?

A greeting and thanks

Parents
  • In the target dialog, specify that the flash will start at address 0x2000, and at the same time configure the flash to be 0x2000 smaller.

    But that isn't enough. You also have to reserve the start of RAM for interrupt vectors. Then you have to configure the startup script or the boot loader so that it will copy the interrupt vectors from address 0x2000 and into the start of RAM. After that, you have to change a memory mapping flag in the processor to map the first part of RAM to overlay the real interrupt vector table in the beginning of the flash.

    There are several threads describing this, even if most threads are about LPC23xx chips.

Reply
  • In the target dialog, specify that the flash will start at address 0x2000, and at the same time configure the flash to be 0x2000 smaller.

    But that isn't enough. You also have to reserve the start of RAM for interrupt vectors. Then you have to configure the startup script or the boot loader so that it will copy the interrupt vectors from address 0x2000 and into the start of RAM. After that, you have to change a memory mapping flag in the processor to map the first part of RAM to overlay the real interrupt vector table in the beginning of the flash.

    There are several threads describing this, even if most threads are about LPC23xx chips.

Children
No data