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.

MSP430FR2512: Updating an MSP430 with a Raspberry Pi 3 A+ through I2C BSL

Part Number: MSP430FR2512

Hello everyone,

I'm working on a project that integrates a Raspberry Pi 3 model A+ and a MSP430FR2512 for touch sensing, and I would like the Raspberry to be able to flash the MSP for OTA update. I'm using the I2C BSL Linux tool, but I'm having some troubles to flash the MSP. I wrote a script to invoke the BSL via hardware (through TEST and RST pins), I do see the MSP in my I2C slaves addresses (0x48), I do commnunicate with it, but I miss one 0xFF byte in my password, and I can't figure out why.. I checked with logs and my data buffer is exactly what I'm expected (with 32 0xFF bytes), but when I check the I2C bus with an osciloscope, I'm missing one (see below).

Did anyone have the same issue, or can help me on that?

Thank you very much.

Yoann

pi@RPi-test:~/dev/mspbsl/msp430-i2cbsl-tool $ sudo ./msp430-i2cbsl-tool -n -f msp430fr2422_1.c.txt -i /dev/i2c-1 -s 48

---------------------------------------------------------------
   TI MSP430 I2C Linux BootLoader 01.00.00.00
---------------------------------------------------------------
INFO: Firmware file msp430fr2422_1.c.txt specified
INFO: I2C BUS /dev/i2c-1 specified
INFO: Slave address 0x48 specified
INFO: Opening TI-TXT firmware file firmware.txt...  done!
INFO: Password file not found, defaulting to 0xFFs.
INFO: Skipped software invoke.
INFO: Attempting to unlocking device with password... Fail!
INFO: Device could not be unlocked. Resetting password and trying again.
INFO: Skipped software invoke.
INFO: Attempting to unlocking device with password... Fail!
INFO: Device could not be unlocked. Resetting password and trying again.
INFO: Skipped software invoke.
INFO: Attempting to unlocking device with password... Fail!
INFO: Device could not be unlocked. Resetting password and trying again.
INFO: Skipped software invoke.
INFO: Attempting to unlocking device with password... Fail!
INFO: Device could not be unlocked. Resetting password and trying again.

ERROR: When trying to invoke or unlock device (Response code 0x104).

  

  • Hey Piocky,

    Were you able to get it working?  Sounds like you've narrowed down the issue but unfortunately, this linux tool running on a raspberry Pi is beyond my realm of expertise.

    I'll leave the thread open in case any user's in the community have experience with this tool.

    Thanks,

    JD

  • Hi JD,

    I did manage to make it work with the evaluation board, by changing a bit the source code: instead of calling one function to send bytes and read directly after this, I splitted it in two seperate functions, the first one to send bytes, and the second one to read the answer. I don't know why exactly but this works and now I can unlock the BSL before sending the TI-TXT file to the MSP430.

    Also, it doesn't work at the first try, and I usually need several tries to succefully unlock the device, but it still works every time I'm lauching the script with the evalutation board.

    Unfortunately, it doesn't work with the MSP on my custom PCB, eventhough I'm using the exact same program. The I2C signals look pretty much the same compare to what I see on the EVM, I do see a bit more of rising time on positive edge, so I guess the capacitance on my lines are a bit higher that the ones on the EVM (probably due to the length and the fact that I've got several devices on I2C bus).

    I will continue to investigate on this point and try to solve this problem, but I hope that it won't be to hard to find the problem as I managed to make it work on the EVM board. I'll keep you update if I'm making any progress.

    Best regards,

    Yoann

  • Hey Yoann,

    Just wanted to check back in and close out this thread.  Did you get it working with the I2C bus on your custom board?  

    Thanks

    JD

**Attention** This is a public forum