瑞芯微Rockchip开发者社区
直播中

王敏

7年用户 1441经验值
私信 关注
[问答]

如何搭建Firefly RK3308B开发环境?

如何搭建Firefly RK3308B开发环境?

回帖(1)

李建宁

2022-3-9 13:53:48
开发板信息:
硬件版本是:RCC-RK3308B-CC-PLUS

(一)开发环境搭建



  • 安装虚拟机VMware 我按照的是VMware Workstation 16
    Pro,版本是16.2.1,破解码是ZF3R0-FHED2-M80TY-8QYGC-NPKYF,安装过程没有什么特别,一直下一步即可。
  • 在虚拟机上安装Ubuntu 我按照的Ubuntu版本是16.04.7,内核信息是


sgw@ubuntu:~/prj/Firefly-RK3308/kernel$ cat /proc/version
Linux version 4.15.0-112-generic (buildd@lcy01-amd64-021) (gcc version
5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)) #113~16.04.1-Ubuntu SMP Fri Jul 10 04:37:08 UTC 2020

选择典型安装即可,安装时硬盘设置为80G,内存设置为8G

(二)软件包安装



  • sudo apt-get update


sudo apt-get update



  • 安装 Kernel 及 U-Boot 编译需要依赖的软件包


sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl
zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev
x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev
libxml2-utils xsltproc unzip device-tree-compiler



  • 安装 Buildroot 编译需要依赖的软件包


sudo apt-get install libfile-which-perl sed make binutils gcc g++ bash
patch gzip bzip2 perl tar cpio python unzip rsync file bc libmpc3
git repo texinfo pkg-config cmake tree



  • 必要工具安装


sudo apt-get install genext2fs
sudo apt-get install gawk
sudo apt-get install libncurses5-dev
sudo apt-get install liblz4-tool

(三)下载 SDK
SDK链接后续补充,放在百度云上供下载。
按照文章指引进行解压、添加远程仓库、更新远程仓库地址,
SDK目录结构如下

.
├── buildroot
├── build.sh -> device/rockchip/common/build.sh
├── device
├── docs
├── envsetup.sh -> buildroot/build/envsetup.sh
├── external
├── kernel
├── Makefile -> buildroot/build/Makefile
├── mkfirmware.sh -> device/rockchip/rk3308/mkfirmware.sh
├── prebuilts
├── rkbin
├── rockdev
├── tools
├── u-boot

其中:

buildroot 目录存放 buildroot 开源项目代码,可定制根文件系统

build.sh 为系统编译脚本,执行可进行 SDK 的完整编译

device 目录存放板级配置及一些预置文件,开机脚本等

docs 目录存放 SDK 相关的开发文档

external 目录存放 SDK 相关库及工具源码

kernel 为内核部分源码

mkfirmware.sh 脚本可对镜像文件进行打包,并统一拷贝至 rockdev/ 目录

prebuilts 目录存放 U-Boot、Kernel 编译使用的交叉编译工具链

rkbin 目录存放 Rockchip 平台一些关键性二进制文件,包括ddr.bin,miniloader.bin,bl31.bin,在 U-Boot 编译过程中会用到

rockdev 执行 mkfirmware.sh 会把系统编译的生成的镜像,统一拷贝至 rockdev/

tools 目录存放着 Windows 及 Linux 环境下的开发工具、调试工具、量产工具

u-boot 目录存放着 U-Boot 部分的源码

(四)编译及打包



  • 全编译


./build.sh roc-rk3308b-cc-plus_release_BoardConfig.mk
./build.sh



  • 打包生成update.img


./build.sh updateimg


(五)升级开发板
编译成功后,得到update.img文件

sgw@ubuntu:~/prj/Firefly-RK3308$ cd rockdev/
sgw@ubuntu:~/prj/Firefly-RK3308/rockdev$ ll
total 475720
drwxrwxr-x  2 sgw sgw      4096 Jan 23 22:32 ./
drwxrwxr-x 15 sgw sgw      4096 Jan 20 23:27 ../
-rw-rw-r--  1 sgw sgw  15945728 Jan 20 23:26 boot.img
-rw-rw-r--  1 sgw sgw    260430 Jan 20 23:26 MiniLoaderAll.bin
-rwxrwxr-x  1 sgw sgw     49152 Jan 20 03:24 misc.img*
-rw-rw-r--  1 sgw sgw  23068672 Jan 20 23:27 oem.img
-rw-rw-r--  1 sgw sgw       476 Jan 20 03:38 parameter.txt
-rw-rw-r--  1 sgw sgw  13277184 Jan 20 23:27 recovery.img
-rw-r--r--  1 sgw sgw 268435456 Jan 20 23:26 rootfs.img
-rw-rw-r--  1 sgw sgw   2097152 Jan 20 23:26 trust.img
-rw-rw-r--  1 sgw sgw   2097152 Jan 20 23:26 uboot.img
-rw-rw-r--  1 sgw sgw 330742232 Jan 23 22:32 update.img
-rw-rw-r--  1 sgw sgw   5242880 Jan 20 23:27 userdata.img
sgw@ubuntu:~/prj/Firefly-RK3308/rockdev$ pwd
/home/sgw/prj/Firefly-RK3308/rockdev
此时,把update.img拷贝到window系统下,按照Firefly【升级固件】进行升级。
通过adb连接开发板,查看kernel信息

/mnt # sgw@ubuntu:~/prj/Firefly-RK3308/kernel/drivers$ adb devices
List of devices attached
55077624d92ec050        device

sgw@ubuntu:~/prj/Firefly-RK3308/kernel/drivers$ adb shell
/ # cat /pro/version
cat: /pro/version: No such file or directory
/ # cd mnt
/mnt # cat /proc/version
Linux version 4.4.143 (zhengyk@mid-server) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05) ) #214 SMP PREEMPT Tue Oct 20 09:48:07 CST 2020
/mnt #
举报

更多回帖

发帖
×
20
完善资料,
赚取积分