电子说
期望效果
在rk3568 cpu0 / 3上各自跑rtthread,并通过openamp跑demo
1.AMP 主机配置
拉取最新代码,打开rk3568 BSP
打开 menuconfig -> RT-Thread Kernel
使能AMP,选择 amp role MASTER
Number of CPUs 设置为 4
使能软件包 RT-Thread online packages → system packages → RT-OpenAMP
AMP slave role cpu no 设置为 3
Version 选择为 v1.0.0
2.AMP 从机配置
在主机工程中使用scons --dist生成从机工程
打开从机工程 menuconfig -> RT-Thread Kernel
使能AMP,选择 amp role SLAVE
Number of CPUs 设置为 4
设置RT-Thread Kernel → Kernel Device Object控制台为 uart4
进入Hardware Drivers Config → Using UART 取消使能uart2、使能uart4
打开从机工程的link.lds, 修改启动地址0x20000000 为 0x7A000000
打开从机工程driverboard.c
修改:
{PLATFORM_MEM_TALBE(0x20000000, 0x10000000), 0x20000000, NORMAL_MEM},为
{PLATFORM_MEM_TALBE(0x7A000000, 0x10000000), 0x7A000000, NORMAL_MEM},
rt_hw_mmu_map_init(&rt_kernel_space, (void *) 0x20000000, 0xE0000000 - 1, MMUTable, 0);为
rt_hw_mmu_map_init(&rt_kernel_space, (void *) 0x7a000000, 0xE0000000 - 1, MMUTable, 0);
工程配置完成,各自编译两个工程
3.工程下载
开启tftp服务器,路径设置为主机工程所在路径
在uboot中使用 tftp 0x20000000 rtthread.bin 下载主机固件
tftp 0x7A000000 ./dist/project/rtthread.bin 下载从机固件
go 0x20000000 从主机启动
4.demo运行
进入主机后使用 start_cpu 启动从机
使用 cpuid 命令获取cpuid
app_echo_send 命令发送数据并回显
app_matrix_multiply_test 命令 CPU0发送数据至CPU3, CPU3将矩阵计算结果返回给CPU0,并打印
app_pty 命令在cpu0上进入cpu3的控制台,输入cpuid可以看到打印出的cpuid是3, Ctrl+c 退出cpu3控制台,返回cpu0控制台
全部0条评论
快来发表一下你的评论吧 !