RK3399Linux SDK编译开发环境搭建
一、编译开发环境搭建
1.初始化开发环境
本部分内容包括如何搭建用于RK LINUX开发的本地环境。您需要在Linux或者Mac OS
环境下搭建,建议使用Ubuntu64ibt开发,如Ubuntu14.0464ibt、Ubuntu16.0464ibt 等,与我司的开发环境统一,避免出现环境问题。
2.配置一个Linux开发环境
本创建步骤是基于Ubuntu LTS(14.04)版本,但是大部分发行版本必须保证所需的工具
可以运行。
注意:您也可以在虚拟机中搭建环境。如果您在虚拟机中运行Linux,您需要至少2GB的RAM/swap,或者30GB以上的磁盘空间来创建编译环境。
在Ubuntu或者MacOS下,通常您需要安装如下工具:
A.Python2.6--  2.7,您可以从下载.
B.GNU Make3.81--3.82,您可以从下载.
C.Git1.7or newer.您可以从git-scm下载.
3.安装所需的安装包(基于Ubuntu1
4.04)
您需要一个64位版本的Ubuntu。注意:使用老版本Ubuntu可能会有兼容性问题。
用下面命令来安装Ubuntu所需的包:
$sudo apt-get install git gnupg flex bison gperf build-essential\
zip tar curl libc6-dev libncurses5-dev:i386x11proto-core-dev\
libx11-dev:i386libreadline6-dev:i386libgl1-mesa-glx:i386\
libgl1-mesa-dev g++-multilib mingw32cmake tofrodos\
python-markdown libxml2-utils xsltproc zlib1g-dev:i386lzop
$sudo ln-s/usr/lib/i386-linux-gnu/mesa/libGL.so.1/usr/lib/i386-linux-gn
u/libGL.so
4.安装ARM交叉编译工具链和编译内核相关软件包:
$sudo apt-get install gcc-arm-linux-gnueabihf\
gcc-aarch64-linux-gnu device-tree-compiler lzop libncurses5-dev\ libssl1.0.0libssl-dev
二、编译
1、uboot编译
cd u-boot&&make rk3399_linux_defconfig&&make ARCHV=aarch64-j12&&cd..
2、kernel编译
cd kernel&&make ARCH=arm64rockchip_defconfig&&make ARCH=arm64
rk3399-videostrong-board-mipi.img-j12&&cd..
注意:rk3399-videostrong-board-edp.dts文件是配置EDP LCD文件,
rk3399-videostrong-board-dulelcd.dts是双屏配置显示的文件,接口是edp and mipi
3、rootfs系统及app编译
cd buildroot&&make rockchip_rk3399_defconfig&&cd..&&./build_all.sh-j12
&&./mkfirmware.sh
4、最终固件在rockimg目录下
备注:
1、交叉编译环境搭建:
交叉编译工具位于buildroot/output/host/usr/目录下,需要将工具的bin/目录和
arm-rockchip-linux-gnueabihf/bin/目录设为环境变量。也可以在顶层目录直接”source envsetup.sh“,会自动配置环境变量,但只对当前控制台有效。
2、系统编译
执行“./build_all.sh”,其会自动到系统中的rk_make_first.sh和rk_make.sh,然后执行编译命令。如果只需要编译单模块,可以进入到模块目录下,执行rk_make.sh或rk_make_first.sh 命令。
3、在PC端运行烧写工具
3.1Window PC平台
工具在tools/windows,运行可执行程序,选上要烧写的固件单击“执行“按键。
注:
1、工具中boot分区在Linux项目上对应是rootfs分区。
2、Windows平台需要安装驱动,驱动目录在工具目录:USB驱动
\DriverAssitant_v4.4\DriverAssitant_v4.4,直接右键管理员身份执行
“”安装即可。
3.2Linux PC平台
工具在tools/linux/Linux_Upgrade_Tool,详细使用方法参见工具包里文档《Linux
开发工具使用手册_v1.0.pdf》。
注:工具中boot分区在Linux项目上对应是rootfs分区。
三、SecureCRT
波特率等参数配置
kernel驱动里面目前修改了波特率为115200,用户可以不用设置为1500000波特率。
工程目录介绍
进工程目录下有buildroot、app、kernel、u-boot、device、common、config、docs、external、preb
uilts、rockimg、rootfs、tools等目录。每个目录或其子目录会对应一个git工程,提交需要在各自的目录下进行。
1)buildroot:用于编译buildroot根文件系统sdk
2)rootfs:存放debian相关文件
3)app:存放上层应用app,主要是Carmachin和一些测试应用程序。
4)external:相关库,包括音频、视频、网络等。
5)kernel:kernel代码。
6)device/rockchip/rk3399:存放开机初始化脚本,存放第三方库、bin、alsa/wifi等配置文件;另还存放编译脚本,系统根目录的几个sh脚本都是在repo sync的时候,从这里拷贝出来的,所以若要提交修改的脚本,必须在device/rockchip/rk3399目录下进行。build_all.sh:编译所有第三方库和应用。
mkfirmware.sh:打包最终烧写的固件。
envsetup.sh:终端环境变量设置。
7)docs:存放工程帮助文件。
8)prebuilts:存放编译kernel需要的gcc和交叉编译工具toolschain。9)rockimg:存放编译输出固件。
10)tools:存放烧写工具。
四、Debian系统开发说明文档
1、交叉工具链下载
sudo apt-get install gcc-4.8-multilib-arm-linux-gnueabihf
sudo apt-get install gcc-arm-linux-gnueabihf libssl-dev gcc-aarch64-linux-gnu
2、Debian rootfs编译
先进入rootfs目录
cd rootfs
sudo apt-get install binfmt-support qemu-user-static live-build
sudo dpkg-i ubuntu-build-service/packages/*
sudo apt-get install-f
ARCH=armhf./mk-base-debian.sh
编译完成会生成:
note:
若出现
lb config:unrecognized option'--debootstrap-options'lb config:unrecognized option'--variant=minbase
--include=apt-transport-https,gnupg'lb config:unrecognized option'--updates'需要更新live-build版本
下载3.0-a69-1包,并手动安装:dpkg-i live-build_3.0-a69-1_all.deb
3、Building rk-debian rootfs
ARCH=armhf./mk-rootfs.sh
Creating the ext4image(linaro-rootfs.img)
./mk-image.sh
4、完整固件打包
回到工程根目录,打包完整固件
./mkdebian_firmware.sh
生成所有固件到目录rockimg/Image-debian
5、烧录
Windows烧录工具,打开烧录工具
tools\windows\AndroidTool_Release_v2.35\AndroidTool_Release_v2.35\AndroidTool. exe
将3.3中生成的固件,一一拖入,当系统进入烧录模式后,即可烧录。
其中以下图,linaro-rootfs即是Debian根文件系统

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。