在开始使用ConnectCore 8M Nano开发套件/单板计算机之前,您需要按照下面操作步骤更新一下固件,来熟悉Digi Embedded Yocto(简称DEY)的嵌入式Linux系统环境和固件更新方法。Yocto是一个开源的项目,是用于定制Linux系统的工具和方法集合。DEY是集成有Digi Layer的Yocto开发平台。而DEY系统是一套基于Yocto的方式开发的,能运行在Digi的嵌入式核心板上的嵌入式Linux系统。

在Digi出厂的i.MX8M Nano模块中,默认提供了深度定制的UBoot,您可以在UBoot中利用uSD卡或以太网口更新官方的最新固件,或是自行裁减定制编译出来的固件。DEY编译出来的固件包括分区固件和二进制固件,比如常用的可在U-Boot中更新的uboot固件,内核分区固件,根文件系统分区固件,内核文件,设备树等。

ConnectCore 8M Nano开发板的固件可以从Digi的官方FTP下载,当前最新的支持版本是DEY 4.0。您可以根据开发板的类型来下载不同固件,以便后面进行固件更新操作。因为Digi FTP服务器在境外,建议您采用迅雷等下载工具下载,以保证文件的完整性。

国内一般拿到的是ConnectCore® i.MX8M Nano 开发板,可以到官方的FTP去下载ccimx8mnsbc-installer.zipCC8m nano开发板的DEY4.0卡刷包。

找一张uSD卡并格式化为FAT32分区,将下载的压缩包的内容解压到uSD卡中。然后将uSD卡插入到CC8MN开发板的卡槽。 按下图所示连接好硬件,其中液晶屏是可选配件,如果没有也没有关系。用uSD卡更新固件时,网口也可以不接。只需接好Console口和电源即可,我们需要一个串口终端程序来显示它。可使用超级终端或是putty等终端程序(linux下则常用minicom作为终端程序),串口终端的波特率设置为115200/8/n/1。注意开发板线缆连上后有两个COM口供选择,只有一个是Cosole口(通常是靠前的那个串口号),上电后CC8MN开发板的console口会输出相关的启动信息。

上电后按任意建停在Uboot中,在Console口中执行脚本

run install_linux_fw_sd

脚本会自动执行一系列UBoot命令,并将固件更新到NAND闪存中。在更新过程中会自动重置环境变量,其中出厂的mac地址等是写保护的,所以会有出错提示,这是正常的,没有关系。

上面的uSD卡更新用uboot命令的脚本来自动执行一系列更新命令,您在生产和调试时,更一般的方法是用UBoot中的update命令来更新三个分区 uboot,linux,rootfs,update命令支持从TFTP服务器或SD卡,USB等源来更新固件镜像到flash中。一般地,我们常采用TFTP的方法来更新指定的固件。

有关TFTP固件更新的详细操作方法,可以参考:Digi核心板固件更新的方法和操作步骤

熟悉和了解Digi核心板的固件刷新方法,以及一些简单的UBoot命令和参数后,你可以开始学习搭建DEY的开发环境,或是直接进行应用程序开发。

网络配置 DEY系统的网络配置,请参考:DEY下网络设置

接口测试 请参考CC8MN开发板接口测试

测试例程

Digi提供了各种接口的测试例程。一些系统镜像已经预编译好例程,可以在命令行中直接执行。如果您的文件系统不带有例程,可以烧一下集成好例程的文件系统镜像,也可以利用DEY应用程序开发章节提供IDE来编译所需的例程。
部分例程用法请参考Digi嵌入式Linux例程和测试说明 除了Digi提供的官方例程外,许多github上的开源程序都可以很轻松集成到DEY文件系统中,请参考DEY系统开发章节。

注意ConnectCore 8系列有几种预编译固件,它的启动器是systemd,你可以用systemctl list-unit-files 查看当前安装的服务,您可以根据自己的需求,用systemctl临时调整或关闭影响自己测试功能的一些程序或服务。

经过上述的步骤,CC8MN单板机中已经有一套上电后就运行的嵌入式Linux,您可以参考DEY应用程序开发来开发可以在板子上运行的程序。

Digi提供的预编译好的DEY嵌入式系统可以方便开发人员进行测试各项功能和接口,但不同的应用需要的接口和软件包等各不相同。DEY系统开发是指利用DEY的系统开发环境和工具来裁减和定制适合自己使用的嵌入式linux系统。请参考DEY开发环境搭建