本文基于HD-RK3568-IOT評估板進行驗證。
1.RK3568AMPSDK獲取
在虛擬機內創建rk356x-amp-sdk目錄,后續在該目錄下執行命令,在rockchipgit庫下載AMPSDK。
2.AMP功能驗證
目前在RK3568上分別驗證了1linux+3hal、1linux+3rtt、3linux+1hal、3linux+1rtt一共4種模式;4種模式均在原始SDK的基礎上進行的修改,然后針對修改分別生成了不同的patch,用戶可以根據自己的需求來打上不同的patch
打上patch后,直接在SDK目錄使用./build.sh命令編譯sdk,編譯成功后,將編譯生成的img文件燒錄到板卡內,可以分別在uart2&uart4上分別看到linux內核和hal或rtt的相關打印;
2.1 1Linux+3RTT串口打印信息
圖2.1AMP1Linux+3RTTRTT串口打印
圖2.2AMP1Linux+3RTTLinux串口打印
2.2 1Linux+3HAL串口打印信息
圖2.3AMP1Linux+3HALLinux串口打印
圖2.4AMP1Linux+3HALHAL串口打印
2.3 3Linux+1RTT串口打印信息
圖2.53Linux+RTTLinux串口打印
圖2.63Linux+1RTTRTT串口打印
2.4 3Linux+1HAL串口打印信息
圖2.73Linux+1HALLinux串口打印
圖2.83Linux+1HALHAL串口打印
3.SDK編譯及AMP配置說明
3.1 HAL編譯
在hal/project/rk3568/GCC路徑下編譯HAL固件,HAL編譯命令如下:
cdhal/project/rk3568/GCC
./build.shcpu_id
編譯完成后,在hal/project/rk3568/GCC/目錄下分別生成hal0.bin、hal1.bin、hal2.bin、hal3.bin。
3.2 RT-Thread編譯
在rt-thread/bsp/rockchip/rk3568-32路徑下編譯32位RT-Thread固件。固件運行的CPU可以通過menuconfig配
置RT_RUN_MEM_BASE指定,默認配置如下,運行在CPU0,請根據項目實際情況進行修改:
rt-thread/bsp/rockchip/rk3568-32/rtconfig.h
#defineRT_RUN_MEM_BASE0x12000000
編譯完成后,在rt-thread/bsp/rockchip/rk3568-32目錄下生成固件rtthread.bin。
3.3 Kernel編譯
Kernel編譯命令如下:
cdkernel
makeARCH=arm64rockchip_linux_defconfig
makeARCH=arm64rk3568-evb1-ddr4-v10-linux-amp.img-j16
編譯完成后,會在kernel目錄下生成boot.img
3.4 U-boot編譯
在uboot工程中修改配置文件configs/rk3568_defconfig,增加配置打開AMP功能,打開AMP功能后,使用以下命令進行編譯:
cdu-boot
./make.shrk3568
編譯完成后,會在u-boot目錄下生成rk356x_spl_loader***.bin、uboot.img。
3.5 AMP固件打包
以RK3568為例,在hal工程中修改用于AMP打包的its文件,project/rk3568/Image/路徑下有amp_linux.its和amp.its兩個文件,跑帶有Linux的amp形式時建議使用amp_linux.its配置。每個CPU均可以單獨配置所加載的固件、架構、指令集、運行地址、啟動延時等參數。
3.6 SDK統一編譯與打包
RK3568支持Linux+HAL的AMP混合架構設計,使得不同的CPU可以運行不同的系統,以滿足靈活的產品設計需求。該SDK目前默認支持Linux+HAL+HAL+HAL的混合結構模型,其中運行Linux的CPU為主核,其余運行HAL的CPU為從核。具體配置如下:
系統 | CPU | 功能 | 說明 |
Linux | CPU0 | 主核 | 執行Linux系統 |
HAL | CPU1 | 從核 | 執行裸核系統 |
HAL | CPU2 | 從核 | 執行裸核系統 |
HAL | CPU3 | 從核 | 執行裸核系統 |
3.6.1 編譯配置
SDK的統一編譯配置腳本位于device/rockchip/rk3568/目錄下,編譯配置腳本內容包括U-Boot、Kernel、HAL、RT-Thread的配置,以及AMP相關的CPU分配,內存分配等配置。用戶可以根據需求增加或者修改配置腳本文件,以滿足自己的編譯需求。目前支持的配置文件如下:
├──BoardConfig-rk3568-evb1-ddr4-v10.mk#EVB開發板對應配置腳本
├──parameter-rk3568-amp.txt#EVB開發板對應parameters文件
├──rk3568_amp.cfg#燒錄工具對應的配置文件
└──rk3568_amp_linux.its#AMP打包ITS配置文件
3.6.2 統一編譯
統一編譯腳本工具支持一鍵編譯及打包U-Boot、Kernel、HAL、RT-Thread、ROOTFS等,并生成對應的Image鏡像。首次編譯時,需要選擇編譯配置腳本,如下:
user@host:~/root$./build.shlunch
You'rebuildingonLinux
0.defaultBoardConfig.mk
1.BoardConfig-rk3568-evb1-ddr4-v10.mk
Whichwouldyoulike?[0]:1
配置完成后,執行一鍵編譯指令,如下:
user@host:~/root$./build.sh
編譯結果位于rockdev/目錄下,如下
rockdev/
├──amp.img#AMP鏡像
├──MiniLoaderAll.bin#Loader
├──parameter.txt#分區表信息
├──rootfs.img#根文件系統
├──misc.img#供recovery保存一些升級信息
├──uboot.img#U-boot鏡像
└──update.img#完整固件鏡像
統一編譯腳本工具同時可以支持單獨編譯所有模塊,如U-Boot、Kernel、RT-Thread、HAL等,具體使用方式可以通過help命令來查看:
user@host:~/root$./build.sh--help
-
ARM
+關注
關注
134文章
9084瀏覽量
367384 -
Linux
+關注
關注
87文章
11292瀏覽量
209328 -
Amp
+關注
關注
0文章
81瀏覽量
47155 -
RK3568
+關注
關注
4文章
514瀏覽量
5034
發布評論請先 登錄
相關推薦
評論