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.

TDA4VM:MCUSW running CAN example problem

Part Number: TDA4VM

 I want to try to run the examples about MCUSW CAN.

I just try to boot on SD card, and I used the steps below:

  1. Copy SBL binary sbl_mmcsd_img_mcu1_0_release.tiimage as tiboot3.bin
  2. Copy the sysfw.bin form (SDK Install Directory)/(pdk-install-folder)/packages/ti/drv/sciclient/soc/V1/sysfw.bin as sysfw.bin
  3. Copy the application from (SDK Install Directory)/mcusw_xx.yy.xx.bb/binary/(driver name)_app/bin/j721e_evm)/.*appimage to the SD card boot partition as app
  4. MMC SD: Ensure The bootmode switches are configured as described in (J721E EVM MMC/SD Boot Mode)

There is no output from MCU UART,  did I miss anything here? Whether tools are neede to  convert sbl_mmcsd_img_mcu1_0_release.tiimage to tiboot3.bin?

  • Hi Chaohui Zheng,

    Chaohui Zheng said:
    Whether tools are neede to  convert sbl_mmcsd_img_mcu1_0_release.tiimage to tiboot3.bin?

    No tools are needed for this, it is just renaming.

    Please confirm that you are building the mcu1_0 application, name should be can_app_mcu1_0_release.appimage.

    Chaohui Zheng said:
    There is no output from MCU UART,  did I miss anything here? 

    When you connect to the MCU UART (connector J43) and check the ports (on windows) and /dev/ttyUSB* (on linux) you will see there are two instances (calling it 0 and 1). The prints will come on the 1st instance.

    Also, please verify your minicom/teraterm settings - it should be as below

    Regards,

    Karan

  • I done as you say, MCU uart printf fail reading the register data .Is there something wrong with my configuration

  • I think that is not the application print, some issue with the SBL or so. Can you please let me know which SDK are you on? 

    Regards,

    Karan

  • psdk_rtos_auto_j7_06_02_00_21

  • Hi,

    I tried to build and run and things work fine for me (able to see prints too). Please validate with the attached images.

    /cfs-file/__key/communityserver-discussions-components-files/791/5670.BOOT.zip

    Also please make sure that in mcusw/build/Rules.make has the following TRUE.

    export MCUSW_UART_ENABLE ?= TRUE


    Regards,

    Karan

  •  I am sorry, there's a problem with my description. My questions are about can_profile, not can_app.It is ok follow your  advice to make can_app. But there are still questions about can_profile.

  • Hi,

    The prints you are showing are from can_boot_app_mcu_rtos, this application needs other things apart from app, SBL and sysfw. Also this is intended for CAN response and hence needs faster boot mode and hence is supported only from OSPI not MMCSD by SBL.

    If you want to exercise CAN functionality, I suggest you use the can_profile_app (mcusw/mcuss_demos/profiling/can) 

    Documentation at http://downloads.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/mcusw/mcal_drv/docs/drv_docs/demo_can_profile_top.html

    Regards,

    Karan

  • Hello,

    I am using CAN profile app, Come across some issues.

    1. Once BIOS_start( ) is called i could not see any debug prints on the terminal.

    2. does SBL image need to be loaded , before CAN profile app to run?

    please provide some inputs on this.

  • Hi Dharmendra,

    1. So you are using the can_profile_app and not seeing any prints?
    2. How are you loading the application? - CCS or SBL?
    3. Do you have the following in mcusw/build/Rules.make:

    export MCUSW_UART_ENABLE ?= TRUE

    Regards,

    Karan

  • Hi Karan,

    1. So you are using the can_profile_app and not seeing any prints?

    Yes, i can see debug prints kept before the function Task_create(task_name, &param,) but nothing after that

    1. How are you loading the application? - CCS or SBL?

    I am loading the app using SD card, keeping app binary maped at j7-mcu-r5f0-0-fw

    1. Do you have the following in mcusw/build/Rules.make:

    Yes i have made this change. export MCUSW_UART_ENABLE ?= TRUE

    I am stuck at Task_create() or BIOS_start

    kindly guide.

  • Dear Karan,

    I'm using PSDK 7.00 and running the CAN profile app on MCU1_0 using CCS and it's working fine and getting profile logs.

    Now I want to run CAN profile app on MCU1_0 and A72 is ruining the Linux. So I have copied "can_profile_app_mcu1_0_release.xer5f" binary in the /lib/firmware/  in the SD Card and soft link with the j7-mcu-r5f0_0-fw.

    Now I'm looking the logs on the MCU1_0 UART but it looks not working. Getting only below logs on terminal.

    I can see the firmware is loaded on MCU1_0 in the linux remoteproc logs.

    ================  MCU 1_0 logs =================

    Welcome to minicom 2.7

    OPTIONS: I18n
    Compiled on Nov 15 2018, 20:18:47.
    Port /dev/ttyUSB5, 17:18:33

    Press CTRL-A Z for help on special keys

    �CAN Profile App:Variant - Pre Compile being used !!!

    ==============================================

    ================= Linux Logs ====================

    [ 11.768681] platform 41000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [ 11.824575] TI DP83867 46000f00.mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=46000f00.mdio:00, irq=POLL)
    [ 11.847252] am65-cpsw-nuss 46000000.ethernet eth0: Link is Down
    [ 12.006712] remoteproc remoteproc3: 41000000.r5f is available
    [ 12.191288] platform 5c00000.r5f: R5F core may have been powered on by a different host, programmed state (0) != actual state (1)
    [ 12.356516] remoteproc remoteproc3: powering up 41000000.r5f
    [ 12.362470] remoteproc remoteproc3: Booting fw image j7-mcu-r5f0_0-fw, size 4191748

    ==============================================

    BTW I have written IPC application which runs  on MCU1_0 with Linux A72 is working using soft link method (keeping in /lib/firmware/ )

    Please let me know If I'm missing anything. 

    Thanks & Regards,

    - Makani

  • Hi Makani,

    The can_profile_app you are trying to load is a standalone CAN bench-marking application and is validated with CCS and SBL only. There is an FAQ at https://e2e.ti.com/support/processors/f/791/t/931992 which talks about what can go wrong when you try to run a standalone application alongside Linux and load it using R5 SPL or u-boot.

    That being said, I can look at trying to provide you a patch to enable this. There was a similar thread where we enabled this application on SDK6.02 but on MCU2_1 - https://e2e.ti.com/support/processors/f/791/p/906858/3371498#3371498 

    Amitkumar Makani said:
    Now I want to run CAN profile app on MCU1_0 and A72 is ruining the Linux. So I have copied "can_profile_app_mcu1_0_release.xer5f" binary in the /lib/firmware/  in the SD Card and soft link with the j7-mcu-r5f0_0-fw.

    For this can you please create a new E2E query? As this is a different question from the original one.

    Please mention this in the new thread you create - do you want to control CAN from mcu1_0 specifically?

    Regards,

    Karan

  • Hi Karan,

    Thank you for reply.

    I will check all possibility which mentioned https://e2e.ti.com/support/processors/f/791/t/931992 here.

     

    Yes, we want to control CAN from mcu1_0 because In future we are going to use AutoSAR to run on it and other cores are busy with some other task.

    Regards,

    - Makani

  • Hi Makani,

    One pointer here, the application tries to configure the MAIN domain CAN transeivers too and these (on the EVM) are coming from a GPIO expander, which is controlled by an I2C. THe same I2C is needed by Linux and hence there could be a conflict.

    Regards,

    Karan

  • This discussion continued here - https://e2e.ti.com/support/processors/f/791/t/937182

    Regards,

    Karan