名词解析:
OTG:On-The-Go,
- 含义:OTG 是一种 USB 的扩展功能,允许设备(如手机、开发板)在没有主机(如电脑)的情况下,既可以作为 USB 主机(Host),也可以作为 USB 从设备(Device)大白话讲OTG 全称是USB On-The-Go,是一种允许设备之间直接通过 USB 进行通信的技术。
通常我们把电脑通过 USB 接口连接到开发板上进行数据传输,而OTG能让两个“设备”级的终端之间直接通信,不需要主机电脑 - 在嵌入式系统开发中(如使用全志、瑞芯微等芯片的开发板),OTG 烧录指的是通过 USB-OTG 接口,将电脑作为主机,开发板作为从设备,由电脑发送系统镜像(如固件、系统镜像文件)直接写入开发板的存储设备中。
- 常用于无系统或系统损坏时的救砖/刷机。
- 优点:无需进入系统,只要芯片能启动 bootloader,即可烧录。
EMMC:embedded MultiMediaCard
- 全称:嵌入式多媒体卡
- 含义:eMMC 是一种嵌入式存储器标准,通常由 NAND Flash + 控制器组成,焊在主板上。相比传统 NAND,eMMC 在封装内集成了管理控制器,负责坏块管理、均衡磨损、ECC 校验、读写调度等。
- 特点:
- 封装小、速度快、接口标准统一。
- 类似于“内置的SD卡”,但更稳定、更快。
- 在烧录中的作用:
- OTG 烧录的目标设备之一,系统镜像(如 Linux、Android)最终会被写入 eMMC 芯片中。
- 烧录工具(如 PhoenixSuit、RKDevTool)会将镜像写入 eMMC 的不同分区(boot、system、userdata 等)。
NAND:NAND Flash
- 含义:一种非易失性存储技术,常用于大容量数据存储。
- 与 eMMC 的关系:
- eMMC 实际上是NAND Flash + 控制器 + 标准接口(MMC)的封装体。
- 所以 eMMC 是基于 NAND 技术的,但更易用、更标准化。
- 在烧录中的作用:
- 有些开发板或设备不使用 eMMC,而是直接使用NAND Flash 芯片存储系统。
- 烧录时,系统镜像也会被写入 NAND Flash 中。
- NAND 相比 eMMC 更便宜,但管理更复杂(需要处理坏块、磨损均衡等)。
ddr256/ddr512:
- 含义:这里的 “DDR” 指的是DDR SDRAM(Double Data Rate Synchronous Dynamic Random-Access Memory),即双倍数据率同步动态随机存取存储器,也就是我们常说的内存(RAM)。
- DDR256:表示256MB的 DDR 内存。
- DDR512:表示512MB的 DDR 内存。
- 注意:这里的 “256” 和 “512” 指的是内存容量(单位:MB),不是 DDR2、DDR3 这样的代数。
- 在烧录中的作用:
- 烧录过程中,开发板的bootloader(如 U-Boot、MaskRom)会将电脑通过 OTG 发送的镜像数据先加载到 DDR 内存中,然后再写入 eMMC 或 NAND。
- 因此,DDR 容量会影响烧录效率和系统运行性能。
- 例如:DDR512 比 DDR256 有更大的运行空间,能支持更大的系统或更复杂的烧录流程。
烧录:
一般有两种烧录方式,
第一种直接通过OTG烧录。
第二种Ubuntu下脚本烧录,第一步讲脚本复制到 Ubuntu 中,然后通过执行对应脚本可以直接烧录到 EMMC 或者 NAND 中。当然也可以讲 脚本 复制到 SD 卡中,然后再通过 SD 卡进行烧录。
注意:
烧写系统一般都烧到 NAND 或 EMMC。
Linux中一般讲镜像都用iamge来表示。
开发板如果要插入SD卡其格式一定要是FAT32,因为 NTFS 无法挂载,因为版权问题。
Ubuntu 中执行脚本,如果不知道怎么执行可以通过 ./脚本.sh --help 去查看参数以及用法示例,也就是shell脚本中的 show_help 函数。
sync:Linux的系统命令,来源与 synchronize 同步,功能:将文件系统缓冲区的内容同步到磁盘。当你在 Linux 系统中进行写入操作(例如复制文件、修改文件),数据通常会先被存放在内存缓存中(page cache),过一段时间再写入硬盘,以提高性能。执行 sync 会立即执行系统调用 sync(2),强制所有挂载的文件系统将缓冲区中的数据写入磁盘,防止突然断电或系统崩溃造成数据丢失。