Other Parts Discussed in Thread: AM623
器件型号: AM623
AM623、SDK 11.02.08.02 是如何动态替换 R5f 内核上运行的程序。 我在 CCS 上编译了一个名为“hello_world_am62x-sk_r5fss0-0_freertos_ti-arm-clang.out 的程序。
将 Remoteproc 驱动程序添加到内核时、可以看到:
[ 7.530526]平台 78000000.r5f:R5F 内核可能已由不同的主机上电、编程状态 (0)!=实际状态 (1)
[ 7.530717] platform 78000000.r5f:将 R5F 配置为仅 IPC 模式
[ 7.530925] platform 78000000.r5f:分配了保留的内存节点 r5f-dma-memory@9da00000
[7.542474] 可提供 Remoteproc remoteproc1: 78000000.r5f
[7.542598] Remoteproc Remoteproc1:连接到 78000000.r5f
[ 7.543190] rproc-virtio rproc-virtio.3.auto:分配了保留的内存节点 r5f-dma-memory@9da00000
[7.5497884] 远程处理器 remoteproc 1:远程处理器 78000000.r5f 现已连接
Root@am62xx-EVM:~# ls /sys/class/remoteproc /-al
总计 0
drwxr-xr-x 2 根根 0 Mar 31 08:32。
drwxr-xr-x 76 根根 0 2025年5月29日 ..
lrwxrwx 1 根根 0 3 月 31 日 07:39 remoteproc0 ->./../devices/platform/bus@f0000/bus@f0000:bus@4000000/5000000.m4fss/remoteproc/remoteproc0
lrwxrwxrwx 1 根根根 0 3 月 31 日 03:18 remoteproc1 ->./../devices/platform/bus@f0000/bus@f0000:bus@b00000/bus@f0000:bus@b00000:r5fss@78000000/78000000.r5f/remoteproc/remoteproc1
lrwxrwx 1 根根根 0 3 月 31 日 07:39 remoteproc2 ->./../devices/platform/bus@f0000/30040000.pruss/30074000.pru/remoteproc/remoteproc2
lrwxrwx 1 根根根 0 3 月 31 日 07:39 remoteproc3 ->./../devices/platform/bus@f0000/30040000.pruss/30078000.pru/remoteproc/remoteproc3.
我执行了以下命令:
root@am62xx-EVM:~# cat /sys/class/remoteproc/remoteproc1/state
随附
root@am62xx-EVM:~# ls -la /lib/firmware/hello_world_am62x-sk_r5fss0-0_freertos_ti-arm-clang.out
-rw-r--r-- 1 根根根 1349932 3 月 31 日 01:41 /lib/firmware/hello_world_am62x-sk_r5fss0-0_freertos_ti-arm-clang.out
root@am62xx-EVM:~# file /lib/firmware/hello_world_am62x-sk_r5fss0-0_freertos_ti-arm-clang.out
/lib/firmware/hello_world_am62x-sk_r5fss0-0_freertos_ti-arm-clang.out:ELF 32 位 LSB 可执行文件、ARM、EABI5 版本 1 (SYSV)、静态链接、带 DEBUG_INFO、未剥离
root@am62xx-EVM:~# echo “hello_world_am62x-sk_r5fss0-0_freertos_ti-arm-clang.out >/sys/class/remoteproc/remoteproc1/firmware
-sh:echo:写入错误:设备或资源忙
Root@am62xx-EVM:~# dmesg | tail –10
[11.686507] am65-cpsw-Nuss 8000000.Ethernet eth0:链路接通 — 100Mbps/full — 流控制 Rx/TX
[15.771710] 审计:type=1006 审计 (1774926975.161:2):pid=1102 uid=0 old-auid=4294967295 auid=1000 tty=(无)old-ses=4294967295 ses=1 res=1
[15.771743] 审计:type=1300 审计 (1774926975.161:2):arch=c00000b7 syscall=64 成功=yes exit=4 a0=8 a1=fffffb949b08 a2=4 a3=1 项目=0 ppid=1 pid=1000 uid=0 gid=0 gid=0 fsid=0 /usr/lib/systemd/systemd-executor
[15.771757] 审计:type=1327 审计 (1774926975.161:2):proctitle=“(systemd)"</s>“
[ 164.058915]平台 78000000.r5f:在运行时无法更改固件
[ 276.330302] platform 78000000.r5f:在运行时无法更改固件
[1362.988747] remoteproc remoteproc1: Unrecognized option: stoped
[ 1475.266782] platform 78000000.r5f:在运行时无法更改固件
[20222.922861]平台 78000000.r5f:在运行时无法更改固件
如果我发现它不起作用、应该如何使 Remoteproc 加载并运行由 CCS 软件编译的程序?