I have purchased a Futurlec “ET Base ARM2103” board and have downloaded Jim Lynch’s tutorial and sample code.
I must thank Jim for the excellant work in writting the tutorial - its great.
Everything seems to be fine (it assembles, compiles and links OK) until I load the Hex code into the target board. when I reset the board nothing happens, no Blinking LED…
I know that everythin is OK from the hardware and download software point of view as I can load the sample hex file found on the olimex.com site and after resetting the LED flashes OK.
This points to something wrong with the way I have set up the eclipse enviroment, or the sample code.
It seems that the LPC2106 code will run directly on the LPC2103 board as again the sample Hex file ran fine (I assume that this was intended for the 2106 chip.)
I have read something about the linker file may be wrong, is this correct? I can’t gain access to the Yahoo LPC site yet to check the files.
First, consider the difference in the memory maps:
LPC2106:
128K FLASH 0x0 - 0x1FFFF
64K RAM 0x40000000 - 0x40003FFF
LPC2103:
32K RAM 0x0 - 0x7FFF
8K FLASH 0x40000000 - 0x40001FFF
The linker script places the top-of-stack at the very last RAM memory address. If you use the LPC2106 linker script for a LPC2103, this will place the top-of-stack in an area of unimplemented memory and the application will fail.
Hopefully, you have revision 3 of the tutorial. If not, download it off of the Spark Fun tutorial area. In the revision 3 tutorial, there’s an appendix showing how to convert the project from a LPC2106 to a LPC2148. Following the appendix’s guidance and the LPC2103 memory limits shown above, you should be able to modify your sample application for the LPC2103 microprocessor.
Together with your comments above, and some help with a linker script and header from PFord over at the Yahoo LPC2000 site I have been able to get the blinker program running succesfully!!
Today I’m moving onto programming the LCD… could be a late night!