在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 1019|回复: 0

[转贴] RK3568 AMP测试验证说明

[复制链接]
发表于 2023-12-12 10:29:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本文基于HD-RK3568-IOT评估板进行验证。
ABUIABACGAAgrf-eqwYozu2y8QUwpAw49QY.jpg
1. RK3568 AMP SDK获取
在虚拟机内创建rk356x-amp-sdk目录,后续在该目录下执行命令,在rockchip git库下载AMP SDK。

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串口打印信息
ABUIABAEGAAg0--eqwYo5NW9sQYwhQY49wQ.png
图2.1 AMP 1Linux+3RTT RTT串口打印
ABUIABAEGAAg4v-eqwYosJns_gEwtQc41AE.png
图2.2 AMP 1Linux+3RTT Linux串口打印


2.2       1Linux+3HAL串口打印信息
ABUIABAEGAAg7P-eqwYogOXWtQcwuwc4vgE.png
图2.3 AMP 1Linux+3HAL Linux串口打印

ABUIABAEGAAg_v-eqwYoiMjE-wYw3gI4kQM.png
图2.4 AMP 1Linux+3HAL HAL串口打印
2.3       3Linux+1RTT串口打印信息
ABUIABAEGAAgiIDfqwYooMuF8gMw2Ac41AM.png

图2.5 3Linux+RTT Linux串口打印

ABUIABAEGAAgqoDfqwYorIadmQMw1wM4sAE.png
图2.6 3Linux+1RTT RTT串口打印
2.4       3Linux+1HAL串口打印信息
ABUIABAEGAAgt4DfqwYohfj5zgIw2Ac41AM.png
图2.7 3Linux+1HAL Linux串口打印
ABUIABAEGAAg2oDfqwYo0P_HnQYwhAM4Zg.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路径下编译32位RT-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.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.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-Boot、Kernel、RT-Thread、HAL等,具体使用方式可以通过 help 命令来查看:
user@host:~/root$./build.sh --help



您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 21:18 , Processed in 0.027106 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表