RK1126从入门到放弃:(一)编译篇
安装必备软件:
apt-get install repo git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler python-pip ncurses-dev pyelftools
交叉编译工具链
-
U-Boot 及Kernel编译工具链: prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux- gnu/bin/aarch64-linux-gnu- 对应版本:gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05) Buildroot编译工具链: 64位系统:buildroot/output/rockchip_rk356x/host/bin/aarch64-buildroot-linux-gnu- 32位系统:buildroot/output/rockchip_rk356x/host/usr/arm-linux-gcc 对应版本:gcc version 9.3.0 (Buildroot 2018.02-rc3-02723-gd3fbc6ae13)
u-boot编译
# 查看编译帮助 <SDKRoot>#./build.sh -h uboot # 编译命令 <SDKRoot>#./build.sh uboot
-
U-Boot 配置说明 使用menuconfig配置U-Boot,选择需要的模块,最后保存退出。 rv1126_defconfig 文件在目录 u-boot/configs 命令格式:make “RK_UBOOT_DEFCONFIG”_defconfig RK_UBOOT_DEFCONFIG 定义在./build.sh选择的BoardConfig*.mk
$cd u-boot $make rv1126_defconfig $make menuconfi
-
保存配置到对应的文件rv1126_defconfig
$make savedefconfig $cp defconfig configs/rv1126_defconfig
kernel编译
# 查看编译帮助 <SDKRoot>#./build.sh -h kernel # 编译命令 <SDKRoot>#./build.sh kernel
Recovery 编译
<SDKRoot>#./build.sh recovery
编译后在 Buildroot 目录 output/rockchip芯片型号recovery/images 生成 recovery.img。 需要特别注意 recovery.img 是包含 kernel.img,所以每次 Kernel 更改,Recovery 是需要重新打包生成 例如:
<SDK>$source envsetup.sh rockchip_芯片名称 <SDK>$make recovery-rebuild <SDK>$./build.sh recovery
Rootfs 编译
<SDKRoot>#./build.sh rootfs
编译后在 Buildroot 目录 output/rockchip_芯片型号/images下生成 rootfs.ext4
app 和 external 里的工程编译方法
-
命令格式:./build.sh app/<pkg1> app/<pkg2> external/<pkg3> .. <pkg1>,<pkg2>,<pkg3> 是app和external目录里的工程 例如编译external/mpp 和 app/mediaserver
$./build.sh external/mpp app/mediaserver
注:SDK根目录app和external下的工程都是buildroot的package包,编译方法相同。
BSP包编译
SDK的BSP包只包含音视频编解码库、NPU库以及头文件。 注:BSP包不包含文件系统。
$source envsetup.sh rockchip_rv1126_rv1109_libs $make -j12
编译BSP生成的目录 buildroot/output/rockchip_rv1126_rv1109_libs/BSP
tree buildroot/output/rockchip_rv1126_rv1109_libs/BSP/ buildroot/output/rockchip_rv1126_rv1109_libs/BSP/ ├── example │ ├── common │ ├── iqfiles │ ├── librtsp │ ├── multi_audio_test │ ├── rknn_model │ ├── stressTest │ └── vqefiles ├── include │ ├── rga │ ├── rkaiq │ └── rkmedia ├── lib └── npu ├── include ├── ko └── lib
固件打包
固件打包命令: $./mkfirmware.sh 固件目录:rockdev
技术交流群
下一篇:
java对接支付宝接口,客服给的参考代码