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.

TMS320F280040C-Q1: F280040C LIN Communication implementation inquiry

Part Number: TMS320F280040C-Q1
Other Parts Discussed in Thread: C2000WARE

Hi experts,

LIN Slave mode was implemented without a bootloader using the link below.

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1114621/tms320f280049c-lin-module-in-slave-mode---how-to-initiate-response-transmission/4153936#4153936

However, it was confirmed that Lin-related addresses were incorrectly allocated when using Bootloader.

Below is the Register map when the Bootloader is not available.


Below is the register map when using the bootloader.

Please advise why the two register assignments are different.
Also, please tell me how to change the address of the LINA register

thanks 

regards,

  • Hi Robin,

    A few questions for you: Could you please help to provide a bit more context as to what you are changing between the two runs (without bootloader vs. with). Which bootloader are you using- could you explain at a high level the steps the bootloader is going through? Are you just booting from flash or some other peripheral? Are there any other changes at all between the two cases (without vs. with) or changes in the included project files? Or is the only change the addition of the bootloader?

    Do you still see the missing LIN registers in the 'Registers" view of CCS? For example, there is no LinaRegs_SCIGCR1 in the case with the bootloader - is this also undefined in the Registers view? 

    Are you getting different LIN behavior in either case? 

    Best Regards,

    Allison

  • Hi Aillison,
    I am Robin's client and the person who requested this question.

    Our company has been communicating using CAN communication for a long time, and in the case of CAN communication,
    there were no problems because the correct CAN register address was assigned.
    However, while changing to LIN communication, a problem was discovered where the LIN register address was different.
    What we were trying to ask was where the problems might arise.
    The first picture is the register check result of CCS_12ver's LIN communication example "lin_ex4_loopback_polling", and
    the second picture is the register check result of our company's project file of CCS_10ver.
    There are many differences between the two projects that are difficult to explain.

    If you mention anything you would like to check, we will provide you with additional information.

    Regards,

    Donguk
  • Hi Donguk,

    My suspicion is that this is just a difference in what CCS is showing depending on the version and the CCS files that are being used. Let me check into this to see. Some information I need from you:

    • What specific versions of CCS are you comparing (e.g. I am using CCS 12.7.0)?
    • When you run the project and open the "Registers" window in CCS (for either or both cases), do you still see the LIN registers appear the same? Or are they different?
    • Are you running your project in both CCS versions? Or only one? Are you seeing the same behavior on both?

    Best Regards,

    Allison

  • https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/753701/ccs-tms320f28376s-memory-map-prevented-reading-0x000480xx-data 

    I am interested in this, so I checked, and as a result, I confirmed that the value at the memory address on page 3 (Peripheral) matches.

    However, I confirmed that the register that should be 32 bits is 16 bits. Looking at the expressions, the bits were declared correctly.


    cmd is using f28004x_flash_cpu_is and f28004x_headers_nonbios. However, there is a slight difference in content from f28004x_flash_cpu_is and f28004x_headers_nonbios in C2000Ware_MotorControl_SDK_4_01_00_00.

    However, we could not find any problems caused by the differences.

    f28004x_headers_nonbios

    f28004x_flash_cpu_is

    If there is any information you need, please let us know and we will send you the information.

    Regards,

    Donguk

  • The company project file is using version ccs10, and the example file was opened in version 12. However, I know that regardless of the version, both CCS10 and 12 must be located at the same address. Is this just one of those bugs that occurs with lower CCS versions?

  • Hi Allison,

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/986832/tms320f280049-lin-register-of-tms320f280049c-is-not-normal 

    This link helped me a lot. The lin-related xml of the ccs10 version has been changed to that of the 12 version. It's back to normal. Thank you for your help in resolving the issue.

    Regards,

    Donguk

  • Hi Donguk,

    Thanks for sending the other link. Glad get some clarity! We can mark this as resolved and close the thread. Feel free to open another if you run into further issues.

    Best Regards,

    Allison