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.

Problems flashing F28M35 after failed flash

Other Parts Discussed in Thread: UNIFLASH

I'm currently using the XDS100v2 on a USB-EMU docking station to do some development work on a custom board. Everything has been going fine until I've just recently, and inexplicably bricked two of our boards.

It occurred around the time of a failed attempt to run some code from RAM in CCS 5.5. Prior to the event, I'd regularly run code from RAM to debug various things, so it was working fine.

Now, this is the error that CCS gives me when I attempt to start a debug session:
Error connecting to the target:
(Error -1170 @ 0x0)
Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK).
(Emulation package 5.1.450.0)

If I attempt to erase the flash of the C28 core in UniFlash, I get something different:
Error connecting to the target:
(Error -1155 @ 0x0)
Device may be operating in low-power mode. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK).
(Emulation package 5.1.402.0)

If I pull the nXRS pin low and release it at exactly the right time, I can get the emulator connected to the M3 core. It is suspended @ 0x1001692. I can view some things in a memory browser, but other areas cause the connection to drop.

The JTAG test looks OK:
[Start]

Execute the command:

%ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity

[Result]


-----[Print the board config pathname(s)]------------------------------------

C:\Users\Matt\AppData\Local\.TI\693494126\
    0\0\BrdDat\testBoard.dat

-----[Print the reset-command software log-file]-----------------------------

This utility has selected a 100- or 510-class product.
This utility will load the adapter 'jioserdesusb.dll'.
The library build date was 'Aug 20 2013'.
The library build time was '22:56:19'.
The library package version is '5.1.232.0'.
The library component version is '35.34.40.0'.
The controller does not use a programmable FPGA.
The controller has a version number of '4' (0x00000004).
The controller has an insertion length of '0' (0x00000000).
This utility will attempt to reset the controller.
This utility has successfully reset the controller.

-----[Print the reset-command hardware log-file]-----------------------------

The scan-path will be reset by toggling the JTAG TRST signal.
The controller is the FTDI FT2232 with USB interface.
The link from controller to target is direct (without cable).
The software is configured for FTDI FT2232 features.
The controller cannot monitor the value on the EMU[0] pin.
The controller cannot monitor the value on the EMU[1] pin.
The controller cannot control the timing on output pins.
The controller cannot control the timing on input pins.
The scan-path link-delay has been set to exactly '0' (0x0000).

-----[The log-file for the JTAG TCLK output generated from the PLL]----------

There is no hardware for programming the JTAG TCLK frequency.

-----[Measure the source and frequency of the final JTAG TCLKR input]--------

There is no hardware for measuring the JTAG TCLK frequency.

-----[Perform the standard path-length test on the JTAG IR and DR]-----------

This path-length test uses blocks of 512 32-bit words.

The test for the JTAG IR instruction path-length succeeded.
The JTAG IR instruction path-length is 6 bits.

The test for the JTAG DR bypass path-length succeeded.
The JTAG DR bypass path-length is 1 bits.

-----[Perform the Integrity scan-test on the JTAG IR]------------------------

This test will use blocks of 512 32-bit words.
This test will be applied just once.

Do a test using 0xFFFFFFFF.
Scan tests: 1, skipped: 0, failed: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG IR Integrity scan-test has succeeded.

-----[Perform the Integrity scan-test on the JTAG DR]------------------------

This test will use blocks of 512 32-bit words.
This test will be applied just once.

Do a test using 0xFFFFFFFF.
Scan tests: 1, skipped: 0, failed: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG DR Integrity scan-test has succeeded.

[End]

