Other Parts Discussed in Thread: MSP430F5438A, UNIFLASH, MSP-GANG, MSP-FET
Hi,
I am having difficulty getting any of the command line tools that TI offer for their MSP430 microcontrollers to write or erase protected memory on the MSP430F5438A. Any help would be greatly appreciated.
MSPFlasher (1.3.20.0)
I am able to read and write main memory and non-protected information memory, but I am unable to erase protected information memory (INFOA) or bootstrap loader memory (BSL).
C:\ti\MSPFlasher_1.3.20>MSP430Flasher.exe -u -b -e ERASE_ALL * -----/|-------------------------------------------------------------------- * * / |__ * * /_ / MSP Flasher v1.3.20 * * | / * * -----|/-------------------------------------------------------------------- * * * Evaluating triggers...done * Checking for available FET debuggers: * Found USB FET @ COM6 <- Selected * Initializing interface @ COM6...done * Checking firmware compatibility: * FET firmware is up to date. * Reading FW version...done * Setting VCC to 3000 mV...done * Accessing device...done * Reading device information...done * Erasing device memory...done * * ---------------------------------------------------------------------------- * Arguments : -u -b -e ERASE_ALL * ---------------------------------------------------------------------------- * Driver : loaded * Dll Version : 31400000 * FwVersion : 31200000 * Interface : TIUSB * HwVersion : U 3.0 * JTAG Mode : AUTO * Device : MSP430F5438A * EEM : Level 7, ClockCntrl 2 * Erase Mode : ERASE_ALL * VCC OFF * ---------------------------------------------------------------------------- * Powering down...done * Disconnecting from device...done * * ---------------------------------------------------------------------------- * Driver : closed (No error) * ---------------------------------------------------------------------------- */
Both INFOA and BSL memory persists.
UniFlash (6.2.0)
Same as MSPFlasher — able to read and write main memory and non-protected information memory, but still can't touch INFOA or BSL. I first attempted to do this using the GUI:
After some digging, I found out that UniFlash also offers a command line option. I exported a "Standalone Command Line" package using the GUI (and the same settings pictured above), ran the "one_time_setup.bat" file then tried the following command:
C:\ti\uniflash_windows>dslite.bat --mode flash -c user_files/configs/MSP430F5438A.ccxml -l user_files/settings/settings.ufsettings -s VerifyAfterProgramLoad="No verification" --before Erase Executing the following command: > "C:\ti\uniflash_windows\ccs_base\DebugServer\bin\DSLite" flash -c user_files/configs/MSP430F5438A.ccxml -l user_files/settings/settings.ufsettings -s VerifyAfterProgramLoad="No verification" --before Erase For more details and examples, please visit https://processors.wiki.ti.com/index.php/UniFlash_v4_Quick_Guide#Command_Line_Interface info: MSP430: Performing Mass Erase... info: MSP430: Finish Erasing
Just as before, INFOA and BSL memory persists.
Code Composer Studio
I am fully capable of writing and reading INFOA and BSL using the CCS GUI with the following project settings:
Then using the "Flash" toolbar icon along the top of the GUI. CCS clearly knows something that UniFlash/MSPFlasher aren't privy to.
---
I've spent a lot of time diving into these command line tools and their documentation and just cannot figure this one out. I would have taken the MSPFlasher source code and stepped-through/patched the tool myself, but the Visual Studio project packed with the tool does not build (missing libraries/unresolved symbols).
Any further insight/help with this is greatly appreciated. I really need to automate this process using a command line interface, as programming these guys manually with a GUI just doesn't scale well when you've got hundreds/thousands to get through.
Best regards,
KM