本文基于hd-rk3568-iot评估板进行验证。
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串口打印信息
图2.1 amp 1linux+3rtt rtt串口打印
图2.2 amp 1linux+3rtt linux串口打印
2.2 1linux+3hal串口打印信息
图2.3 amp 1linux+3hal linux串口打印
图2.4 amp 1linux+3hal hal串口打印
2.3 3linux+1rtt串口打印信息
图2.5 3linux+rtt linux串口打印
图2.6 3linux+1rtt rtt串口打印
2.4 3linux+1hal串口打印信息 图2.7 3linux+1hal linux串口打印
图2.8 3linux+1hal hal串口打印
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_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
借助微小的植入型BCI芯片,直接通过大脑运动皮质“发号施令”
EMI及PCB设计与开关频率详解
机器人正变得越来越先进 对人类控制的依赖程度不断降低
鸿蒙2.0和EMUI11将全面升级 完整的智能家居生态才是目的
长城汽车精准锁定女性专属纯电动汽车市场
RK3568 AMP测试验证说明
realme XT获得国内的3C认证,搭载高通骁龙712 AIE处理器
莫之比被评定为长沙高新区“瞪羚企业”
智能体脂称方案|电子秤方案芯片CS1231
交流电机和直流电机的优缺点
腾玛人工智能助力政府部门积极参与慈善公益活动感恩回馈社会
人工智能伦理问题是怎样的
华为与全球运营商开展云化BRAS联合创新
预计2021年,基于物联网技术的应用将发生巨大变化
算法解题:缺失的最小正整数
变压器的额定电压与额定容量选择实例分析
小家电产品PD协议快充芯片-LDR6328
零线和火线短接会出现什么情况
AMD宣布RX 6000M笔记本显卡:基于RNA2架构 2K流畅无比
如何使算法公平?如何定义“公平”?