博客專欄

        EEPW首頁(yè) > 博客 > RK3568 AMP測(cè)試驗(yàn)證說(shuō)明

        RK3568 AMP測(cè)試驗(yàn)證說(shuō)明

        發(fā)布人:武漢萬(wàn)象奧科 時(shí)間:2023-12-12 來(lái)源:工程師 發(fā)布文章

        本文基于HD-RK3568-IOT評(píng)估板進(jìn)行驗(yàn)證。

        RK3568評(píng)估板

        1. RK3568 AMP SDK獲取

        在虛擬機(jī)內(nèi)創(chuàng)建rk356x-amp-sdk目錄,后續(xù)在該目錄下執(zhí)行命令,在rockchip git庫(kù)下載AMP SDK

         

        2. AMP功能驗(yàn)證

        目前在RK3568上分別驗(yàn)證了1linux+3hal1linux+3rtt3linux+1hal3linux+1rtt一共4種模式;4種模式均在原始SDK的基礎(chǔ)上進(jìn)行的修改,然后針對(duì)修改分別生成了不同的patch,用戶可以根據(jù)自己的需求來(lái)打上不同的patch

         

        打上patch后,直接在SDK目錄使用./build.sh 命令編譯sdk,編譯成功后,將編譯生成的img文件燒錄到板卡內(nèi),可以分別在uart2&uart4上分別看到linux內(nèi)核和halrtt的相關(guān)打印;

        2.1       1Linux+3RTT串口打印信息

         

        2.png

        2.1 AMP 1Linux+3RTT RTT串口打印

        3.png

        2.2 AMP 1Linux+3RTT Linux串口打印

         

         

        2.2       1Linux+3HAL串口打印信息

        4.png

        2.3 AMP 1Linux+3HAL Linux串口打印


        5.png

        2.4 AMP 1Linux+3HAL HAL串口打印

        2.3       3Linux+1RTT串口打印信息

        6.png


        2.5 3Linux+RTT Linux串口打印


        7.png

        2.6 3Linux+1RTT RTT串口打印

        2.4       3Linux+1HAL串口打印信息

        8.png

        2.7 3Linux+1HAL Linux串口打印

        9.png

        2.8 3Linux+1HAL HAL串口打印

         

        3. SDK編譯及AMP配置說(shuō)明3.1       HAL 編譯

        hal/project/rk3568/GCC路徑下編譯HAL固件,HAL編譯命令如下:

        cdhal/project/rk3568/GCC

        ./build.shcpu_id <cpu_id: 0~3 or all>

        編譯完成后,在hal/project/rk3568/GCC/ 目錄下分別生成 hal0.binhal1.binhal2.binhal3.bin

        3.2       RT-Thread編譯

        rt-thread/bsp/rockchip/rk3568-32路徑下編譯32RT-Thread固件。固件運(yùn)行的CPU可以通過(guò)menuconfig

        RT_RUN_MEM_BASE指定,默認(rèn)配置如下,運(yùn)行在CPU0,請(qǐng)根據(jù)項(xiàng)目實(shí)際情況進(jìn)行修改:

        rt-thread/bsp/rockchip/rk3568-32/rtconfig.h

        #defineRT_RUN_MEM_BASE 0x12000000

        編譯完成后,在rt-thread/bsp/rockchip/rk3568-32目錄下生成固件rtthread.bin

        3.3       Kernel編譯

        Kernel編譯命令如下:

        cdkernel

        makeARCH=arm64 rockchip_linux_defconfig

        makeARCH=arm64 rk3568-evb1-ddr4-v10-linux-amp.img -j16

        編譯完成后,會(huì)在kernel目錄下生成boot.img

        3.4       U-boot編譯

        uboot工程中修改配置文件configs/rk3568_defconfig,增加配置打開(kāi)AMP功能,打開(kāi)AMP功能后,使用以下命令進(jìn)行編譯:

        cd u-boot

        ./make.sh rk3568

        編譯完成后,會(huì)在u-boot目錄下生成rk356x_spl_loader***.binuboot.img

        3.5       AMP固件打包

        RK3568為例,在hal工程中修改用于AMP打包的its文件,project/rk3568/Image/路徑下有amp_linux.itsamp.its兩個(gè)文件,跑帶有Linuxamp形式時(shí)建議使用amp_linux.its配置。每個(gè)CPU均可以單獨(dú)配置所加載的固件、架構(gòu)、指令集、運(yùn)行地址、啟動(dòng)延時(shí)等參數(shù)。

         

        3.6       SDK 統(tǒng)一編譯與打包

        RK3568 支持 Linux + HAL  AMP 混合架構(gòu)設(shè)計(jì),使得不同的CPU 可以運(yùn)行不同的系統(tǒng),以滿足靈活的產(chǎn)品設(shè)計(jì)需求。該 SDK 目前默認(rèn)支持 Linux +HAL + HAL + HAL 的混合結(jié)構(gòu)模型,其中運(yùn)行Linux CPU 為主核,其余運(yùn)行 HAL  CPU 為從核。具體配置如下:

        系統(tǒng)

        CPU

        功能

        說(shuō)明

        Linux

        CPU0

        主核

        執(zhí)行Linux系統(tǒng)

        HAL

        CPU1

        從核

        執(zhí)行裸核系統(tǒng)

        HAL

        CPU2

        從核

        執(zhí)行裸核系統(tǒng)

        HAL

        CPU3

        從核

        執(zhí)行裸核系統(tǒng)

        3.6.1  編譯配置

        SDK 的統(tǒng)一編譯配置腳本位于device/rockchip/rk3568/目錄下,編譯配置腳本內(nèi)容包括U-BootKernelHALRT-Thread的配置,以及AMP相關(guān)的CPU分配,內(nèi)存分配等配置。用戶可以根據(jù)需求增加或者修改配置腳本文件,以滿足自己的編譯需求。目前支持的配置文件如下:

        ├──BoardConfig-rk3568-evb1-ddr4-v10.mk # EVB開(kāi)發(fā)板對(duì)應(yīng)配置腳本

        ├──parameter-rk3568-amp.txt # EVB開(kāi)發(fā)板對(duì)應(yīng)parameters文件

        ├── rk3568_amp.cfg # 燒錄工具對(duì)應(yīng)的配置文件

        └── rk3568_amp_linux.its #AMP打包ITS配置文件

        3.6.2  統(tǒng)一編譯

        統(tǒng)一編譯腳本工具支持一鍵編譯及打包U-BootKernelHALRT-ThreadROOTFS等,并生成對(duì)應(yīng)的Image鏡像。首次編譯時(shí),需要選擇編譯配置腳本,如下:

        user@host:~/root$./build.sh lunch

        You're building on Linux

        Lunchmenu...pick a combo:

        0.default BoardConfig.mk

        1. BoardConfig-rk3568-evb1-ddr4-v10.mk

        Whichwould you like? [0]: 1

        配置完成后,執(zhí)行一鍵編譯指令,如下:

        user@host:~/root$./build.sh

        編譯結(jié)果位于rockdev/目錄下,如下

        rockdev/

        ├── amp.img # AMP 鏡像

        ├── MiniLoaderAll.bin #Loader

        ├── parameter.txt # 分區(qū)表信息

        ├── rootfs.img # 根文件系統(tǒng)

        ├── misc.img # recovery保存一些升級(jí)信息

        ├── uboot.img # U-boot鏡像

        └── update.img # 完整固件鏡像

        統(tǒng)一編譯腳本工具同時(shí)可以支持單獨(dú)編譯所有模塊,如U-BootKernelRT-ThreadHAL等,具體使用方式可以通過(guò) help 命令來(lái)查看:

        user@host:~/root$./build.sh --help




        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



        關(guān)鍵詞: 瑞芯微 RK3568 Cortex-A55 Linux AMP ARM

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 衡山县| 湾仔区| 万全县| 井研县| 滨海县| 华阴市| 建宁县| 栾川县| 溧水县| 社旗县| 谷城县| 武宣县| 青海省| 巩留县| 昭通市| 桂平市| 西林县| 衡东县| 建平县| 罗城| 绵阳市| 沂源县| 武川县| 永德县| 太仓市| 伊吾县| 大新县| 霍州市| 荣昌县| 克拉玛依市| 云龙县| 锡林郭勒盟| 大宁县| 遂溪县| 商洛市| 宣武区| 乌兰浩特市| 新乡县| 珠海市| 奉新县| 金湖县|