瑞芯微 AIO-3568J 板镜像固化

瑞芯微 AIO-3568J 板镜像固化

Q:瑞芯微 AIO-3568J 板 SylixOS镜像固化步骤

一、文章介绍

本文主要讲解瑞芯微 AIO-3568J 行业主板进行 SylixOS 镜像烧录及固化操作流程。

1 瑞芯微 AIO-3568J 板卡接口资源

二、连接并启动板卡

板卡默认使用 DEBUG 口作为调试串口,故本文中亦使用 DEBUG 口作为后续流程交互串口,如图 2所示。

注意:AIO-3568J 板卡默认波特率使用 1500000

2 DEBUG 口位置及引脚定义

连接 DEBUG 口后上电启动,会自动启动板卡自带 Linux Android 镜像,如图 3所示。可使用图 1右下角板卡自带 “Reset Key” 进行手动重启,并使用 “Ctrl + C” 组合键尝试停留在 U-Boot 阶段。由于默认 U-Boot 延时设置为 0,所以可能需要多次尝试才能停留在 U-Boot 阶段,如图 4所示。

3 Android 镜像自启动部分流程

4 U-Boot 命令行使用

注意:进入 U-Boot 阶段后,请先验证 “saveenv” 或 “env save” 命令能正常使用,以便后续修改 U-Boot 环境变量进行 SylixOS 镜像固化,若命令无法正常使用,如图 5、图 6所示,请参照本文第五章节进行板卡固件升级,以便支持修改环境变量功能。

5 saveenv 失败

6 saveenv 失败

三、启动 SylixOS 镜像

在使用 tftp 工具启动 SylixOS 镜像前,请先对板卡信息及磁盘划分信息进行查看并保存;以便确定 SylixOS 镜像内存基址以及后续挂载文件系统时确定磁盘分区信息。使用 “bdinfo” 命令查看板卡信息,如图 7所示,其中 0x09400000 即为内存基址;使用 “mmc part” 命令查看磁盘分区信息,如图 8所示。

7 板卡信息查看

8 板卡分区信息

使用下列命令设置板卡 IP 信息后即可通过 tftp 工具加载并启动 SylixOS 镜像,如图 9所示。

setenv ipaddr 192.168.6.200                               /*  设置本地 IP      */

setenv serverip 192.168.6.123                              /*  设置服务端 IP    */

tftp 0x09400000 bsprk3568_aio_x64.bin;go 0x09400000        /*  tftp 加载系统镜像*/

9 启动 SylixOS 镜像

四、固化 SylixOS 镜像

1)      磁盘分区:

通过上一节操作启动的 SylixOS 镜像无法识别当前磁盘文件系统,无法登陆 “root” 用户,所以需要对磁盘进行分区并挂载文件系统。

由于 U-Boot Linux 共用设备树,所以需要保留图 8 part 10 backup” 分区前所有分区,否则会导致 U-Boot 功能异常。进行分区时,需要参考图 8所示信息进行分区,分区名需要相互对应,同时各分区大小划分参照 SylixOS 下识别出的分区大小进行设置,如图 10所示。

10 SylixOS 下分区信息

使用下列命令对磁盘进行分区,如图 11、图 12所示。本文使用板卡 “backup” 分区前存在 9 个分区,故将磁盘划分为 11 个分区,最后两个分区作为系统分区。

fdisk -fgpt /dev/blk/sdcard-0

11 磁盘信息设置

12 磁盘信息设置(续)

注意:“0 means use default offset” 选项填写,需要依据图 8 part 1 Start LBA” 地址确定,本文选取板卡地址为 0x00002000,故进行磁盘分区时填写 8192

分区完成后重新挂载磁盘,同时格式化划分的系统分区,以便再次启动时挂载文件系统,如13所示。

注意:本文中格式化分区 “/media/sdcard10” 和 “/media/sdcard11”,是由于挂载磁盘时,划分的系统分区挂载至此处,具体格式化分区,以实际挂载情况而定。同时不对其他分区进行操作,避免影响 U-Boot 功能。

13 重新挂载磁盘

分区完成后建议重启板卡并停留在 U-Boot 阶段查看分区信息,如图 14所示若分区信息与设置一致则说明磁盘分区操作正确,否则请参考本文第五节内容更新固件后重新进行上述操作。


14 U-Boot 分区信息查看

2)      SylixOS 镜像准备

板卡磁盘分区完成后,需要依据实际情况对 SylixOS BSP 工程信息进行更新,修改其文件系统挂载位置,如图 15所示。


15 文件系统挂载位置

3)      SylixOS 镜像固化

将修改后的 SylixOS 镜像通过 tftp 工具上传至 “/boot” 目录,即 FAT 文件系统磁盘目录下,以便 U-Boot 启动时能对系统镜像正常识别,如图 16所示。


16 上传 SylixOS 镜像


