We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I just wanted to start programming ARM, I got an NXP LPC1768 board! I wrote my first program!
here is code
#include "LPC17xx.h" int main(void) { int a; LPC_GPIO1->FIODIR=1; while(1) { LPC_GPIO1->FIOSET=1; for(a=0;a<7200000;a++); LPC_GPIO1->FIOCLR=1; for(a=0;a<7200000;a++); } }
but I don't know how I should make it start at address 0x2000 (according to my boards manual, it says for easy and cheap programming, instead of j-link it uses .bin, I must just copy the file into the device memory like a flash and that's all, but also says that till 0xf1hhh is sued by bootloader, so I must sue 0x2000 for program) how can I change the starting address too 0x2000? I'm using Keil uVision 4.27
Hi kamhagh
In order to change the address of the program, so it supports the NXP bootloader, you will need to use a linker-script that sets the address to 0x2000 instead of 0x0000.
I believe that NXP provides linker-scripts that do this for you, so you don't have to write/edit a linker script yourself.
You can set the offset for your code using uVision's Target Options -> Memory configurations. Just set the new address for iROM and the code will begin from here.
-arw