Indranil
Indranil,
If you set the program address for your application to 0x0 in LMFLASH when you use the serial bootloader, then the bootloader will overwrite itself with the program. You should specify the offset in LMFLASH at 0x1800.
If you want to have CCS not overwrite the bootloader when you use CCS to program the application into the flash, you will need to change the .cmd file to have an APP_BASE of 0x00001800 as well. The .cmd files in the boot_demo examples in Stellarisware should show you how an application can be run from the bootloader.
Remember to reduce the length of the flash in the .cmd file when you increase the program's starting address so you don't try to write past the flash area.
Hi John,
Thanks for your reply.
Actually I have misunderstood this whole bootloader concept. But now after playing with bootloader and going through the TI documents and example programs, now I understood how actually bootloader is working. Previously I thought my serial_boot program is actually programming my flash everytime ...so I get confused. But now I came to know that its actually the ROM bootloader that is taking control when I use one of my GPIO pin to decide whether I want to go to ROM bootloader or application part.
Moreover now I get the idea about the APP_BASE. When I am using ROM bootloader I shouldn't change the .cmd file to other address other than 0x00. It should need to be change only if I use the example serial_boot program ..am I right ?
With regards,
Yes you are right. If you are using the ROM bootloader, your apps should start at 0x00. This is why the examples in Stellarisware except for boot_demo start from 0x00.