rk3399pro buildroot SDK编译及烧录

一、工具及平台

开发环境:ubuntu14.04
代码管理:repo
平台:firefly RK3399pro

二、下载源码

Firefly_Linux_SDK源码包
提取码:ffly

三、编译环境

sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler \
gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools \
linaro-image-tools autoconf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make \
binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio python unzip rsync file bc wget \
libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client \
subversion asciidoc w3m dblatex graphviz python-matplotlib libc6:i386 libssl-dev texinfo \
liblz4-tool genext2fs lib32stdc++6

四、编译

sudo apt-get install phablet-tools   //安装repo
sudo apt-get install p7zip-full		 //安装7z解压工具
sudo apt-get install realpath		 //编译期间用到
7z x firefly_linux_sdk.7z			 //解压
cd firefly/linux_sdk/				 //进入sdk目录
repo sync -c						 //repo更新源代码
cp device/rockchip/rk3399pro/aio-3399proc.mk ./    //拷贝配置文件到编译根目录
./build.sh aio-3399proc.mk						   //配置编译环境
./build.sh 										   //全自动编译

//编译出错找不到build目录 新建build目录解决
cd /home/cks/fireFlyLinuxSdk/firefly/linux_sdk/buildroot/output/rockchip_rk3399pro/build/camera_engine_rkisp-1.0/                      
mkdir build

//拷贝分区镜像
./mkfirmware.sh

五、编译成功打印

create userdata.img...SIZE = 3072
genext2fs -b 3072 -N 768 -d /home/cks/fireFlyLinuxSdk/firefly/linux_sdk/device/rockchip/userdata/userdata_normal /home/cks/fireFlyLinuxSdk/firefly/linux_sdk/rockdev/userdata.img
e2fsck 1.42.9 (4-Feb-2014)
文件系统缺少UUID;正在生成一个。

第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/home/cks/fireFlyLinuxSdk/firefly/linux_sdk/rockdev/userdata.img: 14/768 files (0.0% non-contiguous), 525/3072 blocks
done.
create uboot.img...done.
create trust.img...done.
create loader...done.
create boot.img...done.
 Image: image in rockdev is ready 
Make image ok!
Make update.img
start to make update.img...
Android Firmware Package Tool v1.65
------ PACKAGE ------
Add file: ./package-file
Add file: ./Image/MiniLoaderAll.bin
Add file: ./Image/parameter.txt
Add file: ./Image/trust.img
Add file: ./Image/uboot.img
Add file: ./Image/boot.img
Add file: ./Image/rootfs.img
Add CRC...
Make firmware OK!
------ OK ------
********RKImageMaker ver 1.66********
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 ./Image/update.img OK.
/home/cks/fireFlyLinuxSdk/firefly/linux_sdk
Make update image ok!
Img_path:/home/cks/fireFlyLinuxSdk/firefly/linux_sdk/rockdev/update.img
Saved manifest to /home/cks/fireFlyLinuxSdk/firefly/linux_sdk/IMAGE/RK3399PRO-FIREFLY-AIOC_20201208.0216_RELEASE_TEST/manifest_20201208.0216.xml
cks@cks:~/fireFlyLinuxSdk/firefly/linux_sdk$ ./
aio-3399proc.mk  build.sh         distro/          external/        Makefile         .repo/           rockdev/         
app/             debian/          docs/            IMAGE/           mkfirmware.sh    rkbin/           tools/           
buildroot/       device/          envsetup.sh      kernel/          prebuilts/       rkflash.sh       u-boot/          
cks@cks:~/fireFlyLinuxSdk/firefly/linux_sdk$ ./mkfirmware.sh 
create rootfs.img...done.
create parameter...done.
create recovery.img...done.
create misc.img...done.
create oem.img...SIZE = 8192
genext2fs -b 8192 -N 2048 -d /home/cks/fireFlyLinuxSdk/firefly/linux_sdk/device/rockchip/oem/oem_normal /home/cks/fireFlyLinuxSdk/firefly/linux_sdk/rockdev/oem.img
e2fsck 1.42.9 (4-Feb-2014)
文件系统缺少UUID;正在生成一个。

第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/home/cks/fireFlyLinuxSdk/firefly/linux_sdk/rockdev/oem.img: 16/2048 files (0.0% non-contiguous), 6599/8192 blocks
done.
create userdata.img...SIZE = 3072
genext2fs -b 3072 -N 768 -d /home/cks/fireFlyLinuxSdk/firefly/linux_sdk/device/rockchip/userdata/userdata_normal /home/cks/fireFlyLinuxSdk/firefly/linux_sdk/rockdev/userdata.img
e2fsck 1.42.9 (4-Feb-2014)
文件系统缺少UUID;正在生成一个。

第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/home/cks/fireFlyLinuxSdk/firefly/linux_sdk/rockdev/userdata.img: 14/768 files (0.0% non-contiguous), 525/3072 blocks
done.
create uboot.img...done.
create trust.img...done.
create loader...done.
create boot.img...done.
 Image: image in rockdev is ready 

六、烧录

连接设备typc-usb 连接到pc并将usb设备切换到虚拟机
按照以下方式可以使设备进入升级模式
先断开电源适配器连接:

  • 公对公USB线一端连接主机,一端连接开发板
  • 按住设备上的 RECOVERY (恢复)键并保持。
  • 接上电源
  • 大约两秒钟后,松开 RECOVERY 键。
  • sudo upgrade_tool uf update.img
  • update.img在linux_sdk/rockdev底下

你可能感兴趣的:(rk3399,linux,arm)