What is going on? Have I somehow locked the controller?

  • Oh yeah, here are some other messages I get in CCS:Error connecting to the target:
    (Error -1044 @ 0x0)
    The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation.
    (Emulation package 5.1.232.0)

    Error connecting to the target:
    (Error -1063 @ 0x0)
    Device ID is not recognized or is not supported by driver. Confirm device and emulator configuration is correct, or update device driver.
    (Emulation package 5.1.232.0)

  • Here is a log while attempting to erase the flash of the M3, then the C28 cores.

    5367.erase_flash.log

  • Hello?

    I've just managed to brick another micro. Here is exactly what happens:

    1. I build the Debug version on my project for both the M3 and C28 core. This is designed to run from RAM.
    2. I hit the debug button in CCS. The debug config should load both the M3 and C28 code.
    3. It starts erasing the flash for the M3 (which is weird, given the project runs from RAM).
    4. It fails, and I get the following dialog pop up:

    5. I get the following in the console:

      Cortex_M3_0: GEL Output: Memory Map Initialization Complete
      Cortex_M3_0: GEL Output: Watchdog Timers Enabled
      Cortex_M3_0: GEL Output: UARTs Enabled
      Cortex_M3_0: Can't Run Target CPU: (Error -2134 @ 0x0) Unable to control device execution state. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.232.0)
      Cortex_M3_0: Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.232.0)
      Cortex_M3_0: Unable to determine target status after 20 attempts
      Cortex_M3_0: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
      Cortex_M3_0: Error during Flash verification (Flash algorithm returned error condition). Operation cancelled.
      Cortex_M3_0: Flash verification returned error condition. Operation cancelled.
      Cortex_M3_0: GEL: File: C:\Users\Matt\workspace_v5_5\nmr_master\Debug\nmr_master.out: Load failed.

    I'm getting a bit frustrated here. Nobody at TI seems to even be acknowledging the problem, let alone attempting to help fix it. CCS seems to have bricked 3 of our boards. Not happy.

  • Matthew,

    Please check your map file to know if there is anything mapped to Flash.  Flash erase should not happen unless something is mapped to Flash.  May be password locations or any of the security fields in Flash are there as part of coff file.  

    If not as a part of the coff file, did you try to program any security fields in Flash via Flash Plugin GUI or by executing Flash API from RAM?  

    Thanks and regards,

    Vamsi

  • Thanks for the reply.

    I've attached the map file for the COFF that caused the failure.

    3247.nmr_master.map.txt
    ******************************************************************************
                      TI ARM Linker PC v5.1.1                      
    ******************************************************************************
    >> Linked Sat Aug 16 19:23:56 2014
    
    OUTPUT FILE NAME:   <nmr_master.out>
    ENTRY POINT SYMBOL: "_c_int00"  address: 200058bd
    
    
    MEMORY CONFIGURATION
    
             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      OTP                   00680800   00001000  00000098  00000f68  RW  
      INTVECS               20000000   000001b0  000001b0  00000000  RW X
      C0                    200001b0   00001e50  00001e50  00000000  RW X
      C1                    20002000   00002000  00002000  00000000  RW X
      BOOT_RSVD             20004000   00000900  00000000  00000900  R  X
      C2_1                  20004900   00000700  000006fc  00000004  RW X
      RESETISR              20005000   00000008  00000006  00000002  RW X
      C2_2                  20005008   00000ff8  00000f40  000000b8  RW X
      C3                    20006000   00002000  00000000  00002000  RW X
      S0                    20008000   00002000  00000000  00002000  RW X
      S1                    2000a000   00002000  00000000  00002000  RW X
      S2                    2000c000   00002000  00000000  00002000  RW X
      S3                    2000e000   00002000  00000000  00002000  RW X
      S4                    20010000   00002000  00000000  00002000  RW X
      S5                    20012000   00002000  00000000  00002000  RW X
      S6                    20014000   00002000  00000000  00002000  RW X
      S7                    20016000   00002000  00000000  00002000  RW X
      CTOMRAM               2007f000   00000800  00000000  00000800  R  X
      MTOCRAM               2007f800   00000800  00000000  00000800  RW X
    
    
    SEGMENT ALLOCATION MAP
    
    run origin  load origin   length   init length attrs members
    ----------  ----------- ---------- ----------- ----- -------
    00680800    00680800    00000098   00000098    r--
      00680800    00680800    00000098   00000098    r-- .TI.crctab
    20000000    20000000    00004000   00004000    r-x
      20000000    20000000    000001b0   000001b0    r-- .intvecs
      200001b0    200001b0    00001e50   00001e50    r-x .text.1
      20002000    20002000    00002000   00002000    r-x .text.2
    20004900    20004900    00000044   00000000    rw-
      20004900    20004900    00000010   00000000    rw- .bss.1
      20004910    20004910    00000034   00000000    rw- .data
    20004948    20004948    000002b8   000002b8    r-x
      20004948    20004948    000002b8   000002b8    r-x .text.3
    20004c00    20004c00    00000400   00000000    rw-
      20004c00    20004c00    00000400   00000000    rw- .udmacontrol
    20005000    20005000    00000006   00000006    r-x
      20005000    20005000    00000006   00000006    r-x .resetisr
    20005008    20005008    00000800   00000000    rw-
      20005008    20005008    00000800   00000000    rw- .bss.2
    20005808    20005808    000003f0   000003f0    r-x
      20005808    20005808    000001ec   000001ec    r-x .text.4
      200059f8    200059f8    00000174   00000174    r-- .const
      20005b70    20005b70    00000088   00000088    r-- .cinit
    20005c00    20005c00    00000358   00000000    rw-
      20005c00    20005c00    00000258   00000000    rw- .vtable
      20005e58    20005e58    00000100   00000000    rw- .stack
    
    
    SECTION ALLOCATION MAP
    
     output                                  attributes/
    section   page    origin      length       input sections
    --------  ----  ----------  ----------   ----------------
    .TI.crctab 
    *          0    00680800    00000098     
                      00680800    00000098     (.TI.crctab:AppCrc)
    
    .intvecs   0    20000000    000001b0     
                      20000000    000001b0     startup_ccs.obj (.intvecs)
    
    .text.1    0    200001b0    00001e50     
                      200001b0    00000bb4     driverlib.lib : sysctl.obj (.text)
                      20000d64    000008d0                   : gpio.obj (.text)
                      20001634    00000730                   : uart.obj (.text)
                      20001d64    000001e8     main.obj (.text:main)
                      20001f4c    0000009c     rtsv7M3_T_le_eabi.lib : memcpy_t2.obj (.text)
                      20001fe8    00000018                           : args_main.obj (.text)
    
    .text.2    0    20002000    00002000     
                      20002000    00000578     driverlib.lib : ipc_lite.obj (.text)
                      20002578    00000544                   : udma.obj (.text)
                      20002abc    000003c4                   : interrupt.obj (.text)
                      20002e80    000003a8                   : ssi.obj (.text)
                      20003228    000002a0                   : watchdog.obj (.text)
                      200034c8    00000180                   : ipc_util.obj (.text)
                      20003648    00000136     rtsv7M3_T_le_eabi.lib : fd_div_t2.obj (.text)
                      2000377e    00000002     startup_ccs.obj (.text:FaultISR)
                      20003780    00000120     ipc.obj (.text:IPC_ServiceInterrupt)
                      200038a0    00000108     driverlib.lib : ram.obj (.text)
                      200039a8    000000fc     rtsv7M3_T_le_eabi.lib : fd_mul_t2.obj (.text)
                      20003aa4    000000ec     serial_comms.obj (.text:handle_interrupt)
                      20003b90    000000d8     serial_comms.obj (.text:cobs_decode_stream)
                      20003c68    000000d4     driverlib.lib : systick.obj (.text)
                      20003d3c    000000c0     serial_comms.obj (.text:Serial_Init)
                      20003dfc    00000094     rtsv7M3_T_le_eabi.lib : auto_init.obj (.text)
                      20003e90    00000078     dds.obj (.text:SPI_Init)
                      20003f08    0000006c     serial_comms.obj (.text:Serial_Send)
                      20003f74    0000005e     rtsv7M3_T_le_eabi.lib : copy_decompress_rle.obj (.text)
                      20003fd2    00000002     startup_ccs.obj (.text:IntDefaultHandler)
                      20003fd4    00000020     ipc.obj (.text:IPC_HandleSendData)
                      20003ff4    00000006     driverlib.lib : sysctl.obj (.text:SysCtlDelay)
                      20003ffa    00000006     rtsv7M3_T_le_eabi.lib : copy_decompress_rle.obj (.text:decompress:rle24)
    
    .bss.1     0    20004900    00000010     UNINITIALIZED
                      20004900    00000010     (.common:rx_buffer)
    
    .data      0    20004910    00000034     UNINITIALIZED
                      20004910    0000001a     serial_comms.obj (.data)
                      2000492a    00000002     --HOLE--
                      2000492c    00000008     rtsv7M3_T_le_eabi.lib : _lock.obj (.data)
                      20004934    00000008                           : exit.obj (.data)
                      2000493c    00000004     ipc.obj (.data)
                      20004940    00000004     rtsv7M3_T_le_eabi.lib : stkdepth_vars.obj (.data)
    
    .text.3    0    20004948    000002b8     
                      20004948    0000005c     ipc.obj (.text:IPC_Init)
                      200049a4    0000004e     messaging.obj (.text:Messaging_HandleMessage)
                      200049f2    0000004a     dds.obj (.text:DDS_SetDivider)
                      20004a3c    00000048     serial_comms.obj (.text:uDMA_Init)
                      20004a84    00000044     rtsv7M3_T_le_eabi.lib : cpy_tbl.obj (.text)
                      20004ac8    00000044                           : exit.obj (.text)
                      20004b0c    00000044                           : fd_tou_t2.obj (.text)
                      20004b50    00000040     dds.obj (.text:DDS_SetEnabled)
                      20004b90    00000040     dds.obj (.text:DDS_SetPhaseOffset)
                      20004bd0    00000030     ipc.obj (.text:IPC_SendSetConfiguration)
    
    .udmacontrol 
    *          0    20004c00    00000400     UNINITIALIZED
                      20004c00    00000400     serial_comms.obj (.udmacontrol)
    
    .resetisr 
    *          0    20005000    00000006     
                      20005000    00000006     startup_ccs.obj (.resetisr:ResetISR)
    
    .bss.2     0    20005008    00000800     UNINITIALIZED
                      20005008    00000800     serial_comms.obj (.bss:decoded_message)
    
    .text.4    0    20005808    000001ec     
                      20005808    00000040     dds.obj (.text:DDS_WriteAddress)
                      20005848    0000003e     ipc.obj (.text:IPC_HandleArmDDS)
                      20005886    00000036     driverlib.lib : cpu.obj (.text)
                      200058bc    00000034     rtsv7M3_T_le_eabi.lib : boot.obj (.text)
                      200058f0    00000020                           : u_tofd_t2.obj (.text)
                      20005910    0000001c     dds.obj (.text:DDS_Reset)
                      2000592c    0000001c     ipc.obj (.text:IPC_SendRunSequence)
                      20005948    0000001c     ipc.obj (.text:IPC_SendRunTuning)
                      20005964    0000001c     ipc.obj (.text:IPC_SendStartLogging)
                      20005980    0000001c     ipc.obj (.text:IPC_SendStopLogging)
                      2000599c    00000014     dds.obj (.text:DDS_Init)
                      200059b0    00000014     rtsv7M3_T_le_eabi.lib : _lock.obj (.text)
                      200059c4    00000012                           : copy_zero_init.obj (.text:decompress:ZI)
                      200059d6    0000000e     main.obj (.text:__error__)
                      200059e4    0000000e     rtsv7M3_T_le_eabi.lib : copy_decompress_none.obj (.text:decompress:none)
                      200059f2    00000002     startup_ccs.obj (.text:NmiSR)
    
    .const     0    200059f8    00000174     
                      200059f8    00000088     driverlib.lib : gpio.obj (.const:g_pulGPIOBaseAddrs)
                      20005a80    00000064                   : sysctl.obj (.const)
                      20005ae4    00000048                   : interrupt.obj (.const:g_pulRegs)
                      20005b2c    00000020                   : interrupt.obj (.const)
                      20005b4c    00000020                   : ssi.obj (.const)
    
    .cinit     0    20005b70    00000088     
                      20005b70    00000032     (.cinit..data.load) [load image, compression = rle]
                      20005ba2    00000002     --HOLE-- [fill = 0]
                      20005ba4    0000000c     (__TI_handler_table)
                      20005bb0    00000008     (.cinit..bss.1.load) [load image, compression = zero_init]
                      20005bb8    00000008     (.cinit..bss.2.load) [load image, compression = zero_init]
                      20005bc0    00000008     (.cinit..udmacontrol.load) [load image, compression = zero_init]
                      20005bc8    00000008     (.cinit..vtable.load) [load image, compression = zero_init]
                      20005bd0    00000028     (__TI_cinit_table)
    
    .vtable    0    20005c00    00000258     UNINITIALIZED
                      20005c00    00000258     driverlib.lib : interrupt.obj (.vtable)
    
    .stack     0    20005e58    00000100     UNINITIALIZED
                      20005e58    00000100     --HOLE--
    
    GETBUFFER 
    *          0    2007f000    00000000     DSECT
    
    GETWRITEIDX 
    *          0    2007f000    00000000     DSECT
    
    PUTREADIDX 
    *          0    2007f000    00000000     DSECT
    
    
    LINKER GENERATED COPY TABLES
    
    __TI_cinit_table @ 20005bd0 records: 5, size/record: 8, table size: 40
    	.data: load addr=20005b70, load size=00000032 bytes, run addr=20004910, run size=00000034 bytes, compression=rle
    	.bss.1: load addr=20005bb0, load size=00000008 bytes, run addr=20004900, run size=00000010 bytes, compression=zero_init
    	.bss.2: load addr=20005bb8, load size=00000008 bytes, run addr=20005008, run size=00000800 bytes, compression=zero_init
    	.udmacontrol: load addr=20005bc0, load size=00000008 bytes, run addr=20004c00, run size=00000400 bytes, compression=zero_init
    	.vtable: load addr=20005bc8, load size=00000008 bytes, run addr=20005c00, run size=00000258 bytes, compression=zero_init
    
    
    LINKER GENERATED HANDLER TABLE
    
    __TI_handler_table @ 20005ba4 records: 3, size/record: 4, table size: 12
    	index: 0, handler: __TI_zero_init
    	index: 1, handler: __TI_decompress_rle24
    	index: 2, handler: __TI_decompress_none
    
    
    LINKER GENERATED CRC TABLES
    
    AppCrc @ 00680800 records: 6, size/record: 24, table size: 152
    	.text.1: algorithm=CRC32_PRIME(ID=0), load addr=200001b0, size=00001e50, CRC=00000000a1848178
    	.text.2: algorithm=CRC32_PRIME(ID=0), load addr=20002000, size=00002000, CRC=00000000a0e5495a
    	.text.3: algorithm=CRC32_PRIME(ID=0), load addr=20004948, size=000002b8, CRC=00000000013746f9
    	.text.4: algorithm=CRC32_PRIME(ID=0), load addr=20005808, size=000001ec, CRC=00000000f20b18b2
    	.const: algorithm=CRC32_PRIME(ID=0), load addr=200059f8, size=00000174, CRC=00000000ab921942
    	.cinit: algorithm=CRC32_PRIME(ID=0), load addr=20005b70, size=00000088, CRC=000000003640fa12
    
    
    GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name 
    
    address    name
    --------   ----
    00680800   AppCrc
    20004ac9   C$$EXIT
    200058b3   CPUbasepriGet
    200058ad   CPUbasepriSet
    20005887   CPUcpsid
    2000589d   CPUcpsie
    20005893   CPUprimask
    200058a9   CPUwfi
    2000599d   DDS_Init
    20005911   DDS_Reset
    200049f3   DDS_SetDivider
    20004b51   DDS_SetEnabled
    20004b91   DDS_SetPhaseOffset
    20000f05   GPIODirModeGet
    20000ead   GPIODirModeSet
    20000fc9   GPIOIntTypeGet
    20000f4f   GPIOIntTypeSet
    20001119   GPIOPadConfigGet
    2000108d   GPIOPadConfigSet
    200014b9   GPIOPinConfigure
    2000154b   GPIOPinConfigureCoreSelect
    2000122b   GPIOPinIntClear
    2000119d   GPIOPinIntDisable
    2000117b   GPIOPinIntEnable
    20001207   GPIOPinIntStatus
    200015b1   GPIOPinLock
    20001591   GPIOPinLockStatus
    2000129b   GPIOPinRead
    200012d5   GPIOPinTypeCAN
    2000148d   GPIOPinTypeEPI
    20001301   GPIOPinTypeGPIOInput
    2000132d   GPIOPinTypeGPIOOutput
    20001359   GPIOPinTypeGPIOOutputOD
    20001385   GPIOPinTypeI2C
    200013b1   GPIOPinTypeSSI
    200013dd   GPIOPinTypeTimer
    20001409   GPIOPinTypeUART
    20001461   GPIOPinTypeUSBAnalog
    20001435   GPIOPinTypeUSBDigital
    200015eb   GPIOPinUnlock
    200012b7   GPIOPinWrite
    20001247   GPIOPortIntRegister
    20001273   GPIOPortIntUnregister
    200034c9   IPCCtoMFlagAcknowledge
    200034d3   IPCCtoMFlagBusy
    20002391   IPCLiteCtoMClearBits
    200023eb   IPCLiteCtoMClearBits_Protected
    2000226f   IPCLiteCtoMDataRead
    2000245b   IPCLiteCtoMDataWrite
    200024b1   IPCLiteCtoMDataWrite_Protected
    2000251d   IPCLiteCtoMFunctionCall
    200022b7   IPCLiteCtoMSetBits
    20002319   IPCLiteCtoMSetBits_Protected
    20002249   IPCLiteMtoCBootBranch
    20002117   IPCLiteMtoCClearBits
    2000215f   IPCLiteMtoCClearBits_Protected
    20002029   IPCLiteMtoCDataRead
    200021a7   IPCLiteMtoCDataWrite
    200021e1   IPCLiteMtoCDataWrite_Protected
    2000221b   IPCLiteMtoCFunctionCall
    20002001   IPCLiteMtoCGetResult
    20002067   IPCLiteMtoCSetBits
    200020bf   IPCLiteMtoCSetBits_Protected
    20003525   IPCMtoCBootControlSystem
    200034e5   IPCMtoCFlagBusy
    20003503   IPCMtoCFlagClear
    200034f7   IPCMtoCFlagSet
    2000350f   IPCMtoCSharedRamConvert
    20005849   IPC_HandleArmDDS
    20003fd5   IPC_HandleSendData
    20004949   IPC_Init
    2000592d   IPC_SendRunSequence
    20005949   IPC_SendRunTuning
    20004bd1   IPC_SendSetConfiguration
    20005965   IPC_SendStartLogging
    20005981   IPC_SendStopLogging
    20002c95   IntDisable
    20002c0f   IntEnable
    20002ad3   IntFlashVTable
    20002ac9   IntMasterDisable
    20002abf   IntMasterEnable
    20002df9   IntPendClear
    20002d29   IntPendSet
    20002be1   IntPriorityGet
    20002b7d   IntPriorityGroupingGet
    20002b59   IntPriorityGroupingSet
    200058b3   IntPriorityMaskGet
    200058ad   IntPriorityMaskSet
    20002b9f   IntPrioritySet
    20002ae1   IntRAMVTable
    20002aef   IntRegister
    20002b3d   IntUnregister
    200049a5   Messaging_HandleMessage
    20003931   RAMControlInitL0L3Ram
    200038c7   RAMControlInitM1MsgRam
    200038a1   RAMMReqSharedMemAccess
    20005001   ResetISR
    UNDEFED    SHT$$INIT_ARRAY$$Base
    UNDEFED    SHT$$INIT_ARRAY$$Limit
    20003207   SSIBusy
    20002ec7   SSIConfigSetExpClk
    200031a3   SSIDMADisable
    20003185   SSIDMAEnable
    20003127   SSIDataGet
    2000315d   SSIDataGetNonBlocking
    200030a9   SSIDataPut
    200030e5   SSIDataPutNonBlocking
    20002fc3   SSIDisable
    20002fa7   SSIEnable
    2000308f   SSIIntClear
    20003051   SSIIntDisable
    20003033   SSIIntEnable
    20002fdf   SSIIntRegister
    2000306f   SSIIntStatus
    2000300b   SSIIntUnregister
    20003d3d   Serial_Init
    20003f09   Serial_Send
    20000ac9   SysCtlC28Disable
    20000ab1   SysCtlC28Enable
    200009e5   SysCtlClockConfigGet
    200009a1   SysCtlClockConfigSet
    20000755   SysCtlClockDividersSet
    20000a3d   SysCtlClockGet
    2000087d   SysCtlClockPllConfig
    200006a5   SysCtlDeepSleep
    20003ff5   SysCtlDelay
    20000c1f   SysCtlEnableAERRNMI
    200001cf   SysCtlFlashSizeGet
    20000b01   SysCtlGPIOAHBDisable
    20000ae5   SysCtlGPIOAHBEnable
    20000c37   SysCtlGetNmiConfig
    20000c51   SysCtlGetNmiFlagStatus
    20000c45   SysCtlGetNmiInterruptStatus
    20000cb7   SysCtlHoldSubSystemInReset
    20000c6d   SysCtlNmiFlgClr
    20000c99   SysCtlNmiFlgClrAll
    20000c57   SysCtlNmiIsSet
    20000675   SysCtlPeripheralClockGating
    200005e9   SysCtlPeripheralDeepSleepDisable
    200005a5   SysCtlPeripheralDeepSleepEnable
    20000499   SysCtlPeripheralDisable
    20000445   SysCtlPeripheralEnable
    200004d3   SysCtlPeripheralIsEnabled
    200002f1   SysCtlPeripheralPresent
    20000367   SysCtlPeripheralReset
    20000555   SysCtlPeripheralSleepDisable
    20000515   SysCtlPeripheralSleepEnable
    2000085b   SysCtlPowerOffPLL
    20000ce5   SysCtlReleaseSubSystemFromReset
    20000699   SysCtlReset
    200006d1   SysCtlResetCauseClear
    200006c5   SysCtlResetCauseGet
    200001b1   SysCtlSRAMSizeGet
    200058a9   SysCtlSleep
    20000d05   SysCtlSubSystemReset
    20000c01   SysCtlUSBPLLConfigGet
    20000b6f   SysCtlUSBPLLConfigSet
    20000b57   SysCtlUSBPLLDisable
    20000b25   SysCtlUSBPLLEnable
    200006df   SysCtlXPllClockDividerSet
    20003c75   SysTickDisable
    20003c69   SysTickEnable
    20003cb3   SysTickIntDisable
    20003ca7   SysTickIntEnable
    20003c81   SysTickIntRegister
    20003c97   SysTickIntUnregister
    20003cdb   SysTickPeriodGet
    20003cbf   SysTickPeriodSet
    20003ce5   SysTickValueGet
    20001b77   UARTBreakCtl
    20001ba1   UARTBusy
    20001b0d   UARTCharGet
    20001ae9   UARTCharGetNonBlocking
    20001b57   UARTCharPut
    20001b31   UARTCharPutNonBlocking
    20001aa9   UARTCharsAvail
    200017a3   UARTConfigGetExpClk
    20001729   UARTConfigSetExpClk
    20001cfb   UARTDMADisable
    20001cdd   UARTDMAEnable
    2000180b   UARTDisable
    2000189f   UARTDisableSIR
    200017e3   UARTEnable
    20001873   UARTEnableSIR
    20001855   UARTFIFODisable
    20001837   UARTFIFOEnable
    20001703   UARTFIFOLevelGet
    200016b1   UARTFIFOLevelSet
    20001a3d   UARTFlowControlGet
    20001a09   UARTFlowControlSet
    20001cc3   UARTIntClear
    20001c85   UARTIntDisable
    20001c63   UARTIntEnable
    20001bbd   UARTIntRegister
    20001ca3   UARTIntStatus
    20001c15   UARTIntUnregister
    20001997   UARTModemControlClear
    200019cf   UARTModemControlGet
    2000191d   UARTModemControlSet
    200019eb   UARTModemStatusGet
    20001697   UARTParityModeGet
    2000165b   UARTParityModeSet
    20001d35   UARTRxErrorClear
    20001d19   UARTRxErrorGet
    200018f9   UARTSmartCardDisable
    200018bd   UARTSmartCardEnable
    20001ac9   UARTSpaceAvail
    20001a8d   UARTTxIntModeGet
    20001a59   UARTTxIntModeSet
    20003249   WatchdogEnable
    20003405   WatchdogIntClear
    200033bb   WatchdogIntEnable
    2000336b   WatchdogIntRegister
    200033df   WatchdogIntStatus
    20003395   WatchdogIntUnregister
    200032af   WatchdogLock
    200032ef   WatchdogLockState
    20003333   WatchdogReloadGet
    20003315   WatchdogReloadSet
    2000328d   WatchdogResetDisable
    2000326b   WatchdogResetEnable
    20003229   WatchdogRunning
    2000344d   WatchdogStallDisable
    20003425   WatchdogStallEnable
    200032cf   WatchdogUnlock
    2000334f   WatchdogValueGet
    20005f58   __STACK_END
    00000100   __STACK_SIZE
    20005bd0   __TI_CINIT_Base
    20005bf8   __TI_CINIT_Limit
    00680800   __TI_CRC_AppCrc
    20005ba4   __TI_Handler_Table_Base
    20005bb0   __TI_Handler_Table_Limit
    00000001   __TI_args_main
    20003dfd   __TI_auto_init
    20004934   __TI_cleanup_ptr
    200059e5   __TI_decompress_none
    20003ffb   __TI_decompress_rle24
    20004938   __TI_dtors_ptr
    20005b70   __TI_static_base__
    200059c5   __TI_zero_init
    20004b0d   __aeabi_d2uiz
    20003649   __aeabi_ddiv
    200039a9   __aeabi_dmul
    20001f4d   __aeabi_memcpy
    20001f4d   __aeabi_memcpy4
    20001f4d   __aeabi_memcpy8
    200058f1   __aeabi_ui2d
    ffffffff   __binit__
    ffffffff   __c_args__
    200059d7   __error__
    20005e58   __stack
    20001fe9   _args_main
    200058bd   _c_int00
    2000492c   _lock
    200059bf   _nop
    200059b7   _register_lock
    200059b1   _register_unlock
    20004930   _unlock
    20004acd   abort
    ffffffff   binit
    20004a85   copy_in
    20004ad5   exit
    20005c00   g_pfnRAMVectors
    20000000   g_pfnVectors
    20001d65   main
    20004940   main_func_sp
    20001f4d   memcpy
    20002a01   uDMAChannel0_7SelectAltMapping
    200029f5   uDMAChannel0_7SelectDefault
    20002a37   uDMAChannel16_23SelectAltMapping
    20002a29   uDMAChannel16_23SelectDefault
    20002a51   uDMAChannel24_31SelectAltMapping
    20002a43   uDMAChannel24_31SelectDefault
    20002a1d   uDMAChannel8_15SelectAltMapping
    20002a0b   uDMAChannel8_15SelectDefault
    200026ad   uDMAChannelAttributeDisable
    2000264b   uDMAChannelAttributeEnable
    2000270d   uDMAChannelAttributeGet
    20002769   uDMAChannelControlSet
    200025b7   uDMAChannelDisable
    2000259b   uDMAChannelEnable
    200025d3   uDMAChannelIsEnabled
    200029af   uDMAChannelModeGet
    2000262b   uDMAChannelRequest
    20002891   uDMAChannelScatterGatherSet
    20002971   uDMAChannelSizeGet
    200027a9   uDMAChannelTransferSet
    20002623   uDMAControlAlternateBaseGet
    2000261b   uDMAControlBaseGet
    200025f1   uDMAControlBaseSet
    20002581   uDMADisable
    20002579   uDMAEnable
    20002591   uDMAErrorStatusClear
    20002589   uDMAErrorStatusGet
    20002a5d   uDMAIntRegister
    20002a93   uDMAIntUnregister
    20004c00   uDMA_control_table
    
    
    GLOBAL SYMBOLS: SORTED BY Symbol Address 
    
    address    name
    --------   ----
    00000001   __TI_args_main
    00000100   __STACK_SIZE
    00680800   AppCrc
    00680800   __TI_CRC_AppCrc
    20000000   g_pfnVectors
    200001b1   SysCtlSRAMSizeGet
    200001cf   SysCtlFlashSizeGet
    200002f1   SysCtlPeripheralPresent
    20000367   SysCtlPeripheralReset
    20000445   SysCtlPeripheralEnable
    20000499   SysCtlPeripheralDisable
    200004d3   SysCtlPeripheralIsEnabled
    20000515   SysCtlPeripheralSleepEnable
    20000555   SysCtlPeripheralSleepDisable
    200005a5   SysCtlPeripheralDeepSleepEnable
    200005e9   SysCtlPeripheralDeepSleepDisable
    20000675   SysCtlPeripheralClockGating
    20000699   SysCtlReset
    200006a5   SysCtlDeepSleep
    200006c5   SysCtlResetCauseGet
    200006d1   SysCtlResetCauseClear
    200006df   SysCtlXPllClockDividerSet
    20000755   SysCtlClockDividersSet
    2000085b   SysCtlPowerOffPLL
    2000087d   SysCtlClockPllConfig
    200009a1   SysCtlClockConfigSet
    200009e5   SysCtlClockConfigGet
    20000a3d   SysCtlClockGet
    20000ab1   SysCtlC28Enable
    20000ac9   SysCtlC28Disable
    20000ae5   SysCtlGPIOAHBEnable
    20000b01   SysCtlGPIOAHBDisable
    20000b25   SysCtlUSBPLLEnable
    20000b57   SysCtlUSBPLLDisable
    20000b6f   SysCtlUSBPLLConfigSet
    20000c01   SysCtlUSBPLLConfigGet
    20000c1f   SysCtlEnableAERRNMI
    20000c37   SysCtlGetNmiConfig
    20000c45   SysCtlGetNmiInterruptStatus
    20000c51   SysCtlGetNmiFlagStatus
    20000c57   SysCtlNmiIsSet
    20000c6d   SysCtlNmiFlgClr
    20000c99   SysCtlNmiFlgClrAll
    20000cb7   SysCtlHoldSubSystemInReset
    20000ce5   SysCtlReleaseSubSystemFromReset
    20000d05   SysCtlSubSystemReset
    20000ead   GPIODirModeSet
    20000f05   GPIODirModeGet
    20000f4f   GPIOIntTypeSet
    20000fc9   GPIOIntTypeGet
    2000108d   GPIOPadConfigSet
    20001119   GPIOPadConfigGet
    2000117b   GPIOPinIntEnable
    2000119d   GPIOPinIntDisable
    20001207   GPIOPinIntStatus
    2000122b   GPIOPinIntClear
    20001247   GPIOPortIntRegister
    20001273   GPIOPortIntUnregister
    2000129b   GPIOPinRead
    200012b7   GPIOPinWrite
    200012d5   GPIOPinTypeCAN
    20001301   GPIOPinTypeGPIOInput
    2000132d   GPIOPinTypeGPIOOutput
    20001359   GPIOPinTypeGPIOOutputOD
    20001385   GPIOPinTypeI2C
    200013b1   GPIOPinTypeSSI
    200013dd   GPIOPinTypeTimer
    20001409   GPIOPinTypeUART
    20001435   GPIOPinTypeUSBDigital
    20001461   GPIOPinTypeUSBAnalog
    2000148d   GPIOPinTypeEPI
    200014b9   GPIOPinConfigure
    2000154b   GPIOPinConfigureCoreSelect
    20001591   GPIOPinLockStatus
    200015b1   GPIOPinLock
    200015eb   GPIOPinUnlock
    2000165b   UARTParityModeSet
    20001697   UARTParityModeGet
    200016b1   UARTFIFOLevelSet
    20001703   UARTFIFOLevelGet
    20001729   UARTConfigSetExpClk
    200017a3   UARTConfigGetExpClk
    200017e3   UARTEnable
    2000180b   UARTDisable
    20001837   UARTFIFOEnable
    20001855   UARTFIFODisable
    20001873   UARTEnableSIR
    2000189f   UARTDisableSIR
    200018bd   UARTSmartCardEnable
    200018f9   UARTSmartCardDisable
    2000191d   UARTModemControlSet
    20001997   UARTModemControlClear
    200019cf   UARTModemControlGet
    200019eb   UARTModemStatusGet
    20001a09   UARTFlowControlSet
    20001a3d   UARTFlowControlGet
    20001a59   UARTTxIntModeSet
    20001a8d   UARTTxIntModeGet
    20001aa9   UARTCharsAvail
    20001ac9   UARTSpaceAvail
    20001ae9   UARTCharGetNonBlocking
    20001b0d   UARTCharGet
    20001b31   UARTCharPutNonBlocking
    20001b57   UARTCharPut
    20001b77   UARTBreakCtl
    20001ba1   UARTBusy
    20001bbd   UARTIntRegister
    20001c15   UARTIntUnregister
    20001c63   UARTIntEnable
    20001c85   UARTIntDisable
    20001ca3   UARTIntStatus
    20001cc3   UARTIntClear
    20001cdd   UARTDMAEnable
    20001cfb   UARTDMADisable
    20001d19   UARTRxErrorGet
    20001d35   UARTRxErrorClear
    20001d65   main
    20001f4d   __aeabi_memcpy
    20001f4d   __aeabi_memcpy4
    20001f4d   __aeabi_memcpy8
    20001f4d   memcpy
    20001fe9   _args_main
    20002001   IPCLiteMtoCGetResult
    20002029   IPCLiteMtoCDataRead
    20002067   IPCLiteMtoCSetBits
    200020bf   IPCLiteMtoCSetBits_Protected
    20002117   IPCLiteMtoCClearBits
    2000215f   IPCLiteMtoCClearBits_Protected
    200021a7   IPCLiteMtoCDataWrite
    200021e1   IPCLiteMtoCDataWrite_Protected
    2000221b   IPCLiteMtoCFunctionCall
    20002249   IPCLiteMtoCBootBranch
    2000226f   IPCLiteCtoMDataRead
    200022b7   IPCLiteCtoMSetBits
    20002319   IPCLiteCtoMSetBits_Protected
    20002391   IPCLiteCtoMClearBits
    200023eb   IPCLiteCtoMClearBits_Protected
    2000245b   IPCLiteCtoMDataWrite
    200024b1   IPCLiteCtoMDataWrite_Protected
    2000251d   IPCLiteCtoMFunctionCall
    20002579   uDMAEnable
    20002581   uDMADisable
    20002589   uDMAErrorStatusGet
    20002591   uDMAErrorStatusClear
    2000259b   uDMAChannelEnable
    200025b7   uDMAChannelDisable
    200025d3   uDMAChannelIsEnabled
    200025f1   uDMAControlBaseSet
    2000261b   uDMAControlBaseGet
    20002623   uDMAControlAlternateBaseGet
    2000262b   uDMAChannelRequest
    2000264b   uDMAChannelAttributeEnable
    200026ad   uDMAChannelAttributeDisable
    2000270d   uDMAChannelAttributeGet
    20002769   uDMAChannelControlSet
    200027a9   uDMAChannelTransferSet
    20002891   uDMAChannelScatterGatherSet
    20002971   uDMAChannelSizeGet
    200029af   uDMAChannelModeGet
    200029f5   uDMAChannel0_7SelectDefault
    20002a01   uDMAChannel0_7SelectAltMapping
    20002a0b   uDMAChannel8_15SelectDefault
    20002a1d   uDMAChannel8_15SelectAltMapping
    20002a29   uDMAChannel16_23SelectDefault
    20002a37   uDMAChannel16_23SelectAltMapping
    20002a43   uDMAChannel24_31SelectDefault
    20002a51   uDMAChannel24_31SelectAltMapping
    20002a5d   uDMAIntRegister
    20002a93   uDMAIntUnregister
    20002abf   IntMasterEnable
    20002ac9   IntMasterDisable
    20002ad3   IntFlashVTable
    20002ae1   IntRAMVTable
    20002aef   IntRegister
    20002b3d   IntUnregister
    20002b59   IntPriorityGroupingSet
    20002b7d   IntPriorityGroupingGet
    20002b9f   IntPrioritySet
    20002be1   IntPriorityGet
    20002c0f   IntEnable
    20002c95   IntDisable
    20002d29   IntPendSet
    20002df9   IntPendClear
    20002ec7   SSIConfigSetExpClk
    20002fa7   SSIEnable
    20002fc3   SSIDisable
    20002fdf   SSIIntRegister
    2000300b   SSIIntUnregister
    20003033   SSIIntEnable
    20003051   SSIIntDisable
    2000306f   SSIIntStatus
    2000308f   SSIIntClear
    200030a9   SSIDataPut
    200030e5   SSIDataPutNonBlocking
    20003127   SSIDataGet
    2000315d   SSIDataGetNonBlocking
    20003185   SSIDMAEnable
    200031a3   SSIDMADisable
    20003207   SSIBusy
    20003229   WatchdogRunning
    20003249   WatchdogEnable
    2000326b   WatchdogResetEnable
    2000328d   WatchdogResetDisable
    200032af   WatchdogLock
    200032cf   WatchdogUnlock
    200032ef   WatchdogLockState
    20003315   WatchdogReloadSet
    20003333   WatchdogReloadGet
    2000334f   WatchdogValueGet
    2000336b   WatchdogIntRegister
    20003395   WatchdogIntUnregister
    200033bb   WatchdogIntEnable
    200033df   WatchdogIntStatus
    20003405   WatchdogIntClear
    20003425   WatchdogStallEnable
    2000344d   WatchdogStallDisable
    200034c9   IPCCtoMFlagAcknowledge
    200034d3   IPCCtoMFlagBusy
    200034e5   IPCMtoCFlagBusy
    200034f7   IPCMtoCFlagSet
    20003503   IPCMtoCFlagClear
    2000350f   IPCMtoCSharedRamConvert
    20003525   IPCMtoCBootControlSystem
    20003649   __aeabi_ddiv
    200038a1   RAMMReqSharedMemAccess
    200038c7   RAMControlInitM1MsgRam
    20003931   RAMControlInitL0L3Ram
    200039a9   __aeabi_dmul
    20003c69   SysTickEnable
    20003c75   SysTickDisable
    20003c81   SysTickIntRegister
    20003c97   SysTickIntUnregister
    20003ca7   SysTickIntEnable
    20003cb3   SysTickIntDisable
    20003cbf   SysTickPeriodSet
    20003cdb   SysTickPeriodGet
    20003ce5   SysTickValueGet
    20003d3d   Serial_Init
    20003dfd   __TI_auto_init
    20003f09   Serial_Send
    20003fd5   IPC_HandleSendData
    20003ff5   SysCtlDelay
    20003ffb   __TI_decompress_rle24
    2000492c   _lock
    20004930   _unlock
    20004934   __TI_cleanup_ptr
    20004938   __TI_dtors_ptr
    20004940   main_func_sp
    20004949   IPC_Init
    200049a5   Messaging_HandleMessage
    200049f3   DDS_SetDivider
    20004a85   copy_in
    20004ac9   C$$EXIT
    20004acd   abort
    20004ad5   exit
    20004b0d   __aeabi_d2uiz
    20004b51   DDS_SetEnabled
    20004b91   DDS_SetPhaseOffset
    20004bd1   IPC_SendSetConfiguration
    20004c00   uDMA_control_table
    20005001   ResetISR
    20005849   IPC_HandleArmDDS
    20005887   CPUcpsid
    20005893   CPUprimask
    2000589d   CPUcpsie
    200058a9   CPUwfi
    200058a9   SysCtlSleep
    200058ad   CPUbasepriSet
    200058ad   IntPriorityMaskSet
    200058b3   CPUbasepriGet
    200058b3   IntPriorityMaskGet
    200058bd   _c_int00
    200058f1   __aeabi_ui2d
    20005911   DDS_Reset
    2000592d   IPC_SendRunSequence
    20005949   IPC_SendRunTuning
    20005965   IPC_SendStartLogging
    20005981   IPC_SendStopLogging
    2000599d   DDS_Init
    200059b1   _register_unlock
    200059b7   _register_lock
    200059bf   _nop
    200059c5   __TI_zero_init
    200059d7   __error__
    200059e5   __TI_decompress_none
    20005b70   __TI_static_base__
    20005ba4   __TI_Handler_Table_Base
    20005bb0   __TI_Handler_Table_Limit
    20005bd0   __TI_CINIT_Base
    20005bf8   __TI_CINIT_Limit
    20005c00   g_pfnRAMVectors
    20005e58   __stack
    20005f58   __STACK_END
    ffffffff   __binit__
    ffffffff   __c_args__
    ffffffff   binit
    UNDEFED    SHT$$INIT_ARRAY$$Base
    UNDEFED    SHT$$INIT_ARRAY$$Limit
    
    [298 symbols]
    

    Can you please have a look at it and verify things are where they are supposed to be?

    I've never manually attempted to program any security fields via CCS or UniFlash, nor via the Flash API.

    Matt

  • Bump to get the attention of a TI employee.

    Do I have to wait another 9 days for a response?

  • Matthew,

    Looks like you mapped something (TI.crctab:AppCrc) at 0x680800.  This location in OTP is dedicated for OTPSECLOCK.  Based on what you program in this location, JTAG can get blocked (the log you sent is also showing an emulation error).  Please carefully review the TRM document located at  http://www.ti.com/lit/ug/spruh22f/spruh22f.pdf.  Search for OTPSECLOCK and read the description for each of the fields in this register.  May be the data that you are programming at OTPSECLOCK location in OTP is causing this behavior.  

    Also note that

    (i) 0x68080C is dedicated for Zone2 Flash entry point.   

    (ii) 0x680810 and 0x680814 are dedicated for EMACID.  

    Please check what you programming at these locations as well.

    Thanks and regards,

    Vamsi 

  • Thanks Vamsi,

    You may have solved it. TI.crctab isn't a part of any of my code. I'm pretty sure it is the M3 CRC table and is a side effect of linking to the M3 driverlib.

    As for why it is being written to OTP, it seems to be that the TI linker decided that was an appropriate place. I do have the following in my cmd file:
    OTP (RW)         : origin = 0x00680800, length = 0x1000

    This is because I've changed the boot mode pins (see the discussion here - http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/312626.aspx).

    I've also noticed that the linker does warn me during the build process:
    #10247-D creating output section ".TI.crctab" without a SECTIONS specification    main.c    /nmr_master         C/C++ Problem

    Two questions:

    1. Is it possible to fix the broken boards? It looks like 152 bytes have been written to the OTP starting at 0x680800.
    2. How do I stop the linker from writing anything but what I specify to the OTP? I need the OTP section in the linker file to write the boot mode pin configuration when I'm flashing to new boards. I don't want the linker deciding to put CRC tables or anything else in that section.
  • Bump to try and get a response.

  • Matt,

    OTP is is one time programmable, so you cannot fix the broken devices.

    If you are just programming an alternate boot pin configuration in OTP (few words) why do you need to declare an OTP section of length 0x1000 in linker command file? you can just restrict the size and start address of the sectors to what you really want to be linked into OTP and don't even put the rest of the OTP address in the linker command file.

    or you can have NOLOAD attribute to the rest of the OTP sections to which you don't want anything to be linked.

    Best Regards

    Santosh