• CoM-Px30|RK3358开发初步连载-Andorid系统固件的烧写(三)


    产品特性

    • 采用Rockchip公司Cortex-A35四核PX30处理器,运行最高速度为1.3GHZ;
    • 支持Mali-G31GPU,支持OpenGL ES3.2, Vulkan 1.0, OpenCL 2.0
    • 支持1080P 视频编码,支持H.264,VP8;多格式1080P 60fps视频解码 (H.265,H.264,VC-1, MPEG-1/2/4, VP8) 
    • 支持双屏异显;支持RGB888/LVDS/MIPI-DSI,分辨率最高1920x1080;
    • 支持SDIO3.0,USB2.0 HOST&OTG,4路I2C,6路UART,2路SPI,8路PWM
    • 支持512-2G  Bytes DDR3 SDRAM;
    • 支持EMMC 4G-32G大容量电子盘,可启动;
    • 可定制宽温产品,替换AM335X
    • 稳定的操作系统的支持,可预装Android8.0或者LINUX 4.4;
    • 超小体积,邮票孔设计160pins, 尺寸为:45*45MM

    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的分区文件)。烧写统一固件升级可以一步达成烧写的目的,使用方便。有时,只改变某个分区固件的文件,在这种情况下烧写分区固件高效率更高。

    3.1 使用Windows工具升级

    3.1.1 安装rockchip USB驱动

    使用Windows工具升级,先安装rockchip USB驱动——DriverAssitant_v4.5。双击DriverInstall 运行,弹出图3-1所示窗口,点击驱动安装,开始安装驱动,完成成功弹出图3-2所示提示             

                                          图3-1                                                                             图3-2

    说明:驱动安装于Windows 7 64位 旗舰版,其他版本的Windows安装方法一样。

    EVB-PX30有三种启动模式,分别是:

    • Normal模式
    • Loader模式
    • MaskRom模式

    Normal 模式就是正常的启动过程,各个组件依次加载,正常进入系统。

    在 Loader 模式下,bootloader 会进入升级状态,等待主机命令,用于固件升级等。要进入 Loader 模式,必须让 bootloader 在启动时检测到 RECOVERY(恢复)键按下,且 USB 处于连接状态。有两种方法可以使设备进入升级模式:

    • 一种方法是设备先断开电源适配器和Micro USB数据线的连接:

    ① USB数据线Type A一端连接PC,MINI USB一端连接开发板MINI USB母口;

    ② 按住设备上的 RECOVERY (恢复)键不放;

    ③ 接上电源

    ④ 大约两秒钟后,松开 RECOVERY 键。

    • 另一种方法,无需断开电源适配器和Type-C数据线的连接:

    ① 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 

    发现LOADERMASKROM设备后,则表示进入烧写状态。固件可选统一固件update.img或分区镜像,以下分别介绍。

    • 烧写统一固件 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对镜像文件大小处理。如果直接使用编译目录下的文件,可能导致系统不能启动。

    3.1.4 量产阶段烧写

    在量产阶段,使用工厂工具烧写。操作步骤如下:

    ① 右击FactoryTool,在右键快捷菜单中选择以管理员身份运行;

    ② 点击固件按钮,在弹出的资源浏览器中选择要烧录的update.img;

    ③ 确认设备识别是否正常,如果正常则显示设备类型(Loader或Maskrom)和设备ID

    ④ 点击启动开始升级固件,升级过程中升级信息栏显示烧写进度;

    ⑤ 烧写成功,右侧显示ID和时间。如图3-8所示:

     图3-8

    说明:①可同时连接多台设备,进行一拖多烧写,提高工厂烧写效率;

    ② 仔细阅读工厂工具中的友情提示

    3.2 使用Linux工具升级

    3.2.1 安装升级工具

    ① 解压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 方式执行。

    3.2.2 烧写

    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 

     

     

     

  • 相关阅读:
    SpringBoot系列之动态生成cron表达式执行定时程序
    【编程题】【Scratch四级】2022.06 成绩查询
    c语言分层理解(c语言文件操作)
    Xilinx ISE系列教程(1):ISE开发环境下载、安装、注册(Windows 10 64位系统)
    附录4-JS关键字
    【Android笔记47】Android中的Broadcast Receiver之有序广播和无序广播
    grep wc 与 管道符
    dataset.py篇
    Shell脚本文本三剑客之sed编辑器
    前端性能优化 —— 使用 BMP 图片代替 canvas.toDataURL
  • 原文地址:https://blog.csdn.net/szembed/article/details/126727084