人工智能开发板RK3399系统烧写步骤
人工智能开发板RK3399系统烧写步骤
1、 烧写Linux系统(使用USB线烧写)
图1-1 烧写工具
Linux_Upgrade_Tool是Rockchip提供的Linux下的命令行工具,用于通过Type-C数据线来升级eMMC中的固件,同时还提供了如擦除eMMC、直接读/写eMMC等功能。
图1-2 安装解压命令
图1-3 解压命令压缩包
安装upgrade_tool: 下载Linux_Upgrade_Tool_1.27.rar后解压即可获得upgrade_tool,然后复制并设置权限。
wbyq@wbyq:~/work/RK3399$ ls
config.ini Linux开发工具使用手册_v1.1.pdf log2017-07-13.txt log2017-07-14.txt upgrade_tool
wbyq@wbyq:~/work/RK3399$ sudo cp upgrade_tool /usr/local/sbin
wbyq@wbyq:~/work/RK3399$ sudo chown root:root /usr/local/sbin/upgrade_tool
wbyq@wbyq:~/work/RK3399$ sudo chmod 0755 /usr/local/sbin/upgrade_tool
图1-4 烧写的固件
图1-5 解压固件
查看当前系统位数:
wbyq@wbyq:~/work$ getconf LONG_BIT
64
查看当前系统是否支持多个构架:
wbyq@wbyq:~/work$ dpkg --print-foreign-architectures
i386
出现i386就表示系统兼容32位系统。
查看可执行文件的位数:
wbyq@wbyq:~/work/RK3399/tools$ file upgrade_tool
upgrade_tool: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 2.6.8, with debug_info, not stripped
32就表示32位,64就表示64位。
如果64位的系统需要运行或者编译32位机的程序需要安装32位的库:
wbyq@wbyq:~/work/RK3399/tools$ sudo apt-get install gcc-multilib
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
gcc-7-multilib lib32asan4 lib32atomic1 lib32cilkrts5 lib32gcc-7-dev lib32gcc1 lib32gomp1 lib32itm1 lib32mpx2
lib32quadmath0 lib32stdc++6 lib32ubsan0 libc6-dev-i386 libc6-dev-x32 libc6-i386 libc6-x32 libx32asan4 libx32atomic1
libx32cilkrts5 libx32gcc-7-dev libx32gcc1 libx32gomp1 libx32itm1 libx32quadmath0 libx32stdc++6 libx32ubsan0
下列【新】软件包将被安装:
gcc-7-multilib gcc-multilib lib32asan4 lib32atomic1 lib32cilkrts5 lib32gcc-7-dev lib32gcc1 lib32gomp1 lib32itm1
lib32mpx2 lib32quadmath0 lib32stdc++6 lib32ubsan0 libc6-dev-i386 libc6-dev-x32 libc6-i386 libc6-x32 libx32asan4
libx32atomic1 libx32cilkrts5 libx32gcc-7-dev libx32gcc1 libx32gomp1 libx32itm1 libx32quadmath0 libx32stdc++6
libx32ubsan0
升级了 0 个软件包,新安装了 27 个软件包,要卸载 0 个软件包,有 73 个软件包未被升级。
需要下载 16.1 MB 的归档。
解压缩后会消耗 74.8 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://mirrors.aliyun.com/ubuntu bionic/main amd64 libc6-i386 amd64 2.27-3ubuntu1 [2,651 kB]
获取:2 http://mirrors.aliyun.com/ubuntu bionic/main amd64 libc6-dev-i386 amd64 2.27-3ubuntu1 [1,815 kB]
获取:3 http://mirrors.aliyun.com/ubuntu bionic/main amd64 libc6-x32 amd64 2.27-3ubuntu1 [2,848 kB]
略
在64位系统下gcc编译64位和32位的可执行程序:
wbyq@wbyq:~/work/RK3399/tools$ gcc main.c -o app_64
wbyq@wbyq:~/work/RK3399/tools$ gcc main.c -m32 -o app_32 //编译32位程序
wbyq@wbyq:~/work/RK3399/tools$ file app_64
app_64: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=0926d89e5baaf7e16166ef0b86d9aed9a9229f87, not stripped
wbyq@wbyq:~/work/RK3399/tools$ file app_32
app_32: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 3.2.0, BuildID[sha1]=81707985ab43e1b8e5cb736bffb5a7432412328c, not stripped
wbyq@wbyq:~/work/RK3399/tools$
如果开发板处于开机状态,长按RK3399开发板的电源键可以关机。
准备烧写系统:
1. 先保证开发板处于关机状态
2. 将开发板typc口与电脑USB口连接,并挂载到Linux系统下。
图1-6 挂载的USB设备
3. 将按住BOOT键再长按Power键开机,同时持续按住BOOT键5秒以上强制进入MASKROM模式。
(这时电脑会提示识别到USB,需要挂载到Linux系统下)
如果当前连接着屏幕,这时屏幕上没有任何显示。
4. 在linux下运行以下命令即可烧写Linux系统并重启:
注意:需要提前解压要烧写的固件。
sudo upgrade_tool ul MiniLoaderAll.bin
sudo upgrade_tool di -p parameter.txt
sudo upgrade_tool di uboot uboot.img
sudo upgrade_tool di trust trust.img
sudo upgrade_tool di resource resource.img
sudo upgrade_tool di kernel kernel.img
sudo upgrade_tool di boot boot.img
sudo upgrade_tool di rootfs rootfs.img
sudo upgrade_tool RD
如果固件中的MiniLoaderAll.bin版本不同,或烧写与eMMC中不同的系统,则可能会遇到无法成功启动的情况,需要擦除eMMC。
先启动板子并进入LOADER,运行以下命令可删除eMMC,如程序显示"Download Boot Start"后超过10s无变化可按Reset键,然后再运行一次以下命令。
sudo upgrade_tool EF MiniLoaderAll.bin
擦除成功结束后将显示"Erase flash ok."
操作完这一步之后,需要将开发板关机,在重新操作上面的3,4步骤。
图1-7 烧写过程中
图1-8 烧写成功
烧写成功之后,按下开发板的复位键,重启系统即可。
二、windows下使用win32diskimager软件烧写ubuntu系统
镜像文件格式:
rk3399-eflasher-friendlydesktop-bionic-4.4-arm64-20190926.img.zip
详细操作步骤如下:
(1)、准备一张8G或以上容量的SDHC卡;
(2)、下载并解压固件文件rk3399-eflasher-OSNAME-YYYYMMDD.img.zip 和 工具win32diskimager;
(3)、在Windows下以管理员身份运行 win32diskimager,在界面上选择你的SD卡盘符,选择解压后的EFlasher固件,点击 Write 按钮烧写到SD卡; 或者在 Linux下使用 dd 命令rk3399-eflasher-OSNAME-YYYYMMDD.img 写入 SD卡;
(4)、将SD卡从电脑端弹出,插入NanoPC-T4的microSD卡槽;
(5)、长按NanoPC-T4上的Power键直到板上的PWR灯亮,系统会从SD卡启动,并自动启动 EFlasher 烧写工具,有多种途径可以操作 EFlasher:
方法1: 连接LCD或HDMI显示屏,在图形界面上操作EFlasher,如果屏幕不支持触摸,则需要使用USB鼠标来操作;
方法2: 将开发板通过网线接入局域网,通过 ssh 登录开发板,然后输入命令 eflasher,根据命令行的提示进行操作;(注: ssh登录的用户是root,密码为fa,开发板IP可查看路由器后台获得)
- 点赞
- 收藏
- 关注作者
评论(0)