1、安装依赖包
在编译之前安装依赖包,输入以下命令:
sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath
sudo apt-get install libsdl1.2-dev xterm
sudo apt-get install make xsltproc docbook-utils fop
sudo apt-get install autoconf automake libtool libglib2.0-dev
2、下载源码
拷贝源码“iTOP-3399 开发板\02_iTOP-3399 开发资料汇总(不含光盘内容)\13_嵌入式 Linux 开发指南(RK3399)手册配套资料\1.RK 原厂 3399 源码\3399 原厂 BSP”目录下的源码到 ubuntu 下。然后输入命令解压源码。
3、编译 yocto
输入以下命令初始化编译环境。
cd yocto/
./oe-init-build-env
<ignore_js_op>
输入以下命令,如下图所示:
export PATH=$PATH:/home/topeet/rk3399_linux_v2.0_210520/yocto/poky/bitbake/bin
cd build/conf
ln -sf rockchip-rk3399-sapphire-excavator.conf local.conf
cd .. bitbake core-image-minimal
<ignore_js_op>
接下来就是长达好几个小时的编译。在编译的过程中,最好是全程kexue上网,否则会因为网络下载问题而编译出错,如果出现下载失败的提示,重新输入 bitbake core-image-minimal 再次编译。
<ignore_js_op>
经过漫长的等待,终于编译完了,编译完之后如下图所示:
<ignore_js_op>
4、制作 yocto 镜像
编译完之后,我们进入
/home/topeet/rk3399_linux_v2.0_210520/yocto/build/tmp/deploy/images/rockchip-rk3399-sapphire-excavator/
目录下,可以看到编译生成的
core-image-minimal-rockchip-rk3399-sapphire-excavator-20211020065545.rootfs.ext4 文件。接下来我们要把此文件系统制作为 ubuntu_1604.img,然后拷贝 ubuntu_1604.img 到源码的 ubuntu 目录下,编译 ubuntu 镜像,实际上是在编译 yocto 的镜像。编译完成生成 update.img 镜像,便可以烧写 yocto镜像了。
接下来介绍如何把 core-image-minimal-rockchip-rk3399-sapphire-excavator-20211020065545.rootfs.ext4
文件制作为 ubuntu_1604.img,按如下所示输入以下命令,一种颜色代表一条命令。
cd
/home/topeet/rk3399_linux_v2.0_210520/yocto/build/tmp/deploy/images/rockchip-rk3399-sapphire-excavator/
mkdir rootfs
mount -o loop -t ext4 core-image-minimal-rockchip-rk3399-sapphire-excavator-20211020065545.rootfs.ext4
rootfs
cp -r rootfs/* yocto/
umount rootfs
mkdir tmp
dd if=/dev/zero of=ubuntu.img bs=1M count=1024 //指定 yocto 镜像的大小,可以修改
mkfs.ext4 ubuntu_1604.img
mount ubuntu_1604.img tmp/
cp -rfp yocto/* tmp/
umount tmp/
5、测试 yocto
经过上一小节制作完 yocto 镜像,烧写完毕,yocto 系统启动如下图所示:
<ignore_js_op>
迅为itop3399开发板:
<ignore_js_op>
核心板参数
尺寸 | 6.5*5.5cm |
高度 | 连同连接器在内0.26cm |
CPU | Rockchip RK3399 28纳米HKMG制程 双核Cortex-A72 1.8/2.0GHz;四核Cortex-A53 1.4GHz |
内存 | 2GB 双通道DDR3(4GB可选) |
存储 | 16GB EMMC |
电源管理 | 官方推荐RK808芯片 |
工作电压 | 3.3V供电 |
系统支持 | Android8.1系统;Ubuntu16.04系统;Debian9系统 |
接口 | 支持双USB3.0 Type-C接口;支持PCIe 2.1 (4 full-duplex lanes );内置低功耗MCU;8路数字麦克风阵列输入 |
引角扩展 | 引出脚多达320个,满足用户各类扩展需求 |
多媒体 | 支持4K VP9 and 4K 10bits H265/H264 视频解码,高达60fps;1080P 多格式视频解码 (VC-1, MPEG-1/2/4, VP8) |
运行温度 | 0度至+80度区间,设备工作正常,运行良好! |
应用范围 | 可广泛用于人脸识别设备、无人机、机器人、游戏终端、广告机/一体机、金融POS类、车载控制业、云端服务、VOIP视频会议系统、医疗类、安防/监控/警务、工控类、IoT物联网领域、VR等近百行业应用产品。 |
底板参数
尺寸 | 19cm*12cm | PCB板 | 4层 |
POWER | 电直流电源输入接口,12V/2A电源输入 | GPS模块 | 支持(选配) |
SWITCH | 电源开关 | WIFI/BT | 双频2.4G/5G WIFI、Bluetooth4.1二合一模块 |
HDMI接口 | 1路 HDMI2.0输出接口 | EDP LCD | 1路 |
Type-C | 1路 Type-C USB3.0接口,兼容OTG功能 | MIPI_TX | 1路 |
TF卡槽 | 1个 | MIPI_TX/RX | 1路 |
USB HOST | 4路 USB2.0接口;1路 USB3.0接口; | SPDIF | 光纤输出接口 |
串口 | 2路RS232串口 | BUZZER | 1个蜂鸣器 |
网口 | 1路千兆以太网(10/100/1000Mbps) | RTC | 实时时钟 |
IRDA | 1个 | GPIO接口 | 20PIN,包括1路SPI和2路I2C |
SIM卡槽 | 1个 | LED | 3个 |
PHONE | 支持耳机输出 | PCIE | PCIE M.2接口 |
MIC | 支持MIC输入 | 陀螺仪 | 支持 |
按键 | 6个 | 电子罗盘 | 支持 |
4G模块 | 全网通(选配) | GPIO | 20路 |
CAMERA接口 | CAMERA 1路、MIPI CAMERA 1路 |