This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F5340: Unable to overwrite reset vector during BSL firmware upgrade

Part Number: MSP430F5340

I'm using CCS8, TI's compiler v18.1.1.LTS and an I2C BSL based on the code available in TI's website.

I'm running the msp430-i2cbsl-tool, sending something the likes of this:

@4400
4F 14 92 53 1A 1F 3A 3D F2 F0 DF 00 FD 05 47 3D
82 43 16 1F E2 C2 FD 05 42 3D F2 C2 FD 05 C2 93
19 1F 3D 25 D2 43 10 1F C2 43 19 1F 38 3D F2 B2
E1 05 11 20 1F 43 1F 52 16 1F DF 42 EC 05 94 1E
[...]
03 43 1C 43 10 01 10 01 01 CD 00 00 02 E8 03 00
73 00 5F 0E E0 FF 06 02 7F 03 01 00 FF F0 F4 58
00 00 4A 52 00 00 B6 59 00 00 00 00 04 00 00 00
00 00 08 00 00 00 00 00 D9 02 00 00 38 5A 00 00
DE 1E 00 00 5A 5A 00 00 00 1C 00 00 60 5A 00 00
00 3E 01 00 66 5A 00 00 04 1C 00 00
@ffd2
40 48 40 48 40 48 36 48 A2 46 40 48 40 48 40 48
2C 48 40 48
@ffe8
40 48 1C 48 40 48 00 44 02 48 40 48 40 48 40 48
40 48 40 48 40 48 E6 47
@14000
31 30 30 66
@14200
AD DE EF BE FF FF FF FF FF FF FF FF FF FF FF FF
q


The application succeeds writing all addresses except for 0xFFFE. Having a look at it with the debugger:

  • There is no data corruption in the transfer, the data is OK during the operation.
  • The code path uses the default TI's BSL430_writeMemory() routine, performing the open/close operations in between writes.
  • I tried to write "0x47E6" into the reset vector address which previously contained the address "0x177C" (the MSP430 only contained the BSL at this point). The result of the MOV.W operation seems to be "0x0764".
  • If one looks at the values above, the behavior mimics what a non F initialized nand flash memory woud do on a write (0x177C & 0x47E6 = 0x0764). Pretty troubling but may be a lead (bear in mind the rest of the writes where correct).

Any ideas? I've been going trough the chip's info without luck.

**Attention** This is a public forum