本文来源电子发烧友社区,作者:ouxiaolong, 帖子地址:https://bbs.elecfans.com/jishu_2303840_1_1.html
开发环境:
主机:Ubuntu 18.04
开发板:ROC-RK3568-PC开发板
ROC-RK3568-PC开发板可以使用USB和TF卡烧写,USB是最常用的烧写方式,一般在系统变砖后使用该方式。
在更新固件前,需要安装RK USB驱动。
下载 Release_DriverAssistant.zip,解压,然后运行里面的 DriverInstall.exe。
安装成功后,PC的设备管理器显示信息如下:
说明驱动安装成功。
这里可以使用Firefly官方的固件,在这里需要对RK3568的固件做一个简单介绍,RK3568固件文件一般有两种:
单个统一固件 :统一固件是由分区表、bootloader、uboot、kernel、文件系统所有文件打包合并成的单个文件。这一般是量产采用的方式。
多个分区镜像 :即各个功能独立的文件,如分区表、bootloader、kernel 等,在开发阶段生成。独立分区镜像可以只更新指定的分区,而保持其它分区数据不被破坏,在开发过程中会很方便调试。我们在学习Linux开发过程中也是常用的该方式。
笔者本文将讲解单个统一固件烧写的方式,关于多个分区镜像烧写将在系统移植讲解。
值得注意的是,通过统一固件解包/打包工具,可以把统一固件解包为多个分区镜像,也可以将多个分区镜像合并为一个统一固件。可以说,单个统一固件和多个分区镜像本质是一样的。
笔者这里使用Firefly官网提供的固件。
在开始更新固件之间,还需要了解下RK3568的启动模式,这样有助于理解后面的操作。
RK3568有三种启动模式:Normal 模式、Loader 模式和MaskRom 模式。
1.Normal模式
Normal 模式就是正常的启动过程,各个组件依次加载,正常进入系统,也就是我们正常开机的模式。
2.Loader模式
在 Loader 模式下,bootloader 会进入升级状态,等待主机命令,用于固件升级等。要进入 Loader 模式,必须让 bootloader 在启动时检测到 RECOVERY(恢复)键按下,且 USB 处于连接状态。该模式就是我们需要烧写或更新固件需要进入的模式。
3.MaskRom模式
MaskRom 模式用于bootloader 损坏时的系统修复 。一般情况下是不用进入 MaskRom 模式的,只有在 bootloader 校验失败(读取不了 IDR 块,或 bootloader 损坏)的情况下,BootRom 代码就会进入 MaskRom 模式。此时 BootRom 代码等待主机通过 USB 接口传送 bootloader 代码,加载并运行之。
使用USB OTG烧写系统可采用全烧写也可采用分布烧写,本文采用全烧写。
下载RKDevTool,解压,运行RKDevTool_Release_v2.86目录里面的 RKDevTool.exe。
接下来就是正式进入固件烧写过程。
1.使设备进入升级模式。
设备进入升级模式的方法:
USB 一端连接主机,另一端连接开发板,按住设备上的 RECOVERY (恢复)键并保持,接上电源,大约两秒钟后,松开 RECOVERY 键,即可进入RECOVERY模式。
2.将切换RKDevTool‘升级固件’页面。
3.按‘固件’按钮,选择要升级的固件文件。升级工具会显示详细的固件信息。
4.按‘升级’按钮开始升级。
等待烧写为完成即可。
值得注意的是,如果烧写失败,可以尝试先按‘擦除 Flash’按钮来擦除 Flash,然后再升级。
当然啦,也可通过软件方式进入Loader模式,在Type-C 数据线接好后在串口调试终端或adb shell给板子运行以下命令:
#reboot loader
ROC-RK3568-PC开发板出厂默认已经烧写了Andrid系统,但Andrid不一定满足需求,因此会进行系统移植,当移植的系统在升级过程中出现意外,无法启动,直接变砖了,导致无法重新升级,这个不要慌,可通过MaskRom 模式来修复。
1.安装SD Card Formatter 5.0.2 Setup.exe 软件,将SD插入USB读卡器,再插入到电脑USB口上。
2.打开SdCardFormatter 格式化工具,格式化步骤如下如所示。
选择要格式化的 SD 卡,选中 Quick format,点击 Format。
在弹出的对话框中点击是(Y)。
3.等待格式化完成,在弹出的对话框中点击确定
1.解压SDDiskTool_v1.59.zip软件,将SD插入USB读卡器,再插入到电脑USB口上。
2.打开SD_Firmware_Tool,勾选“固件升级”框(默认勾选),选择正确的可移动磁盘设备和升级固件。点击“开始创建”即可开始下载固件。
等待烧写完成即可。
1.安装Win32diskimager-1.0.0-install.exe软件,将SD插入USB读卡器,再插入到电脑USB口上。
2.使用 Win32diskimager 烧写映像文件 sdcard.img(buildroot文件系统),选择 SD 卡、选择映像文件 sdcard.img,然后点击“写入”,操作步骤如下图所示。
确认覆盖。
等到烧写完成。
烧写成功后,弹出对话框“写入成功”,此时点击 OK,拔下 SD 卡,将启动开关拨到 SD 卡处,上电启动开发板。
将 TF 卡插入开发板并启动,系统将自动进入烧写流程。烧写完成后屏幕和串口都将提示:
Please remove SD CARD!!!, wait for reboot.
此时,拔出 TF 卡,系统自动重新启动(请勿直接断电),TF卡常用于板子变砖后烧写固件。
如果系统烧写成功后,接下来就可以调试系统了,最常用的就是调试。推荐使用putty、SecureCRT或Xshell 7等终端工具。
连接好串口,设置波特率为115200,然后就可以进入到Linux系统了。
当然啦,如果PC配置adb,也可使用adb进入系统,和使用串口的效果是一样的。
接下来将针对ROC-RK3568-PC进一步开发,尽情期待。
全部0条评论
快来发表一下你的评论吧 !