Other Parts Discussed in Thread: UNIFLASH, SYSBIOS, TM4C1294NCPDT
After flashing the "MSP432E4 Flash Based USB DFU Boot Loader Example" output file to the 432 device I then put the 432 into bootloader mode by cycling power after grounding pin PJ0 to ground. Once in bootloader mode I then flash usb_serial_device_MSP_EXP432E401Y_tirtos_ccs.txt over USB using BSL-scripter and I get the following result.
C:\ti\BSL-Scripter>bsl-scripter.exe script_usb_serial_device_MSP_EXP432E401Y_tirtos_ccs.txt
---------------------------------------------------------
BSL Scripter 3.4.0.1
PC software for BSL programming
2021-Oct-18 15:33:56
---------------------------------------------------------
Input file script is : C:/ti/BSL-Scripter/script_usb_serial_device_MSP_EXP432E401Y_tirtos_ccs.txt
MODE E4xx USB
Found device at USB port with device bus number : 0x01
and device address is: 0x08
Found DFU interface : 0x00
RX_DATA_BLOCK_FAST usb_serial_device_MSP_EXP432E401Y_tirtos_ccs.txt
Read Txt File : C:\ti\BSL-Scripter\usb_serial_device_MSP_EXP432E401Y_tirtos_ccs.txt
Time elapsed of writing 44272 bytes : 2.773 seconds
Speed of writing data :15.59(kB/s)
REBOOT_RESET
Once flashed I reset power and the 432 fails to show up in device manager under ports with a valid com assignment and I can no longer find DFU. To get the part functional again I must erase the device using Uniflash. The only changes I've made to the usb_serial_device_MSP_EXP432E401Y_tirtos_ccs example are below. What am I missing? Thanks!
Changes made to MSP_EXP432E401Y_TIRTOS.cmd:
#define BOOTLOADER_CODE 1
/*
* ======== MSP_EXP432E401Y_TIRTOS.cmd ========
* Define the memory block start/length for the MSP_EXP432E401Y M4F
*/
--stack_size=1024 /* C stack is also used for ISR stack */
HEAPSIZE = 0x20000; /* Size of heap buffer used by HeapMem */
#if BOOTLOADER_CODE
#define APP_BASE 0x00004000
#else
#define APP_BASE 0x00000000
#endif
MEMORY
{
FLASH (RX) : origin = APP_BASE, length = (0x00100000 - APP_BASE)
SRAM (RWX) : origin = 0x20000000, length = 0x00040000
}
/* Section allocation in memory */
SECTIONS
{
.intvecs: > APP_BASE
.text : > FLASH
.const : > FLASH
.rodata : > FLASH
.cinit : > FLASH
.pinit : > FLASH
.init_array : > FLASH
.TI.ramfunc : {} load=FLASH, run=SRAM, table(BINIT)
.data : > SRAM
.bss : > SRAM
.sysmem : > SRAM
/* Heap buffer used by HeapMem */
.priheap : {
__primary_heap_start__ = .;
. += HEAPSIZE;
__primary_heap_end__ = .;
} > SRAM align 8
.stack : > SRAM (HIGH)
}
Original code:
/*
* ======== MSP_EXP432E401Y_TIRTOS.cmd ========
* Define the memory block start/length for the MSP_EXP432E401Y M4F
*/
--stack_size=1024 /* C stack is also used for ISR stack */
HEAPSIZE = 0x20000; /* Size of heap buffer used by HeapMem */
MEMORY
{
FLASH (RX) : origin = 0x00000000, length = 0x00100000
SRAM (RWX) : origin = 0x20000000, length = 0x00040000
}
/* Section allocation in memory */
SECTIONS
{
.text : > FLASH
.const : > FLASH
.rodata : > FLASH
.cinit : > FLASH
.pinit : > FLASH
.init_array : > FLASH
.TI.ramfunc : {} load=FLASH, run=SRAM, table(BINIT)
.data : > SRAM
.bss : > SRAM
.sysmem : > SRAM
/* Heap buffer used by HeapMem */
.priheap : {
__primary_heap_start__ = .;
. += HEAPSIZE;
__primary_heap_end__ = .;
} > SRAM align 8
.stack : > SRAM (HIGH)
}
Added these 2 lines to the top of ..\usb_serial_device_tirtos\tirtos_builds_MSP_EXP432E401Y_release_ccs\release.cfg
var m3Hwi = xdc.useModule('ti.sysbios.family.arm.m3.Hwi');
m3Hwi.resetVectorAddress = 0x4000; /* App base */