期望效果
在rk3568 cpu0 / 3上各自跑rtthread,并通過(guò)openamp跑demo
1.AMP 主機(jī)配置
拉取最新代碼,打開(kāi)rk3568 BSP
打開(kāi) 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ī)工程
打開(kāi)從機(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
打開(kāi)從機(jī)工程的link.lds, 修改啟動(dòng)地址0x20000000 為 0x7A000000
打開(kāi)從機(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.工程下載
開(kāi)啟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)注
114文章
17100瀏覽量
184223 -
UART接口
+關(guān)注
關(guān)注
0文章
124瀏覽量
15872 -
TFTP協(xié)議
+關(guān)注
關(guān)注
0文章
5瀏覽量
5616 -
RTThread
+關(guān)注
關(guān)注
8文章
132瀏覽量
41761 -
RK3568
+關(guān)注
關(guān)注
5文章
584瀏覽量
6402
發(fā)布評(píng)論請(qǐng)先 登錄
rk3568處理器屬于什么檔次 rk3568性能怎么樣

ROC RK3568 PC源代碼RK3568/RK3588 RKNN SDK

rk3568和rk3399的區(qū)別
RK3568和RK3566的區(qū)別
RK3568與3568J的區(qū)別
rk3568有多少引腳?
rk3568是什么架構(gòu)的?
萬(wàn)象奧科聯(lián)合RT-Thread舉辦RK3568+OpenAMP混合部署線下workshop!

評(píng)論