树莓派计算模块CM4 eMMC系统烧写、配置、相机连接

news/2025/1/12 4:07:05/

文章目录

  • 1、系统安装
    • 1.1、安装 rpiboot 程序
    • 1.2、烧写树莓派系统
    • 1.3、开机测试
  • 2、其他设置
    • 2.1、开启USB功能
    • 2.2、开启风扇
    • 2.3、外置天线
    • 2.4、PCIe Gen 2x1 socket
  • 3、树莓派相机连接
    • 3.1、树莓派相机(单相机)
    • 3.2、树莓派相机(双路相机)

树莓派CM4模块从系统安装差异上分两种,标准版本带eMMC,另一版本CM4 Lite不带eMMC。CM4 Lite需要从额外的tf卡启动,同树莓派4B一样,tf卡中烧录操作系统。cm4和底板分别如下图所示
在这里插入图片描述
在这里插入图片描述
本文以带emmc的CM4核心板、官方IO底板为例说明使用事项。

1、系统安装

若CM4选择不带eMMC,那么只需要将烧写了raspberry OS的tf卡放入Micro SD卡槽中,上电即可。这里使用的CM4内置了eMMC,因此需要先将系统写入到eMMC中。这里使用rpiboot工具将eMMC识别为一个可移动磁盘,之后同树莓派4B一样写入系统,需要进行额外的一些硬件连接操作。

断电情况下,确保进行了一下操作:

  • 底板J2上的的nRPI_BOOT使用跳帽短接,关闭eMMC boot
  • 底板J12的Mciro USB接口使用数据线连接到电脑上

在这里插入图片描述

之后上电,再进行如下步骤:

1.1、安装 rpiboot 程序

windows下直接下载Windows installer 安装即可。运行rpiboot.exe,开发板上的eMMC被识别为一个可移动磁盘。
在这里插入图片描述
对于linux下,需要使用源码编译rpiboot工具,依赖libusb开发库。

sudo apt install git
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot
make

在ubsboot目录下执行sudo ./rpiboot,将出现一个新的设备,例如/dev/sdb,可以检查/dev目录或者使用lsblk确定名称。这里以/dev/sdx标识。

1.2、烧写树莓派系统

准备一个os系统镜像(官方下载地址),这里以解压后的 raw_os_image_of_your_choice.img 为例。

windows下直接使用 Win32DiskImager 工具即可,打开后选择img文件,写入eMMC被识别成的可移动磁盘。烧写成功会出现两个分区,一个boot可以进行读写编辑,另一个不能编辑(windows资源管理器不能识别linux文件系统)。

linux下使用命令sudo dd if=raw_os_image_of_your_choice.img of=/dev/sdX bs=4MiB,完整后将识别到两个分区,如下所示

/dev/sdX    <- Device
/dev/sdX1   <- First partition (FAT)
/dev/sdX2   <- Second partition (Linux filesystem)

1.3、开机测试

拔掉J2上的 nRPI_BOOT跳帽,重新上电就是熟悉的开机画面,完全同树莓派4B启动流程。

系统安装的详细官方文档可以参考如下链接:https://www.raspberrypi.com/documentation/computers/compute-module.html#flashing-the-compute-module-emmc

2、其他设置

有关文档说明可以参考后面的连接
https://datasheets.raspberrypi.com/cm4io/cm4io-datasheet.pdf

2.1、开启USB功能

开机后,我们发现不能使用键盘。在官方文档上,为降低功耗,默认关闭了USB模块。需要在修改boot分区下的config.txt文件,增加一行dtoverlay=dwc2,dr_mode=host
在这里插入图片描述
关于micro usb connector的官方cmio board说明,该接口用于rpiboot更新系统使用,作为从设备使用。由于soc只有一个usb2 connection,当该接口被插入使用时,原有的usb 2.0接口将被禁用(原来插入键盘鼠标正常使用,当作为device后,键盘鼠标不能继续使用)。
在这里插入图片描述

2.2、开启风扇

同USB一样,需要在config.txt中添加 dtparam=i2c_vc=on
在这里插入图片描述

2.3、外置天线

使用外置天线,提高信号稳定性,config.txt中添加 dtparam=ant2 重启即可。

2.4、PCIe Gen 2x1 socket

可以实现USB3.0,加载NVMe等。自行设计。

3、树莓派相机连接

注意在断电时安装树莓派相机模块。
CM4可以直接安装Pi Zero相机(22pin),Pi Camera V2需要使用转接板链接(15pin)。

3.1、树莓派相机(单相机)

单路相机默认使用CAM1接口。

(1)硬件连接

