RDK X3 Module 使用微雪CM4-IO-BASE-B载板

载板介绍

本帖介绍RDK X3 Module配合第三方微雪CM4-IO-BASE-B载板的使用方法。该载板是微雪为树莓派CM4设计的载板,由于RDK X3 Module接口兼容树莓派CM4,因此可以配套使用以实现摄像头采集、HDMI/LCD显示、网络/USB连接等功能。载板接口说明如下:-

-
载板通过Type C接口供电,推荐使用认证配件清单中推荐的5V/3A适配器。

烧录系统

RDK X3 Module支持从eMMC和SD卡两种模式启动系统:

  • 当模组上的eMMC没有烧录过系统镜像的情况下,插入制作好系统的SD卡到载板即可通过从SD卡启动系统。

  • 如果模组上的eMMC已经烧录过系统镜像,可以按照以下步骤进行eMMC和SD卡启动的切换。-
    1、默认情况下会从eMMC启动系统-
    2、禁用eMMC的启动切换到使用SD卡启动系统,登录系统后,执行以下命名把eMMC的第二个分区的启动标志删除,并重启系统生效:

    sudo parted /dev/mmcblk0 set 2 boot off
    sudo reboot

3、在uboot下会发现eMMC没有启动分区而去寻找去sd卡启动分区,从SD卡加载系统启动,登录系统后执行mount命令可以看到跟文件系统挂载在 SD 卡的 第二个分区,config分区也使用的SD卡的第一个分区。

/dev/mmcblk2p2 on / type ext4 (rw,relatime,data=ordered) 
/dev/mmcblk2p1 on /boot/config type vfat

从SD卡启动切换回从eMMC启动-
当在使用SD卡启动系统时,并且eMMC上已经烧录过系统,执行以下命令恢复回从eMMC启动,重启系统生效。

sudo parted /dev/mmcblk0 set 2 boot on
sudo reboot

烧录系统到eMMC

RDK X3模组支持eMMC存储方式,当烧录系统到eMMC时,需要使用地平线hbupdate烧录工具,请按照以下步骤进行工具的下载和安装:-
下载hbupdate烧录工具,下载链接:hbupdate。-
工具分为Windows、Linux两种版本,分别命名为 hbupdate_win64_vx.x.x_rdk.tar.gzhbupdate_linux_gui_vx.x.x_rdk.tar.gz

解压烧录工具,解压目录需要不包含空格、中文、特殊字符

安装USB驱动

在使用刷机工具前,需要在PC上安装USB驱动程序,鼠标右键 android_hobot 选择链接另存为下载驱动程序。

按照以下步骤安装驱动:-
1)解压 android_hobot.zip ,进入解压后的目录,以管理员身份运行 5-runasadmin_register-CA-cer.cmd 完成驱动程序的注册。-
2)设置开发板的BootPin为ON模式,将开发板与PC通过USB线连接,然后给开发板上电。-
3)如PC设备管理器出现USB download gadget未知设备时,需要更新设备驱动,选择解压出的驱动文件夹andriod_hobot,然后点击下一步,完成驱动安装,如下图:-
-

-
4)驱动安装完成后,设备管理器会显示fastboot设备Android Device,如下图:-

烧录镜像

确认PC设备管理器显示fastboot设备Android Device后,运行hbupdate.exe打开烧录工具,并按照以下步骤进行烧录:-

1)选择开发板型号,必选项。

  • RDK_X3_2GB: RDK X3(旭日X3派),2GB内存版本,仅支持烧写最小系统镜像
  • RDK_X3_4GB: RDK X3(旭日X3派),4GB内存版本,仅支持烧写最小系统镜像
  • RDK_X3_MD_2GB: RDK X3 Module,2GB内存版本
  • RDK_X3_MD_4GB: RDK X3 Module,4GB内存版本-
    -
    2)点击Browse按钮选择将要烧录的镜像文件,必选项。-
    -
    3)点击Start按钮开始刷机,根据弹窗提示开始烧录:-
  • 烧录镜像时,BOOT开关需要拨到ON位置,如下图所示:-
  • 通过 Type C 的USB接口连接到电脑,电脑设备管理器中会识别出一个Android Device的设备,如上一节安装USB下载驱动所描述
  • 烧录完毕断开电源,断开和电脑的连接线,将BOOT开关拨至OFF,重新上电即可
  • 如果启动正常,在硬件上的ACT LED灯会进入两次快闪一次慢闪的状态

