I'm, programming MSP430f6736 via Olimex MSP430-JTAG-TINY-V2.
The first writing is OK. But later, if the program changed, I get errors like: "Verify error at address 0x14BB2. Value should be 0x2A but is 0x00."
I found out, that memory with addresses higher or equal 0x14000 is not erased, and so it is not possible to write it again.
I tried to erase flash from microcontroller and it is OK.
unsigned long * Flash_ptr;
Flash_ptr = (unsigned long *) 0x14000; // Initialize Flash pointer
FCTL3 = FWKEY; // Clear Lock bit
FCTL1 = FWKEY | MERAS; // Set MEARAS bit
*Flash_ptr = 0; // Dummy write to erase Flash BANK
FCTL3 = FWKEY | LOCK; // Set LOCK bit
So, I can rewrite this part of memory with new program once again.
May be the problem is in olimex.dll. I'm using 220.127.116.11 version.
What tool/IDE are you using?
The code memory of the MSP430F6736 should be 004000 to 023FFFh. If it refuses to write 014000h then it seems it doesn't work for banks 2 and 3. It might be a wrong memory array added in the code (or wrong microcontroller ID used).
Thanks for the answer.
I'm using IAR. Proper microcontroller (MSP430F6736) choosed in IAR settings.
I agree that something is wrong with erasure of Bank2. Be more concrete - with part of memory with addresses 0x14000-0x15A45. It is not erased via IAR, nor via Elptronic.
As I wrote above, after erasing this part from microcontroller I can write code to it with IAR or Elptronic.
I tried another microcontroller and got the same results.
The memory organization of MSP430F6736 looks strange to me (page 22 - http://www.ti.com/lit/ds/symlink/msp430f6736.pdf (http://www.ti.com/lit/ds/symlink/msp430f6736.pdf)). The code memory banks at least. I will need to ask around.
I will also report to the developer behind the firmware to investigate if there is an issue.
Thanks for help, LubOlimex
Waiting for your answer!
I got MSP430-FET430UIF and succeded to write SW to MSP. Something is wrong with olimex drivers.
I suspect the solution was changing to MSP430-FET430UIF as I have the same problem using the MSP430-JTAG_TINY-V2 and I did not have it when I was using MSP430-FET430UIF.