烧写固件
启动模式说明
前言
AIO-3399JD4 有灵活的启动方式。一般情况下,除非硬件损坏,AIO-3399JD4 开发板是不会变砖的。
如果在升级过程中出现意外,bootloader 损坏,导致无法重新升级,此时仍可以进入 MaskRom 模式来修复。
加载方式
AIO-3399JD4 有 32KB 的 BootRom 和 200KB 的内部 SRAM,支持从以下设备加载系统:
SPI 接口
eMMC 接口
SDMMC 接口
另外 AIO-3399JD4 支持从 USB OTG 接口下载系统代码。
启动次序
启动的次序是这样的:
主控上电初始化
BootRom 代码在 SRAM 上运行,校验存储设备里的 bootloader
校验通过,加载并运行 bootloader 引导代码
bootloader 引导代码负责初始化 DDR 内存,加载 bootloader 完整代码到 DDR 内存中并运行
bootloader 加载存储设备上的 Linux 内核,并将执行权交给 Linux 内核
启动模式
AIO-3399JD4 有三种启动模式:
Normal 模式
Loader 模式
MaskRom 模式
Normal 模式
Normal 模式就是正常的启动过程,各个组件依次加载,正常进入系统。
Loader 模式
在 Loader 模式下,bootloader 会进入升级状态,等待主机命令,用于固件升级等。要进入 Loader 模式,必须让 bootloader 在启动时检测到 RECOVERY(恢复)键按下,且 USB 处于连接状态。使设备进入升级模式方法如下:
断开电源适配器
双公头 USB 线连接好设备和主机。
按住设备上的 RECOVERY (恢复)键并保持。
插上电源。
大约两秒钟后,松开 RECOVERY 键。
MaskRom 模式
MaskRom 模式用于 bootloader 损坏时的系统修复。
一般情况下是不用进入 MaskRom 模式的,只有在 bootloader 校验失败(读取不了 IDB 块,或 bootloader 损坏) 的情况下,BootRom 代码 就会进入 MaskRom 模式。此时 BootRom 代码等待主机通过 USB 接口传送 bootloader 代码,加载并运行之。
烧写工具下载地址(根据下表下载对应版本)
upgrade_tool
Android_tool
固件
官方固件:官方云盘提供的Ubuntu固件中,带MBR字样的为旧版本SDK编译出来的MBR固件,带GPT字样的为新SDK编译出来的GPT固件.
请认真阅读下表,再进行烧写:
升级固件
前言
本文介绍了如何将主机上的固件文件,通过公对公USB线,烧录到开发板的闪存中。升级时,需要根据主机操作系统和固件类型来选择合适的升级方式。
准备工作
AIO-3399JD4 开发板
固件
主机
公对公USB线
固件文件一般有两种:
单个统一固件 update.img, 将启动加载器、参数和所有分区镜像都打包到一起,用于固件发布。
多个分区镜像,如 kernel.img, rootfs.img, recovery.img 等,在开发阶段生成。
可以在这里找到已编译好的统一[AIO-3399JD4固件(提取码:jbmd)]https://pan.baidu.com/s/1pSJTa3EarQCBpYniZAGprQ,下载后解压。也可以参考编译固件的说明自行编译。
主机操作系统支持:
Windows XP (32/64位)
Windows 7 (32/64位)
Windows 8 (32/64位)
Linux (32/64位)
Windows
工具: Androidtool_xxx(版本号)
注意:不同固件使用的工具版本可能不同,请根据烧写须知下载对应的版本
安装 RK USB 驱动
下载 Release_DriverAssistant.zip ,解压,然后运行里面的 DriverInstall.exe 。为了所有设备都使用更新的驱动,请先选择”驱动卸载”,然后再选择”驱动安装”。
连接设备
按照以下方式可以使设备进入升级模式
先断开电源适配器连接:
公对公USB线一端连接主机,一端连接开发板
按住设备上的 RECOVERY (恢复)键并保持。
接上电源
大约两秒钟后,松开 RECOVERY 键。
主机应该会提示发现新硬件并配置驱动。打开设备管理器,会见到新设备”Rockusb Device” 出现,如下图。如果没有,则需要返回上一步重新安装驱动。
烧写固件
下载 AndroidTool,解压,运行 AndroidTool_Release_xx 目录里面的 AndroidTool.exe(注意,如果是 Windows 7/8,需要按鼠标右键,选择以管理员身份运行),如下图:
烧写统一固件 update.img
烧写统一固件 update.img 的步骤如下:
切换至”升级固件”页。
按”固件”按钮,打开要升级的固件文件。升级工具会显示详细的固件信息。
按”升级”按钮开始升级。
如果升级失败,可以尝试先按”擦除Flash”按钮来擦除 Flash,然后再升级。一定要根据 烧写须知 进行擦除烧写
注意:如果你烧写的固件laoder版本与原来的机器的不一致,请在升级固件前先执行”擦除Flash”。
烧写分区映像
每个固件的分区可能不相同,请注意以下两点:
使用Androidtool_2.38烧写ubuntu(MBR)和Android7.1固件时使用默认配置即可;
使用Androidtool_2.58烧写ubuntu(GPT)使用默认配置即可,烧写Android8.1固件请先执行以下操作:
切换至”下载镜像页面”; 右键点击表格,选择”导入配置”; 选择rk3399-Android81.cfg
烧写分区映像的步骤如下:
切换至”下载镜像”页。
勾选需要烧录的分区,可以多选。
确保映像文件的路径正确,需要的话,点路径右边的空白表格单元格来重新选择。
点击”执行”按钮开始升级,升级结束后设备会自动重启。
Linux
Linux 下无须安装设备驱动,参照 Windows 章节连接设备则可。
工具:upgrade_tool_xxx(版本号)
注意:不同固件使用的工具版本可能不同,请根据烧写须知下载对应的版本
upgrade_tool
下载 Linux_Upgrade_Tool, 并按以下方法安装到系统中,方便调用:
unzip Linux_Upgrade_Tool_xxxx.zip cd Linux_UpgradeTool_xxxx sudo mv upgrade_tool /usr/local/bin sudo chown root:root /usr/local/bin/upgrade_tool sudo chmod a+x /usr/local/bin/upgrade_tool
烧写统一固件 update.img:
sudo upgrade_tool uf update.img
如果升级失败,可以尝试先擦除后再升级。一定要根据烧写须知的表格(upgrade_table.md)进行擦除烧写
# 擦除flash 使用ef参数需要指定loader文件或者对应的update.img sudo upgrade_tool ef update.img #update.img :你需要烧写的ubuntu固件 # 重新烧写 sudo upgrade_tool uf update.img
烧写分区镜像:Ubuntu(MBR)、Android7.1、Android8.1,使用以下方式:
sudo upgrade_tool di -b /path/to/boot.img sudo upgrade_tool di -k /path/to/kernel.img sudo upgrade_tool di -s /path/to/system.img sudo upgrade_tool di -r /path/to/recovery.img sudo upgrade_tool di -m /path/to/misc.img sudo upgrade_tool di resource /path/to/resource.img sudo upgrade_tool di -p paramater #烧写 parameter sudo upgrade_tool ul bootloader.bin # 烧写 bootloader
Ubuntu(GPT),使用以下方式
sudo upgrade_tool ul $LOADER sudo upgrade_tool di -p $PARAMETER sudo upgrade_tool di -uboot $UBOOT sudo upgrade_tool di -trust $TRUST sudo upgrade_tool di -b $BOOT sudo upgrade_tool di -r $RECOVERY sudo upgrade_tool di -m $MISC sudo upgrade_tool di -oem $OEM sudo upgrade_tool di -userdata $USERDATA sudo upgrade_tool di -rootfs $ROOTFS
如果因 flash 问题导致升级时出错,可以尝试低级格式化、擦除 nand flash:
sudo upgrade_tool lf update.img # 低级格式化 sudo upgrade_tool ef update.img # 擦除
常见问题
如何强行进入 MaskRom 模式
如果板子进入不了 Loader 模式,此时可以尝试强行进入 MaskRom 模式。操作方法见《如何进入 MaskRom 模式》。
MaskRom模式
MaskRom 模式是设备变砖的最后一条防线。强行进入 MaskRom 涉及硬件操作,有一定风险,因此仅在设备进入不了 Loader 模式的情况下,方可尝试 MaskRom 模式。
请小心阅读,并谨慎操作! 操作步骤如下:
设备断开所有电源。
拔出 SD 卡。
用公对公USB线连接好设备和主机。
用金属镊子接通核心板上的如下图所示的两个测试点,并保持。
设备插入电源。
稍候片刻,之后松开镊子。
这时,设备应该就会进入 MaskRom 模式。
-
嵌入式主板
+关注
关注
7文章
6085浏览量
35298 -
安卓
+关注
关注
5文章
2127浏览量
57149 -
Firefly
+关注
关注
2文章
538浏览量
7028
发布评论请先 登录
相关推荐
评论