4)检查升级结果

  • 镜像烧录成功时,工具提示如下:-
  • 镜像烧录失败时,工具提示如下,此时需要确认PC设备管理器是否存在Android Device设备-

USB接口

在微雪载板上USB 2.0 接口默认不可用。如果需要启动,你需要执行以下命令使能:

sudo bash -c "echo host > /sys/devices/platform/soc/b2000000.usb/b2000000.dwc3/role"

MIPI摄像头使用

载板提供CAM0CAM1两路MIPI CSI接口,可以支持OV5647、IMX219、IMX477等MIPI摄像头的接入。由于示例程序中已实现摄像头自适应,因此CSI接口跟摄像头无连接顺序限制。摄像头接入时,需保持排线蓝面朝外,接入方式如下:-

-
重要提示:

  • 严禁在开发板未断电的情况下插拔摄像头,否则容易引起短路并烧坏摄像头模组。

开发板上安装了mipi_camera.py程序用于测试MIPI摄像头的数据通路,该示例会实时采集MIPI摄像头的图像数据,然后运行目标检测算法,最后把图像数据和检测结果融合后通过HDMI接口输出。

  • 运行方式:按照以下命令执行程序

    sunrise@ubuntu:~$ cd /app/pydev_demo/03_mipi_camera_sample/
    sunrise@ubuntu:/app/pydev_demo/03_mipi_camera_sample$ sudo python3 ./mipi_camera.py
    
  • 预期效果:程序执行后,显示器会实时显示摄像头画面及目标检测算法的结果(目标类型、置信度)。

MIPI DSI显示屏使用

载板提供一路MIPI DSI接口,可以支持MIPI LCD屏幕显示。官方推荐的LCD屏幕型号如下:

类型

供应商

型号

描述

购买链接

MIPI

微雪

4.3英寸MIPI LCD

分辨率800×480,IPS广视角,MIPI DSI接口

购买链接

屏幕连接方式如下图所示:-

-
重要提示:

  • 严禁在开发板未断电的情况下插拔屏幕,否则容易引起短路并烧坏屏幕模组。

HDMI和MIPI DSI显示模式切换-
由于RDK X3 Module 系统默认采用HDMI输出,需要通过命令切换到LCD显示方式,首先执行下面命令备份DTB

sudo cp /boot/hobot/hobot-x3-cm.dtb /boot/hobot/hobot-x3-cm_backup.dtb

执行以下命令确定当前显示类型:

sudo fdtget /boot/hobot/hobot-x3-cm.dtb /chosen bootargs

HDMI为例,执行上述命令将会打印:

sunrise@ubuntu:~$ sudo fdtget /boot/hobot/hobot-x3-cm.dtb /chosen bootargs
earlycon loglevel=8 kgdboc=ttyS0 video=hobot:x3sdb-hdmi

执行以下命令修改chosen节点:

sudo fdtput -t s /boot/hobot/hobot-x3-cm.dtb /chosen bootargs "earlycon loglevel=8 kgdboc=ttyS0 video=hobot:cm480p"

执行以下命令打印出修改后的节点,确定修改成功:

sudo fdtget /boot/hobot/hobot-x3-cm.dtb /chosen bootargs

输入以下命令重启开发板:

sync
sudo reboot

此时的显示方式就从HDMI切换成DSI了。-
如果想切回HDMI显示,进入内核后,执行下面命令:

sudo cp /boot/hobot/hobot-x3-cm_backup.dtb /boot/hobot/hobot-x3-cm.dtb
sync

然后sudo reboot重启开发板即可。

USB 接口执行了这条命令没有什么打印信息,而且 USB 口插上设备也还是没有反应

哪条命令?-
USB的插拔信息可以通过 demsg 命令查看内核是否有打印信息。

查看到了