With regards to writing to 0x800014 area other than 0xFFFF can we change the programming area to some other place so we dont have to touch this address .
Please let me know with regards to this issue
I would strongly recommend againt using P0.0 as a GPIO.
However if you choose to ignore the recomendation keep in mind the following things.
It is possible to lock yourself out of parts and not have a way to get back in.
Because the JTAG lines are shared with GPIOs you can accidentally or on purpose disable JTAG access.
You can rescue parts like that by entering download mode, however you can also disable download mode and not have any way to get back into the part.
Adress 0x800014 determines if you have access to download mode. 0xff.. means that you can enter download mode if BM = 0. What some customers normally do is tie BM to GND and program 0x800014 with some value. This ensures that their use code runs at power up. Then when they want to update their code they trigger a function within their code which erases page 0 of flash and when they reboot the part enters download mode again.
Another reason to write some value to 0x800014 is that so that your end customer can't use download mode to download new code to the part.
So if you use the startup file provided by ADI, you can control the level of p0.0 manually and you can guarantee that your application will never write to 0x800014 then you'll be fine. Just to be safe I would recommend having a bit of code that can mass erase the part on some external input. (A secret message received on the UART or anything like that)
What the application note is trying to say is that if have a value other than ff at 0x800014 you should program that last. This isn't something that the startup file can control. It's up to the flashing tools that you use to choose what addreses to program first.
The interrupt, reset and all the other vectors need to be at the start of flash around that area so you shouldn't change the programming area.
The starup file supplied with the CD in the evaluation kit declares a reserved vector at that address and sets it equal to oxFFFFFFFF so that takes care of it.
We are planning to use the P0.0 as GPIO and what are case that 0x80014 needs to be changed or will change
Bit confused should we take care the following if am using the startup file provided by ADI
3) Ensure you can mass erase the flash in case something goes wrong in your development - pay attention to the contents of flash address 0x80014 and the BM pin level.
Application note also states
Ideally, the value at Flash Address 0x14 should be programmed last to allow re-entry to download mode in case power fails or
another error occurs during reprogramming of the bulk of the program.
But your startup code configure it in the starting .
Retrieving data ...