Tool/software:
Hi,
Is it possible to start R5F firmware before the start of Linux from U-boot on AM64x. If yes How ? In first, I read this documentation U-Boot (ti.com).
Can you help me on step to do that ?
Thank you very much
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.
Tool/software:
Hi,
Is it possible to start R5F firmware before the start of Linux from U-boot on AM64x. If yes How ? In first, I read this documentation U-Boot (ti.com).
Can you help me on step to do that ?
Thank you very much
Hello,
The step-by-step method to start remote cores from U-boot is mentioned here: 3.1.1.9. RemoteProc — Processor SDK AM62x Documentation
You can add the U-boot commands to start R5 core, in uEnv.txt file.
Verify it first by running the commands in U-boot command prompt.
From 9.1 SDK onwards, default mode is set to split mode, which means each core will run independently.
Regards,
Aparna
Hello,
OK Aparna. Now I used the new U-boot with available Rproc commands. So it's work on EVM_GP.
I build an example project like blink a LED on R5-0-0 without freertos and test it on EVM. It's work fine.
Now, how you convert a .out image from CCS into a compatible binary for the directory /lib/firmware. Is there a specific TI tools ?
Regards
Sebastien
Hello,
You can use the .out file generated after building the example and rename it to the required .xer5f and copy to the lib/firmware directory on SD card.
e2e.ti.com/.../4972931
Regards
Thank you very much Aparna. It's works from u-boot command line with rproc commands. but I tried to put these commands directly to uEnv.txt and nothing is loaded. I think commands from uEnv.txt are ignored. I tried to create a boot.scr file with mkImage but and load it from uboot with the "source" command. U-boot return : "wrong format". I don't understand where is the mistake. Do you have an idea ?
Hi, can you share what commands have you added to the uEnv.txt file?
And the boot.scr file too.
Regards,
Aparna
On uEnv.txt
# This uEnv.txt file can contain additional environment settings that you
# want to set in U-Boot at boot time. This can be simple variables such
# as the serverip or custom variables. The format of this file is:
# variable=value
# NOTE: This file will be evaluated after the bootcmd is run and the
# bootcmd must be set to load this file if it exists (this is the
# default on all newer U-Boot images. This also means that some
# variables such as bootdelay cannot be changed by this file since
# it is not evaluated until the bootcmd is run.
uenvcmd=rproc init; load mmc 1:2 0x90000000 /lib/firmware/am64-main-r5f0_0-fw; rproc load 1 0x90000000 0x${filesize}; rproc start 1
Sorry, impossible to share the .scr with you because "insert file menu" doesn't run. However I make it with theses commands
Generate file boot.scr
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Boot Script" -d uEnv.txt boot.scr
# Load the file from u-boot
fatload mmc 0:1 0x80000000 boot.scr
# Execute the script
source 0x80000000
wrong format ....
Hello Aparna
It's OK now. I did a mistake in my uEnv.txt. No the Led blink from R5f0 but when Linux start after about two seconds, the Led stop to blink and R5f0 freeze in uart console.
In linux startup, the only erreur I found is :
I think it's a problem of memory. what do you think of that ?
Hi,
Please share your updated uEnv.txt file.
Meanwhile, I will further investigate and follow-up on other questions
# This uEnv.txt file can contain additional environment settings that you
# want to set in U-Boot at boot time. This can be simple variables such
# as the serverip or custom variables. The format of this file is:
# variable=value
# NOTE: This file will be evaluated after the bootcmd is run and the
# bootcmd must be set to load this file if it exists (this is the
# default on all newer U-Boot images. This also means that some
# variables such as bootdelay cannot be changed by this file since
# it is not evaluated until the bootcmd is run.
uenvcmd=rproc init; load mmc 1:2 0x90000000 /lib/firmware/am64-main-r5f0_0-fw; rproc load 1 0x90000000 0x${filesize}; rproc start 1
# This uEnv.txt file can contain additional environment settings that you
# want to set in U-Boot at boot time. This can be simple variables such
# as the serverip or custom variables. The format of this file is:
# variable=value
# NOTE: This file will be evaluated after the bootcmd is run and the
# bootcmd must be set to load this file if it exists (this is the
# default on all newer U-Boot images. This also means that some
# variables such as bootdelay cannot be changed by this file since
# it is not evaluated until the bootcmd is run.
uenvcmd=rproc init; load mmc 1:2 0x90000000 /lib/firmware/am64-main-r5f0_0-fw; rproc load 1 0x90000000 0x${filesize}; rproc start 1
Hi,
I resolved all my issues and I put the solution here AM6442: AM6442: LED23 on TMDS64EVM EvalKit - Processors forum - Processors - TI E2E support forums