RK3308编译

由于工作原因选择瑞芯微的CPU,型号为RK3308B-S,购买了firefly调试板,进行前期调试。

1、环境搭建

RK3308的SDK尽量在Ubuntu 18.04系统环境下进行开发,若使用其它系统版本,可能需要对编译环境做相应调整。Ubuntu 安装方法见之前的博文有提到过。

1、安装依赖包

sudo 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 python-pyelftools git-core gnupg gperf build-essential zip curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc libfile-which-perl sed binutils bash patch gzip bzip2 perl tar cpio python rsync file bc libmpc3 pkg-config tree
#注:如果编译报错,请根据报错提示安装对应依赖

2、SDK同步

.repo/repo/repo sync -l
.repo/repo/repo sync -c

3、SDK下载

  1. 瑞芯微官方提供。
  2. firefly官网下载:https://wiki.t-firefly.com/zh_CN/Core-3308Y/prepare_compile_linux.html

2、SDK编译

1、编译前配置

编译前需要根据不同的版型选择对应的配置文件,配置文件路径:/device/rockchip/rk3308。在SDK根目录下进行配置:

./build.sh xxxxxx.mk

2、全自动编译

全自动编译会执行所有编译、打包操作,直接生成 RK 固件。
在SDK根目录下编译:

./build.sh

编译完成后,固件存放路径:

/rockdev/
每次全编译结果都会存储起来,存放路径:/IMAGE/各个版本

rockdev下文档说明:

  • boot.img:linux内核固件;
  • MiniLoaderAll.bin:loader固件;
  • misc.img:
  • oem.img:
  • parameter.txt:分区表,配置一些系统参数,比如固件版本,存储器分区信息等;
  • recovery.img:
  • rootfs.img:文件系统;
  • trust.img:
  • uboot.img:u-boot固件;
  • update.img:整体打包的固件;
  • userdata.img:用户数据固件;

3、部分编译

1、编译U-Boot

1、在SDK根目录下,执行以下命令:

./build.sh uboot

2、进入u-boot文件夹下,执行以下命令

./make.sh 配置文件
#配置文件:
#查看xxxxxx.mk文件下RK_UBOOT_DEFCONFIG对应的配置文件,路径为:/u-boot/configs/xxxxxx_defconfig

以上两种方式都可以。
编译生成文件路径:
/u-boot/

  • rk3308_loader_uart4_v2.06.134.bin(MiniLoaderAll.bin)
  • trust.img
  • uboot.img

2、其余的部分编译

其余的编译没有使用过,除了前期调试单独编译u-boot部分,其余都是全自动编译。

3、SDK编译异常

编译完成后(没有报错的情况下),会出现提示如下内容,并不会直接跳出进程,弹出终端命令行输入框,这时输入q即可,表示退出。

Generating new image, please wait...
Writing head info...
Writing boot file...
Writing firmware...
Generating MD5 data...
MD5 data generated successfully!
New image generated successfully!
Making update.img OK.
Running build_updateimg succeeded.
Generate patch for buildroot done
Generate patch for device/rockchip done
Generate patch for kernel done
Generate patch for u-boot done
Saved manifest to /home/rxin/linux/rockchip/provide_rock/source_code/IMAGE/RK3308BS-EVB-AMIC-V11-AARCH32_20221108.1903_RELEASE_TEST/m
(END)

注:以上编译如果无法解决问题,可参考firefly的wiki教程:https://wiki.t-firefly.com/zh_CN/Core-3308Y/ubuntu_compile.html

原文地址:http://www.cnblogs.com/Rxin/p/16870852.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性