人工智能开发板RK3399系统烧写步骤

举报
DS小龙哥 发表于 2022/06/30 17:51:56 2022/06/30
【摘要】 Linux_Upgrade_Tool是Rockchip提供的Linux下的命令行工具,用于通过Type-C数据线来升级eMMC中的固件,同时还提供了如擦除eMMC、直接读/写eMMC等功能。

人工智能开发板RK3399系统烧写步骤

1、​ 烧写Linux系统(使用USB线烧写)

参考教程:http://wiki.friendlyarm.com/wiki/index.php/NanoPC-T4/zh#.E4.BD.BF.E7.94.A8SD.E5.8D.A1.E8.84.B1.E6.9C.BA.E7.83.A7.E5.86.99


图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可查看路由器后台获得)





【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。