期望效果
在rk3568 cpu0 / 3上各自跑rtthread,并通過openamp跑demo
1.AMP 主機(jī)配置
拉取最新代碼,打開rk3568 BSP
打開 menuconfig -> RT-Thread Kernel
使能AMP,選擇 amp role MASTER
Number of CPUs 設(shè)置為 4
使能軟件包 RT-Thread online packages → system packages → RT-OpenAMP
AMP slave role cpu no 設(shè)置為 3
Version 選擇為 v1.0.0
2.AMP 從機(jī)配置
在主機(jī)工程中使用scons --dist生成從機(jī)工程
打開從機(jī)工程 menuconfig -> RT-Thread Kernel
使能AMP,選擇 amp role SLAVE
Number of CPUs 設(shè)置為 4
設(shè)置RT-Thread Kernel → Kernel Device Object控制臺(tái)為 uart4
進(jìn)入Hardware Drivers Config → Using UART 取消使能uart2、使能uart4
打開從機(jī)工程的link.lds, 修改啟動(dòng)地址0x20000000 為 0x7A000000
打開從機(jī)工程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);
工程配置完成,各自編譯兩個(gè)工程
3.工程下載
開啟tftp服務(wù)器,路徑設(shè)置為主機(jī)工程所在路徑
在uboot中使用 tftp 0x20000000 rtthread.bin 下載主機(jī)固件
tftp 0x7A000000 ./dist/project/rtthread.bin 下載從機(jī)固件
go 0x20000000 從主機(jī)啟動(dòng)
4.demo運(yùn)行
進(jìn)入主機(jī)后使用 start_cpu 啟動(dòng)從機(jī)
使用 cpuid 命令獲取cpuid
app_echo_send 命令發(fā)送數(shù)據(jù)并回顯
app_matrix_multiply_test 命令 CPU0發(fā)送數(shù)據(jù)至CPU3, CPU3將矩陣計(jì)算結(jié)果返回給CPU0,并打印
app_pty 命令在cpu0上進(jìn)入cpu3的控制臺(tái),輸入cpuid可以看到打印出的cpuid是3, Ctrl+c 退出cpu3控制臺(tái),返回cpu0控制臺(tái)
-
控制器
+關(guān)注
關(guān)注
112文章
16206瀏覽量
177434 -
UART接口
+關(guān)注
關(guān)注
0文章
124瀏覽量
15268 -
TFTP協(xié)議
+關(guān)注
關(guān)注
0文章
5瀏覽量
5493 -
RTThread
+關(guān)注
關(guān)注
8文章
132瀏覽量
40811 -
RK3568
+關(guān)注
關(guān)注
4文章
498瀏覽量
4938
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論