在GDK5上编译并烧录AMP镜像

本文主要介绍如何在GDK5本机上编译并烧录AMP镜像,编译过程在幽兰代码本上也可以完成。

1. 环境准备

源代码:http://47.100.199.219/download/products/gdk5/src/amp_rtos/ver_1/rtos.tar.gz

编译工具(二选一):

下载好的源代码和编译工具位于同于目录中(编译工具的路径可以在rtos/bsp/rockchip/rk3568-mcu/rtconfig.py中的EXEC_PATH内设置,当前要求编译工具与rtos目录在同级目录中)。

geduer@gdk5:~/Downloads$ ls
rtos xpack-riscv-none-embed-gcc-10.2.0-1.2

请不要直接使用SATA硬盘的中的源代码。

确保机器上存在python3,然后运行下面的命令。

sudo apt install python3.13-venv
python3 -m venv ~/scons_venv
source ~/scons_venv/bin/activate
pip install scons
pip install buildutil

如果apt执行有问题,请先通过date手动更新时间,然后再进行sudo apt update

sudo date -s "2025-12-24 14:17:10"

2. 开始编译

  1. 进入rk3568-mcu目录。
cd rtos/bsp/rockchip/rk3568-mcu/
  1. 运行scons命令开始编译。

  2. 编译完成后会生成rtthread.binrtthread.elf两个文件,其中rtthread.elf是包含调试符号的,而rtthread.bin则一般看作真正的固件。

3. 打包amp.img

  1. 创建output目录。
mkdir -p rtos/bsp/rockchip/rk3568-mcu/output
  1. 复制文件到output目录中。
cp rtos/bsp/rockchip/rk3568-mcu/rtthread.bin rtos/bsp/rockchip/rk3568-mcu/output/rtt.bin
cp rtos/bsp/rockchip/rk3568-mcu/amp_mcu.its rtos/bsp/rockchip/rk3568-mcu/output/amp_mcu.its
  1. 进入output目录。

  2. 更新amp_mcu.its文件。

sed -i '/share {/,/}/d' amp_mcu.its
sed -i '/compile {/,/}/d' amp_mcu.its
  1. 执行下方的命令打包生成amp.img(需要使用rtos/bsp/rockchip/tools/中的mkimage工具,请勿使用其他的mkimage工具)。
../../tools/mkimage -f amp_mcu.its -E -p 0xe00 ./amp.img

4. 烧录amp.img

在GDK5上执行下面的命令烧录amp.img/dev/mmcblk0p4是当前的AMP分区)。

sudo dd if=./amp.img of=/dev/mmcblk0p4 seek=0
sync

烧录完成后,重启即可使用新的amp.img了。

5. 清理方式

如果编译完后想要清理二进制文件,请执行下面的命令。

cd rtos/bsp/rockchip/rk3568-mcu
scons --clean .
rm -rf rtos/bsp/rockchip/rk3568-mcu/build
rm -rf rtos/bsp/rockchip`/rk3568-mcu/output
rm -rf rtos/bsp/rockchip/rk3568-mcu/__pycache__
rm -rf rtos/tools/__pycache__
作者:aibot  创建时间:2025-12-24 11:55
最后编辑:aibot  更新时间:2026-01-05 17:02