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.

RM48L952: Load program Error - Does not match the target endianness

Part Number: RM48L952
Other Parts Discussed in Thread: SEGGER

Hello,

I'm having difficulty loading program onto "RM48L952 Rev. D"

MCU : RM48L952 Rev. D(RM48L952DZWTT)

CCS : V7.0.0.00043

Debug probe : XDS2xx USB

Device endianness setting in CCS : little

Load program Error message

However, the load program error(endianness mismatch) does not occurs with "RM48L952 Rev. C"

Device endianness setting in CCS

RM48L952 Rev. C

(DEVID : 0x802AAD1D)

RM48L952 Rev. D

(DEVID : 0x802AAD25)

little OK ERROR
be32 ERROR OK

I checked c1, System Control Register.

"RM48L952 Rev. C" : 0x09E70879 (bit[31] identified little-endianness)

"RM48L952 Rev. D" : 0x8BE70879 (bit[31] identified big-endianness)

RM48x TRM says,

"1.3.1 For the TI RM48x family, the endianness has been configured to little-endian."

My questions are the following.

Q1. Does "RM48L952 Rev. D" have big-endianness configuration?

Q2. Is the endianness configuration built-in(fixed)? Or, Could I change it?

I would like to keep little-endianness in my source code.

Thank you,

Hyun

  • Hi Hyun,
    It looks like the part was programmed for big endian instead of little. Can you please double check by reading the address 0xF0080140 from the rev C and rev D units that you have? This is an OTP address location. After reset, the system configuration (i.e. endianism and etc) is read out to configure to device settings. The bit0 is used to define what endianism the device will be. It is supposed to be 0. If you read a 1 at bit0 then it is wrong. Do you have other rev D units with you? Can you please try them?
  • Hi, Charles

    Thank you for your reply.

    I tried to read the hardware configuration address(0xF0080140), and other informations from TI OTP.

    The "Rev. C" based 3 units showed

    1. Hardware configuration(0xF0080140) : 0xFFFF7F9E

    2. Package and Memory Size(0xF008015C) : 0x01510C00

    3. Part Number Symbol(0xF00801E0) : 0x38344D52

    The "Rev. D" based 40 units showed

    1. Hardware configuration(0xF0080140) : 0xFFFFFFFF

    2. Package and Memory Size(0xF008015C) : 0xFFFFFFFF

    3. Part Number Symbol(0xF00801E0) : 0xFFFFFFFF

    I also checked DIEID register of the "Rev. D" units

    1. DIEIDL(0xFFFFFF7C) : 0x1400C022, 0x14011019, 0x1400A018, ...

    2. DIEIDH(0xFFFFFF80) : 0x0802A3AF

    Do I need to program the TI hardware configuration information? Would you explain how to do it?

    Regards,

    Hyun

  • Hi Hyun,
    The OTP is pre-programmed by TI before shipping to the end customers. In this case, there is some issue that the revD is not properly programmed. It is showing all F's which is still in their erased state. Do you have other revD units with you? Where did you order the parts from? I will suggest that you talk to TI sales or vendors where you purchased the parts from and ask for exchange. Again, I'm sorry that you need to go through this trouble.
  • Hello Hyun,

    If possible, can you take a picture of the top of the device so can see the markings on the top of the device along with information of where you got the parts from (direct from TI, a specific distributor, etc)? The reason is to forward this information to our quality department so they can be made aware of the issue and derive manufacturing information from the markings on the part and also track down any other material that might be affected. If you can't get a reasonably readable image of the device markings, re-typing them in this thread would also be helpful. Thanks and apologies for your trouble!!

  • Hi, Charles.

     

    Thank you for prompt reply.

    I have “Rev. D” based 2 units which were assembled a few month ago.

    They have no issue of TI-OTP, endianism.

    I would like to know other way to solve the issue rather than asking for exchange.

    Because RM48L952 based new product is on the verge of field-testing / demonstration phase.

    I'm concerned about getting behind schedule as well as extra cost for replacing MCU already built in new board.

     

    I tried to program the blank TI-OTP in the same way programming CUSTOMER-OTP.

    However, the TI-OTP doesn't seem to be writable. I got the following message in CCS.

    "Loader: One or more sections of your program falls into a memory region that is not writable."

     

    I'm curious about the TI-OTP write-protection mechanism.

    To program TI-OTP,

    do I need special hardware equipment provided by TI other than JTAG?

    or does it relate with software procedure such as accessing special register?

    If confidential contents exist, NDA could be arranged.

     

    Thank you for your assistance.

     

    Regards,

    Hyun

  • Hi, Chuck.

    I checked the markings of “Rev. D” units.

    RM48 L952DZWTT YFD-5AAIDEW : Ok

    RM48 L952DZWTT YFD-68AE2TW : The issue exists!

    At the moment, I don't know about order information.

    I'll ask co-worker about it, then reply.

    Would you share the markings on the quality-assured parts?

    Regards,

    Hyun

  • Hello everyone,

    I'm not sure if I have to open a different thread for the same subject, so please forgive me if I had to.

    We have experienced the same problem here, with the RM48L952DZWTT YFD-68AE2TW on a product under development.

    The parts were bought from a distributor (a total of 20 parts).

    We also have two Hercules Development Kit (HDK) mounted with the following part markings which are working properly:

    RM48L952DZWTT YFD-65A7I7W

    RM48L952DZWTT YFD-5AAIDDW

    When we try to use JTAG the answer is as pasted below, being the only difference the highlighted fields which are set to little in -65A7I7W and -5AAIDDW  and is set to big in -68AE2TW. All the other fields (except for VTref ) are the same:

    ------------------------------------------------------------------------------------------------------------------

    C:\Program Files (x86)\SEGGER\JLink_V612g>JLink.exe

    SEGGER J-Link Commander V6.12g (Compiled Jan 27 2017 18:19:20)

    DLL version V6.12g, compiled Jan 27 2017 18:18:51

    Connecting to J-Link via USB...O.K.

    Firmware: J-Link V9 compiled Dec 16 2016 15:34:10

    Hardware version: V9.30

    S/N: 59304612

    License(s): GDB

    VTref = 3.304V

    Type "connect" to establish a target connection, '?' for help

    J-Link>connect

    Please specify device / core. <Default>: RM48L9X

    Type '?' for selection dialog

    Device>

    Please specify target interface:

    J) JTAG (Default)

    S) SWD

    TIF>j

    Device position in JTAG chain (IRPre,DRPre) <Default>: -1,-1 => Auto-detect

    JTAGConf>-1,-1

    Specify target interface speed [kHz]. <Default>: 4000 kHz

    Speed>

    Device "RM48L9X" selected.

    TMS570 (Cortex-R4 core) J-Link script

    J-Link script: Init ICEPick

    TotalIRLen = 6, IRPrint = 0x01

    TotalIRLen = 10, IRPrint = 0x0011

    ARM AP[0]: 0x44770001, AHB-AP

    ARM AP[1]: 0x24770002, APB-AP

    ROMTbl 0 [0]: 00001003, CID: B105900D, PID:04-007BBC14 Cortex-R4

    Found Cortex-R4 r1p3

    6 code breakpoints, 2 data breakpoints

    Debug architecture ARMv7.0

    Data endian: big

    Main ID register: 0x411FC143

    TCM Type register: 0x00010001

    MPU Type register: 0x00000C00

    System control register:

    Instruction endian: big

    Level-1 instruction cache disabled

    Level-1 data cache disabled

    MPU disabled

    Branch prediction enabled

    J-Link script: Reset

    Found 2 JTAG devices, Total IRLen = 10:

    #0 Id: 0x1BA00477, IRLen: 04, IRPrint: 0x1, CoreSight JTAG-DP (ARM)

    #1 Id: 0x0B7B302F, IRLen: 06, IRPrint: 0x1, TI ICEPick

    Cortex-R4 identified.

    J-Link>

    ------------------------------------------------------------------------------------------------------------------

    I read above that the the problem is unrecoverable. Therefore, for a SIL3 rated product I ask:

    1 - Is it confirmed that the problem occurred at factory?

    2 - How can we replace the parts?

    3 - How can we be sure that the next purchases will be error free?

    4 - How does it affect the SIL3 certification?

    Thanks in advance

    Nilton Armstrong

  • Hello Nilton,

    There is a quality issue with these specific parts. Please reach out to your distributor to work through arrangements to return them and see about getting replacements. If you do get replacements, please specify that they have different lat trace information on the package (i.e, not YFD-68AE2TW) I will also reach out to you through private messaging to get your email information so that I can forward it to our quality organization as they may have more questions to follow up with you about. If you have any issues with the distributor replacing the units, please let me know and we can work out another way to get you more units.
  • Hello Chuck,

    Thanks a lot for your prompt answer!

    ok, I'll follow the procedures to inform the quality department

    Regards,

    Nilton Armstrong