Main Site Documentation

Porting to LPC2478 homemade board



I have made my self a board with the LPC2478, 64MB SD-RAM and a LCD connector. I make use of the internal osscillator. There is no usb output

Now i wont to use the netmf for controlling my LCD screen

I have read the porting guide, and did get busy to use the solution WIzard and the EA-LPC2478 porting example. When i compile the TinyBootCompressor, everything goes oke.

I load the hex file with Flash Magic, but when i reset I come back in the bootloader from the LPC, I did try to ping. but nothing happend what do I wrong?

Kind regards



There is a lot involved. You can just guess, it won’t be easy. You need a JTAG to step in code and see what is going on


Thank you for your reply.

mmm i must have look if i got i jtag, yes a parallel one but my PC has no port for it.

But you don’t need to overwrite the orginal bootloader of the LPC chip? This is a part that is not very clear for me.

What I have read is that you must the following steps:

  • Compile the Tinybootdecompressor
  • Programm the Tinybootdecompressor.hex with example flash magic
  • Then compile TinyClr
  • Then program TinyCLR with MFDeploy

The compling and programm of the Tinybootdecompressor goes oke, but no message on the terminal. I only use com1, I believe I must confige this in one the files.

Kind regards



Your understanding is correct. I am not sure why you are having problems


I think i must configure something, because after I programmed the LPC with FLash Magic, it goes directly to the standard bootloader.

This I tested when I transmitted a ? sign trough the terminal, i get the word ‘Synchronsed’ so the orginal bootloader is active.

I also don’t have external flash, it must run on the internal flash. It looks like if the trampoline jump not is made, because i get back to the normal bootloader.

In witch file i can confige the clock and ram etc?

thanks already


Like I said before, this is more involved that just guessing. There is no “one” file that you can look into. You will need a JTAG to get this going.

Maybe when the porting book is complete you will be able to get though this easier? Just make sure you say GHI helped you at the end :wink:


I have found an JTAG, i have board where an embedded JLINK JTAG interface on it, this one I can use.

Do some one know witch software i can best in combitain with the JLINK JTAG interface, I have tried some software but it didn’t work.

The book you are writing Gus is very usefull for porting to another uC. Very nice work.


After trying something.

I have decide to use first the Nativesample, but also that one did not work.

I have modified the code for use with my microcontroller in the header platform_selector.h
Flash base address = 0x000 0000
SRAM base address = 0xA000 0000
#define SYSTEM_CLOCK_HZ 48000000
#define SLOW_CLOCKS_PER_SECOND 12000000

In the bootstrap i have changed some values:(Deselect competly the wait for the external osccilator)
// Select internal Oscillator as the PLL clock source

Also mapped to the interflash instead of the internal RAM
// map the Internal Flash to address 0
void __section(SectionForBootstrapOperations) Initialize_SyncOn()

I compiled with GCC command line and programmed the .hex file to the LPC2478 with Flash Magic.

I reset the LPC2478, but nothing happend. It just leaped back to the bootloader. It looks like the programm do not jump to the programm but straight back to the bootloader.

Must i changes something else, the xml files or something else?

Kind regards


maybe ask your question here :


I will try to do that, thanks


I’m not familiar with your chip, but maybe the original LPC bootloader is in a protected section that you are trying to overlap and it fails.

If there’s a bootloader pre programmed and you dont want to override it then you must follow some guidelines on where to put your code and how to set it up. Or unprotect the sector and flash your code using JTAG.


There is an standard bootloader on the chip, witch can be acces when a INT0 pin is down or there no programm in the flash.

I have changed to the right starting code of the flash, i have tested a normal piece of C programm and that works fine.


The LPC boot loader is not an issues, you can’t erase it and once the system boots it is mapped outside the user space.