CoM-PX30|RK3358的部件组成图:
EVB-PX30简单介绍和功能图:
工业宽温设计,工作更稳定:
CoM-PX30 隶属于盈鹏飞嵌入式Computer-on-Module (CoM)系列,该产品集成了四核 Cortex-A35 1.3GHz(MAX) PX30 处理器,稳定运行Android 8.0/Ubuntu 20.04/Linux 4.4。 CoM-PX30提供了3.3V I/O接口,可提供宽温的工业组件,运行于条件恶劣的工业现场!
提供开发套件,可快速应用
开发套件中包括主板、各种LCD配件,提供开发工具以及API函数、参考代码、详细的使用手册,让客户快速上手。
3 Android固件烧写
烧写固件到eMMC,瑞芯微提供了多种烧写方式, Windows和Linux系统中各有升级工具,其中Windows系统的升级工具可分为调试阶段和量产阶段两种。
固件可分为分区固件和统一固件,如下:
一般地,统一固件包含所有分区固件(package-file文件中选择要打包成update.img的分区文件)。烧写统一固件升级可以一步达成烧写的目的,使用方便。有时,只改变某个分区固件的文件,在这种情况下烧写分区固件高效率更高。
使用Windows工具升级,先安装rockchip USB驱动——DriverAssitant_v4.5。双击DriverInstall 运行,弹出图3-1所示窗口,点击驱动安装,开始安装驱动,完成成功弹出图3-2所示提示
图3-1 图3-2
说明:驱动安装于Windows 7 64位 旗舰版,其他版本的Windows安装方法一样。
EVB-PX30有三种启动模式,分别是:
Normal 模式就是正常的启动过程,各个组件依次加载,正常进入系统。
在 Loader 模式下,bootloader 会进入升级状态,等待主机命令,用于固件升级等。要进入 Loader 模式,必须让 bootloader 在启动时检测到 RECOVERY(恢复)键按下,且 USB 处于连接状态。有两种方法可以使设备进入升级模式:
① USB数据线Type A一端连接PC,MINI USB一端连接开发板MINI USB母口;
② 按住设备上的 RECOVERY (恢复)键不放;
③ 接上电源
④ 大约两秒钟后,松开 RECOVERY 键。
① USB数据线Type A一端连接PC,MINI USB一端连接开发板MINI USB母口;
② 按住设备上的 RECOVERY (恢复)键不放;
③ 短按一下 RESET(复位)键;
④ 大约两秒钟后,松开 RECOVERY 键。
MaskRom 模式用于 bootloader 损坏时的系统修复。
一般情况下是不用进入 MaskRom 模式的,只有在 bootloader 校验失败(读取不了 IDR 块,或 bootloader 损坏) 的情况下,BootRom 代码就会进入 MaskRom 模式。此时 BootRom 代码等待主机通过 USB 接口传送 bootloader 代码,加载并运行之。
如何进入MaskRom模式,参考8.2进入MaskRom模式。PX30的启动流程如图3-3:
图3-3
主机应该会提示发现新硬件并配置驱动。打开设备管理器,会见到新设备”Rockusb Device” 出现,如下图3-4。如果没有,则需要返回3.1.1节重新安装驱动,注意安装前先点击“驱动卸载”,卸载驱动。
图3-4
3.1.3 调试阶段烧写
在调试阶段,烧写使用AndroidTool。右击AndroidTool_Release_v2.58目录中AndroidTool,右键快捷菜单中选择以管理员身份运行,如果设备正常连接,瑞芯微开发工具v2.58显示“发现一个LOADER设备”,如图3-5所示。
图3-5
发现LOADER或MASKROM设备后,则表示进入烧写状态。固件可选统一固件update.img或分区镜像,以下分别介绍。
① 切换至“升级固件”页;
② 点击“固件”按钮,在弹出的窗口中选择目标固件;当固件加载完成,升级工具会显示详细的固件信息;
③ 点击“升级”按钮开始升级。
④ 升级工具提示“下载固件成功”,烧写完成。如图3-6所示:
图3-6
注意:① 如果升级失败,可以尝试先按“擦除Flash”按钮来擦除 Flash,然后再升级。
② 如果所烧写的固件laoder版本与原来的机器的不一致,请在升级固件前先执行“擦除Flash”。
① 切换至“下载镜像”页;
② 勾选需要烧录的分区,可以多选;
③ 确保镜像文件的路径正确,需要的话,点路径右边的空白表格单元格来重新选择;
④ 勾选烧录项,确认烧录项前面的地址正确,如果地址为零,可以通过选择“Parameter”分区表进行分区信息加载 ;
⑤ 点击“执行”按钮,开始烧录。
⑥ 烧写完成,右侧提示“下载完成”,如图3-7所示:
图3-7
更多关于开发工作的操作,请查阅烧录工具目录下的《Android开发工具手册_v1.2.pdf》。
提示:烧写分区镜像,要使用打包过的镜像,即rockdev/Image-rk3326_evb/ 下的镜像。执行脚本build.sh 全局编译,调用mkimage.sh对镜像文件大小处理。如果直接使用编译目录下的文件,可能导致系统不能启动。
在量产阶段,使用工厂工具烧写。操作步骤如下:
① 右击FactoryTool,在右键快捷菜单中选择以管理员身份运行;
② 点击固件按钮,在弹出的资源浏览器中选择要烧录的update.img;
③ 确认设备识别是否正常,如果正常则显示设备类型(Loader或Maskrom)和设备ID;
④ 点击启动开始升级固件,升级过程中升级信息栏显示烧写进度;
⑤ 烧写成功,右侧显示ID和时间。如图3-8所示:
图3-8
说明:①可同时连接多台设备,进行一拖多烧写,提高工厂烧写效率;
② 仔细阅读工厂工具中的友情提示。
① 解压Linux_Upgrade_Tool_v1.31.zip
在Linux主机执行:
$ unzip Linux_Upgrade_Tool_v1.31.zip
② 添加upgrade_tool到Linux系统的可执行环境中
$ sudo cp Linux_Upgrade_Tool_v1.31/upgrade_tool /usr/local/bin/
③ 增加可执行权限
$ sudo chmod +x /usr/local/bin/upgrade_tool
④ 将配置文件config.ini保存到$HOME/.config/upgrade_tool/目录
注:upgrade_tool工具,亦可解压、增加执行权限 ,以 ./upgrade_tool 方式执行。
upgrade_tool 工具支持两种运行模式:命令行模式和工具模式。运行 upgrade_tool 直接跟命令参数则进入命令行模式执行,可以支持命令行下直接执行的命令有:UF、UL、DI、DB、WL、EF、RD、SD 和 TD。运行 upgrade_tool 不带任何参数则进入工具模式。
注:命令行模式只支持单台设备操作,如果有多台设备同时连接,指定操作某一台请使用工具模式。
命令行模式烧写统一固件 update.img:
$ sudo upgrade_tool uf update.img
注:如果升级失败,可以尝试先擦除后再升级
# 擦除flash 使用ef参数需要指定loader文件或者对应的update.img
$ sudo upgrade_tool ef update.img
① $ 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 /path/to/parameter
⑧ $ sudo upgrade_tool ul /path/to/MiniLoaderAll.bin
说明:①烧写boot.img;②烧写kernel.img;③烧写system.img;④烧写recovery.img;⑤烧写misc.img;⑥烧写resource.img;⑦烧写parameter;⑧烧写MiniLoaderAll.bin
① 执行upgrade_tool 选中设备,如图3-9所示:
图3-9
② 烧写分区镜像(以recovery.img为例),烧写命令及结果如图3-10所示:
图3-10
烧写统一升级固件,烧写命令及结果如图3-11所示:
图3-11
说明:仔细阅读upgrade_tool的使用信息,有助于熟练使用该工具,如图3-12所示。更多操作请参考《Linux 开发工具使用手册Version 1.31》。
图3-12