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.

Debugger using wrong endianness on RM48



Hello all.

Using the latest CCSv5 I am unable to debug the RM48 HDK target. My project files correctly produce little endian binaries, but the debugger insists that the target is big endian.  When I launch the debugger independently, the disassembler processes memory as big endian and produces nonsense.

Host is Window 7 64-bit SP1

CCSv5 Version is 5.5.0.00058 

Attachments include diagnostic archive with debug log, together with my config and board data files.

Hope you're able to help. 

Thanks in advance.

RM48-problem.zip
  • Hi,

    Unfortunately I don't have the same hardware board, but my RM42 Launchpad (with the same emulator as yours) correctly shows LE at the status bar and the memory and disassembly (check the attached screen). I don't see anything wrong with the .ccxml or the ccBoard0.dat files, therefore I am not 100% sure what may be happening.

    One detail: you are using an unreleased version of CCS, therefore I wonder if this may be the reason of the different behavior. I will try to get this release and give it a try.

    Regards,

    Rafael

  • Thanks for your help Rafael.

    The following debug log excerpt might provide a clue:

    0x0000379C 332161 3 FLASH R: FlashProgrammerUtility::ReadReg() = 1, reg = 0x200003D3
    0x0000379C 332161 3 FLASH C: FlashProgrammerUtility::SetBigEndian(1)
    0x0000379C 332161 3 FLASH R: FlashProgrammerUtility::SetBigEndian()
    0x0000379C 332161 3 FLASH C: FlashProgrammerUtility::SetMemWidth(0)
    0x0000379C 332161 3 FLASH R: FlashProgrammerUtility::SetMemWidth()
    0x0000379C 332161 3 FLASH C: FlashHercules::CoreTypeLookup(TMS470RDX, 1)
    0x0000379C 332161 3 FLASH R: FlashHercules::CoreTypeLookup() = R4_BigEndian
    0x0000379C 332161 3 FLASH C: FlashProgrammerUtility::GetPath()
    0x0000379C 332161 3 FLASH R: FlashProgrammerUtility::GetPath() = C:\ti\ccsv5\ccs_base\DebugServer\bin\
    0x0000379C 332161 3 FLASH C: FlashProgrammerUtility::ReadMem( 0xFFFFFFF0, 0x3A22ED0C, 2, 0 )
    0x0000379C 332161 2 CortexR4 GTI C: GTI_READMEM_BLK( 0x3C4D3C38, 0xFFFFFFF0, 0, 0x00000004, 0x00000000, RAM, 0, 0, 0x3DB23B70 )
    0x0000379C 332170 2 CortexR4 GTI R: GTI_READMEM_BLK( 0x3C4D3C38, 0xFFFFFFF0, 0, 0x00000004, 0x00000000, RAM, 0, 0, 0x3DB23B70 ) = 0
    0x0000379C 332170 3 CortexR4 GTI C: GTI_GETERRSTR_EX3( 0x3C4D3C38, 0x3A22E564, 0x3A22E568, 0x3A22E574, 0x3A22E56C, 0x3A22E580, 0x3A22E578, 0x3A22E57C, 0x3A22E5C4, 64, 0x3A22E604, 1024 )
    0x0000379C 332170 3 CortexR4 GTI R: GTI_GETERRSTR_EX3( 0x3C4D3C38, *0x3A22E564 = 0, *0x3A22E568 = 0, *0x3A22E574 = 0x00000000, *0x3A22E56C = 2, *0x3A22E580 = 0x00000000, *0x3A22E578 = 0x00000008, *0x3A22E57C = 0x00000000, , 64, , 1024 ) = 0
    0x0000379C 332170 3 FLASH R: FlashProgrammerUtility::ReadMem( 0xFFFFFFF0, 0x3A22ED0C = 363670144, 2, 0 ) = 1
    0x0000379C 332170 3 FLASH I: Device ID: 0x15AD2A00
    0x0000379C 332178 3 FLASH I: Configuration XML file to use:
    0x0000379C 332178 3 FLASH R: FlashHercules Constructor
    0x0000379C 332178 3 FLASH I: FlashProgrammerManager::Initialize(), Flash Device interface created successfully.
    0x0000379C 332178 3 FLASH C: FlashHercules::FlashAvailable()
    0x0000379C 332178 3 FLASH R: FlashHercules::FlashAvailable() = 0
    0x0000379C 332178 3 FLASH I: FlashProgrammerManager::Initialize(), Flash is not available on this device.
    0x0000379C 332178 3 FLASH R: FlashProgrammerManager::Initialize()
    0x0000379C 332178 4 CortexR4 GTI C: GTI_QUERY_INTERFACE( 0x3C4D3C38, IOperationServer, 2, 0x3A22EF9C, 0x3A22EFA4, 0x3A22EFA0, 0x00000000 )
    0x0000379C 332179 4 CortexR4 GTI R: GTI_QUERY_INTERFACE( 0x3C4D3C38, IOperationServer, 2, *0x3A22EF9C = 0x00000000, *0x3A22EFA4 = 0x00000001, *0x3A22EFA0 = 0x00000000, *0x00000000 = 0x00000000 ) = -1
    0x0000379C 332179 3 LIB C: Locating "GetcToolsDBMgrIFDS" in 3B1E0000

    It appears that FlashProgrammerUtility is confused somehow.

    -Brad

  • Hi Brad,

    I see you are using some engineering build of CCSv5.5. Where did you get this?

    ki

  • Brad,

    Thanks for highlighting the details on the flash programmer log (I haven't looked into it), although this wouldn't explain the problem occurring when simply launching the debugger and comparing the Disassembly and the Memory Browser views (I didn't load anything to my board, just launched the debugger).

    I am trying to get access to a RM48 or someone to do some testing on one so I can report back.

    Can you confirm what is the TI Emulators and Hercules Emulation packages you are using? Go to menu Help --> About Code Composer Studio --> button Installation Details

    Regards,

    Rafael

  • Hi Rafael –

     

    Regarding the flash programmer output in the log, the FlashProgrammerUtility seems to be invoked regardless of program loading – I thought it was strange.  Anyway, I attached another log capturing only debugger launch and connect. Debugger shows BE8 endianness.

     

    TI Emulators: 5.1.207.0

    Hercules Emulation: 5.4.0.3

     These versions were installed by “Check for updates”.

     Thanks very much for your help. 

     

    -Brad

  • Hi Ki -

    We downloaded the CCS distribution from your 3rd-party vendor site.  I updated my installation using "Check for Updates" as part of troubleshooting this problem.

    Thanks for your help.

    -Brad

  • BRAD LUNDBERG said:
    We downloaded the CCS distribution from your 3rd-party vendor site.

    Could your provide the URL to this site? As far as I know, we did not release any version of 5.5 for external use.

  • Brad,

    I tested an internal CCSv5.5 release (a newer build than yours) and I could not see this issue in my RM42 board; I really don't know what may be happening in your case.

    As Ki pointed out, CCSv5.5 was not yet released and it is possible you have a buggy alpha release. I suggest you either install CCSv5.4 or wait until CCSv5.5 is released (not sure when this will happen).

    Regards,

    Rafael