Other Parts Discussed in Thread: MSP-FET, CCSTUDIO
Tool/software: Code Composer Studio
Was using CCS 9.3.0 under Windows 10 Pro to program a MSP430L092, with the target device in a MSP-TS430L092. This was done as part of seeing if the problem in the related thread of CCS under Ubuntu crashing could be repeated. With CCS 9.3.0 under Windows 10, CCS is not crashing but found that when using a MSP-FET the option to program the external SPI image doesn't work.
The software is:
- CCS 9.3.0.00012
- Debug Server 9.3.0.1863 com.ti.ccstudio.debugserver.win64.feature.group
- TI Emulators 8.4.0.00006 com.ti.emulation.pack.win64.feature.group
- Code Composer Studio IDE MSP430 Components 9.3.0.201912041800
- TI MSP430 tool-chain 9.2.1 com.ti.msp430.build_debug.feature.group
The attached program blinks the LEDs on the MSP-TS430L092. The Debug and Release configurations are set to different generate a different blink pattern:
- The Debug configuration has the LEDs on for 10% of the time.
- The Release configuration has the LEDs on for 90% of the time.
The sequence which shows the problem:
1. Compile the project for the Debug and Release configurations. In the project properties under Debug -> MSP430 Flash Settings check the "Copy application to external SPI memory after program load" option.
2. With the MSP-TS430L092 connected to a MSP-FET430UIF set the active configuration as Debug.
3. Download the program, set running and terminate the debug session. The LEDs flash with the expected 10% duty cycle.
4. Remove and then re-connect the USB to the MSP-FET430UIF. The MSP430L092 starts from the SPI image and the LEDs flash with the expected 10% duty cycle. I.e. with the MSP-FET430UIF successfully programmed the external SPI image.
5. With the MSP-TS430L092 connected to a MSP-FET430UIF set the active configuration as Release.
6. Download the program, set running and terminate the debug session. The LEDs flash with the expected 90% duty cycle.
7. Remove and then re-connect the USB to the MSP-FET430UIF. The MSP430L092 starts from the SPI image and the LEDs flash with the expected 90% duty cycle. I.e. with the MSP-FET430UIF successfully programmed the external SPI image.
8. Change the MSP-TS430L092 to be connected to MSP-FET and set the active configuration as Debug.
9. Download the program, set running and terminate the debug session. The LEDs flash with the expected 10% duty cycle.
10. Remove and then re-connect the USB to the MSP-FET. The LEDs show the "Error Blink" described in the MSP430L092 Loader Code SLAU324A, indicating the ROM bootloader has not detected a valid SPI image. I.e. with the MSP-FET the external SPI image has not been programmed successfully.
11. With the MSP-TS430L092 connected to a MSP-FET set the active configuration as Release.
12. Download the program, set running and terminate the debug session. The LEDs flash with the expected 90% duty cycle.
13. Remove and then re-connect the USB to the MSP-FET. The LEDs show the "Error Blink" described in the MSP430L092 Loader Code SLAU324A, indicating the ROM bootloader has not detected a valid SPI image. I.e. with the MSP-FET the external SPI image has not been programmed successfully.
The above sequence has been repeated a number of times.
MSP430L092_blinky_duty_cycle.zip
I have had a quick look at the MSP Debug Stack Open Source Package in slac460y and the DLL430_OldApiV3::writeToExternalMemory function in DLL430_v3\src\DLL430_OldApiV3.cpp calls "SpiGenerateImage(), Generate Program Image in SPI Memory Utility Function" in the MSP430L092 ROM so not sure why use of a MSP-FET430UIF works but a MSP-FET doesn't.