关机状态下,安装相机到CAM1接口。下面是Pi Camera V2使用了转接板,注意的排线的方向,银色亮面朝下。
在这里插入图片描述
(2)开启相机功能

执行命令sudo raspi-config,在界面中开机相机模块,参考树莓派CSI相机使用。

(3)添加CAM1单路相机dtb文件

系统启动从start.elf开启,若boot分区下不包含dt-blob.bin文件,则默认使用内置dtb文件。树莓派GPIO接口的状态是由GPU设置的,执行命令
sudo wget https://datasheets.raspberrypi.com/cmio/dt-blob-cam1.bin -O /boot/dt-blob.bin

重新启动,系统将加载dt-blob-cam1.bin文件,而不使用内置的dtb文件。开机后可以通过 sudo ls /dev/video* 查看到有video0,执行命令raspivid -t 0查看预览画面。

3.2、树莓派相机(双路相机)

安装后另一路摄像头之后,需要在J6上安装跳线帽,并安装双路相机的dtb文件。
在这里插入图片描述
开机后,执行命令
sudo wget https://datasheets.raspberrypi.com/cmio/dt-blob-dualcam.bin -O /boot/dt-blob.bin

重启后,可以通过 sudo ls /dev/video* 查看到有video0和video1两个设备,命令sudo raspivid -t 0 -cs 0预览第一个摄像头,命令sudo raspivid -t 0 -cs 1预览第二个摄像头。


http://www.ppmy.cn/news/625352.html

相关文章

树莓派CM4安装系统

树莓派CM4安装系统 前言工具准备硬件软件安装rpiboot程序格式化SD卡烧写树莓派系统工具 将ubuntu mate 20.04烧录到带eMMc的CM4上ubuntu mate 20.04 新镜像烧录失败ubuntu20.04 旧镜像&#xff08;自行制作的镜像&#xff09;烧录树莓派cm4 ubuntu mate 20.04 wifi 不能使用 ub…

树莓派CM4基于emmc安装Ubuntu系统及初始配置

文章目录 安装前准备CM4安装系统参考资料 安装前准备 ​ 在树莓派官方手册CM板卡介绍中说明&#xff0c;开发板的供电电压为DC12V或5V。 ​ 为了保证开发板USB接口的正常使用&#xff0c;开发板的供电电流应&#xff1e;1.2A。 CM4安装系统 补充说明&#xff1a;Ubuntu18.04…

逆向工程第005篇:跨越CM4验证机制的鸿沟(下)

一、前言 本文是逆向分析CM4系列的最后一篇&#xff0c;我会将该游戏的序列号验证机制分析完毕&#xff0c;进而编写出注册码生成器。 二、分析第二个验证循环 延续上一篇文章的内容&#xff0c;来到如下代码处&#xff1a; 图1 上述代码并没有特别需要注意的地方&#xff0c;…

Selenium教程__截图(16)

selenium截图有两种方式 截取全屏 get_screenshot_as_file(filename)&#xff1a;将截图转化成文件保存到本地&#xff0c;filename为保存的文件路径get_screenshot_as_base64()&#xff1a;将截图转化成base64get_screenshot_as_png()&#xff1a;将截图转化成png 截取指定元…

leetcode算法题--特别的排列

本题是一个状态压缩dp 一开始尝试用普通的dp去做&#xff0c;但是超时了 func specialPerm(nums []int) int {visited : make(map[int]bool)return dfs(nums, visited, 0, 0) }func dfs(nums []int, visited map[int]bool, idx, lastNum int) int {res : 0mod : int(math.Pow…

Intellij IDEA detected unusually high memory use

一、IDEA如图 二、解决 2.1 修改IDEA的内存堆 运行IntelliJ IDEA的Java虚拟机&#xff08;JVM&#xff09;分配一些预定义的内存量。默认值取决于平台。如果您遇到速度减慢&#xff0c;可能需要增加内存堆。 为运行IDE分配的堆大小与编译应用程序的堆大小不同。如果要为编译代…

demjson报错:

python demjson 库 报错&#xff1a;AttributeError: dict object has no attribute has_key Traceback (most recent call last):File "/root/github/stock/fund/stop_purchase_lof_fund.py", line 82, in fund_purchase_emdata_json demjson.decode(data_text.st…

RS485转Profinet通讯

RS485转Profinet通讯 概述系统组成流量积算仪网关 软件总结 概述 一个支持RS485的流量积算仪的数据要被Profinet的PLC读取。制作一个网关&#xff0c;实现RS485到Profinet的转换。 系统组成 流量积算仪 支持RS485通讯&#xff0c;通讯协议是modbus RTU。采用功能码3可以读取…