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: TDA4 boot flow MCU+MAIN

Part Number: TDA4VM

Hi TI,

I want to boot MCU R5F along with MAIN island. On MAIN island I want to have running HLOS so I'm using SPL/U-boot and on MCU island I want to have running TI-RTOS. I couldn't find a clearly described way how to achieve this from documentation.
Based on documentation where booting was about MCU then it mentioned SBL and when it was about MAIN it mentioned SPL/U-boot, but not together.

I have found general booting graph where it shows that MCU R5F is booted by SPL. Because missing details I found one way to achieve this by handling remoteproc (with rproc command) from U-boot level, but I'm not sure if it is a right way.

My test u-boot command for MCU:
rproc init && rproc stop 0 && sf probe && sf read 0x90000000 0x800000 0x43b2b8 && rproc load 0 0x90000000 0x43b2b8 && rproc start 0


I am looking for the correct boot process for booting HLOS from eMMC (file based memory) and MCU R5F from OSPI(NOR, address based memory)and how to technically achieve this?

Regards,
Krzysztof

  • Hi,

    I’ve removed j7-mcur5f0_0-fw from /lib/firmware since I’m booting MCU from U-boot level. After that I was unable to see any output on UART from example application which was booted with command from my 1st post (I use UART_DMA_Testapp for my tests). When I put back any MCU R5F software with name j7-mcur5f0_0-fw it started to work again. Do you know why that happens?

    Also is there any other example application available in SDK that continuously sends some text to UART? Current application just send 2 lines of text at the beginning and do not responses for any inputs from my side. I’ve tried some UART examples but I couldn’t see any output for any of them. I’d need it just to be sure that MCU R5F is working fine along with Linux.

  • Hi,

    If you rename the application in /lib/firmware, it will not get loaded as it identifies the firmware by its name.

    You could just update this example to send messages continuously. 

    Regards,

    Brijesh