• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 博客專欄

    EEPW首頁 > 博客 > RK3568 AMP測試驗證說明

    RK3568 AMP測試驗證說明

    發布人:武漢萬象奧科 時間:2023-12-12 來源:工程師 發布文章

    本文基于HD-RK3568-IOT評估板進行驗證。

    RK3568評估板

    1. RK3568 AMP SDK獲取

    在虛擬機內創建rk356x-amp-sdk目錄,后續在該目錄下執行命令,在rockchip git庫下載AMP SDK。

     

    2. AMP功能驗證

    目前在RK3568上分別驗證了1linux+3hal1linux+3rtt3linux+1hal、3linux+1rtt一共4種模式;4種模式均在原始SDK的基礎上進行的修改,然后針對修改分別生成了不同的patch,用戶可以根據自己的需求來打上不同的patch

     

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

    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配置說明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.bin、hal1.bin、hal2.bin、hal3.bin。

    3.2       RT-Thread編譯

    rt-thread/bsp/rockchip/rk3568-32路徑下編譯32RT-Thread固件。固件運行的CPU可以通過menuconfig

    RT_RUN_MEM_BASE指定,默認配置如下,運行在CPU0,請根據項目實際情況進行修改:

    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

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

    3.4       U-boot編譯

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

    cd u-boot

    ./make.sh rk3568

    編譯完成后,會在u-boot目錄下生成rk356x_spl_loader***.bin、uboot.img。

    3.5       AMP固件打包

    RK3568為例,在hal工程中修改用于AMP打包的its文件,project/rk3568/Image/路徑下有amp_linux.itsamp.its兩個文件,跑帶有Linuxamp形式時建議使用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-BootKernel、HAL、RT-ThreadROOTFS等,并生成對應的Image鏡像。首次編譯時,需要選擇編譯配置腳本,如下:

    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

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

    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-BootKernel、RT-ThreadHAL等,具體使用方式可以通過 help 命令來查看:

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




    *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。




    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 台湾省| 黑河市| 内丘县| 东乌| 广丰县| 雅安市| 梅州市| 桃园市| 昌吉市| 三河市| 静海县| 尉氏县| 南京市| 巴彦淖尔市| 宝丰县| 右玉县| 星座| 察隅县| 慈利县| 莱阳市| 若尔盖县| 左贡县| 库车县| 稻城县| 宣威市| 芦溪县| 绵竹市| 海阳市| 迁安市| 鹿泉市| 永寿县| 江西省| 珲春市| 鄯善县| 宁安市| 肥城市| 西乡县| 五峰| 鄂州市| 威远县| 阿鲁科尔沁旗|