4)      U-Boot 自启动设置

上传系统镜像后重启板卡并停留在 U-Boot 阶段,使用如下命令查看 U-Boot 能否正常找到磁盘中的 SylixOS 镜像,如图 17所示。

mmc dev 0;fatls mmc 0:a                                   /*  查看磁盘中镜像  */


17 U-Boot 下查看磁盘中 SylixOS 镜像

注意:本文中查看位置为 “mmc 0:a” 是由于 FAT 分区位于第 10 分区,如图 14所示,具体查看位置以实际 FAT 分区位置为准。

使用下列命令设置 U-Boot 环境变量并保存,即可实现板卡上电自启动 SylixOS 镜像。

setenv bootcmd "mmc dev 0; fatload mmc 0:a 0x9400000 bsprk3568_aio_x64.bin; go 0x9400000"                                             /*  设置自启动命令  */

saveenv                                                /*  保存环境变量    */

五、更新板卡固件

详细操作流程可以参考官方文档说明(https://wiki.t-firefly.com/Core-3568J/03-upgrade_firmware.html),本文仅做大致流程说明。

1)      环境准备

进行板卡固件更新需要使用通过双公头 USB 数据线及相应驱动,固件下载调试助手 RKDevTool,驱动及调试助手可至官网进行下载(https://www.t-firefly.com

通过双公头 USB 数据线连接主机与板卡,如图 18所示,并在 U-Boot 下使用如下命令进入 Loader 模式,如图 19所示。

reset loader


18 板卡 OTG 固件升级接口

19 U-Boot 进入 Loader 模式

2)      固件更新

打开调试助手 RKDevTool,可以发现下方提示 “Found One LOADER Device”,表示识别到板卡并能正常进行固件更新,如图 20所示。



20 RKDevTool 正确识别到板卡

在 “Upgrade Firmware” 选项页选择需要升级的固件并进行升级,等待固件下载完毕,板卡自启动即可,如图 21所示。


21 选择升级固件并升级

注意:若无法正常显示 “Found One LOADER Device” 或显示 “Found One MASKROM Device”,请参照官网 4.3.2.1.1 节内容烧写修复小固件后重复上述操作。


    • Related Articles

    • RK3568量产IMG制作

      1. 适用范围 本手册提供一种在RK3568 平台量产烧录 SylixOS 镜像的方法。 主要通过修改瑞芯微RK3568 Linux SDK 环境以便编译打包生成可烧录的 SylixOS 镜像,最后通过瑞芯微提供的烧录工具进行镜像的烧录量产。 本手册以 RK3568 MI 板卡为示例板卡,适用于对嵌入式开发有一定基础的工程师。 2. 准备工作 2.1 准备环境 LINUX 编译环境 SDK源码 RK USB驱动 RK 烧录工具 RKDevTool.exe rk356x_sylix_sdk 2.2 ...
    • GCC浮点相关的编译选项配置

      gcc的浮点相关编译选项配置 GCC 中的浮点相关的编译选项属于依赖于不同平台的配置选项, 本文的相关配置都是在 ARM32 平台下. SylixOS 下常用的浮点编译配置有两个 -mfpu=name, -mfloat-abi=name 测试程序 #include <stdio.h> #include <time.h> float calc(float *src_mem_32, float *dst_mem_32) {    float mem_32;    int i, j;    for ...
    • SHELL 中 CTRL 控制命令

      SylixOS 的 shell 有几个 CTRL 命令比较特殊: CTRL + S :表示 SHELL 终端的停止操作,输入后, SHELL 不能再响应之后的输入。 CTRL + Q :表示 SHELL 终端的运行操作,输入后,可以将 SHELL 从 CTRL + S 之后返回到正常情况。 CTRL + D :表示 SHELL 终端的退出,输入后,SHELL 不能再响应输入,只能通过重启解决。
    • 基于 ACOEGC_T3(PF) 搭建 JLink 调试环境

            本文主要介绍全志 T3 JLink 调试环境搭建,基于 ACOEGC_T3(PF) 硬件板卡,系统架构使用裸核 * 3 + SylixOS 的 AMP 模式。调试环境可通过 RealEvo-IDE 和 JLink V9 同时对 T3 的 4 个核进行调试。 一、搭建调试环境 1、安装 JLink 软件,这里安装的是 V645a; 2、修改安装目录下的 JLinkDevices.xml 文件,这里的路径为: D:\Program Files ...
    • SylixOS下 tcpdump的使用方法

      一、安装部署 SylixOS下提供对网络包的抓取及分析工具tcpdump,在编译base时,需要选中libpcap、openssl 和 tcpdump 3个组件。 编译后,将Base工程上传,/bin/目录下应有tcpdump,/lib/目录下应包含libpcap.so和openssl 生成的相关动态库文件。 二、命令语法 tcpdump采用命令行方式,命令行支持的用法与参数如下: tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ...