fireflyCORE-3399主板JD4烧写固件简介

描述

烧写固件

启动模式说明

前言

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 模式。

安卓

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分