[FAQ] Help, my F280033/F280034 device won't boot to flash!

Part Number: TMS320F280033
Other Parts Discussed in Thread: SYSCONFIG, UNIFLASH

The default boot to flash entry point is 0x80000 in the F28003x Boot ROM, which is not in the memory map for the F280033/F280034 subset parts. This thread will detail how to modify the boot to flash entry point to 0x88000 for F280033 and F280034 devices by programming the DCSM OTP. 

image.png

Source: https://www.ti.com/document-viewer/TMS320F280039C/datasheet#GUID-1CB72061-E6C5-423E-9D94-A52A75B27A11/TITLE-SPRSP45SPRSP456900

  • These steps detail how to program new boot configurations for DCSM Zone 1 to configure alternative flash boot to 0x88000 on fresh F280033/F280034 devices. The DCSM Tool in SysConfig will be leveraged to intuitively configure the boot configurations with the new flash entry point:

    1. Navigate and add the DCSM module.
    2. Un-check "Configure this Section" within the ZONE2 Header and ZONE2 LINKPOINTER + Zone-Select Block tabs. Now, only Zone 1 will be configured.
    3. Within ZONE1 Header, select Configure Boot Setting.
    4. Configure the boot settings are needed. For the purposes of this example, the only difference from the default boot modes is that the alternative flash boot to 0x88000 is used. You can configure the boot settings however necessary for your system.
    5. NOTE: Besides the boot configurations, the CMAC keys will also be programmed to non-default values (all zeros) by the DCSM tool unless configured otherwise. If don't want to program the CMAC keys just yet, you can change it to the default value (all 0xFFs). 
    6. Once your project is built with the DCSM tool's configurations (using the autogenerated dcsm.asm and dcsm.cmd files), you can program the device with the output (via CCS, UniFlash, etc.). Successful programming can be verified by looking at the DCSM Zone 1 OTP at 0x78000.The device will now be configured to boot to flash address 0x88000 instead of 0x80000, which can be invoked by setting GPIO24 and GPIO32 both to '1'. 

    Please also note the following:

    1. The device can be configured for the default boot to flash (to 0x80000) and still be able to successfully program the new configurations, despite 0x80000 not being in F280033/F280034's memory map.
    2. Please confirm that the application's linker command file is modified to account for the subset flash memory maps. In particular, the codestart for the application must be at the flash entry point for the configured flash boot mode.