imx6ull(0):烧录、启动

参考内容:

i.MX6ULL Applications Processors for Industrial Products

i.MX6ULLApplicationsProcessorReferenceManual

正点原子 I.MX6U嵌入式Linux驱动开发指南

以及 广大工程师们在互联网上分享的学习笔记(一样东西学的人多的时候所带来的优势)

例如这里我用的野火的板子但是看的原子的资料,在csdn就遇到一个老哥和我一样的情况:Mars.CN-优快云博客

一、启动模式

这里做个类比,以下情况应该mcu开发者都遇到过,例如用51单片机的时候,有个io口(EA)来选择是从内部的rom启动程序,还是从外部的rom启动,stm32f103也有类似的引脚:boot0和boot1,可用来决定复位后从主闪存(就平时开发烧录进去的位置,地址)或者系统存储区启动。

imx6ull这里也一样,这里对应相关硬件引脚和对应的启动模式可查看官方的这个文档:

官方的文档内容比较多这里不贴上来,里面介绍了各种启动模式(不仅仅是启动模式,例如是emmc的话还包括emmc位宽,emmc模式,使用哪个总线这些,可以当作启动模

<think>嗯,用户想了解如何擦除烧录iMX6ULL EMMC上的系统镜像。首先,我需要回忆一下iMX6ULL的相关操作,特别是关于EMMC的部分。根据之前学过的资料,记得EMMC的分区可以通过mmc命令来查看和管理。比如引用[1]中提到用mmc dev切换设备,mmc part查看分区,这可能对擦除有帮助。 那擦除整个EMMC的话,可能需要先切换到EMMC设备,然后进行分区操作或者直接擦除。不过直接擦除整个EMMC可能会有风险,需要注意步骤是否正确。另外,引用[3]提到了烧写脚本,可能烧写前需要擦除,但具体擦除方法呢? 另外,用户提到在修改系统文件或驱动时频繁烧写比较麻烦,引用[2]中的内容,可能用户希望找到更快捷的擦除方法,避免重复烧写。这时候可能需要进入uboot环境,使用命令来操作EMMC。 在uboot中,擦除EMMC通常使用mmc erase命令,但需要确认擦除的范围。比如擦除整个EMMC,可能需要先确定起始块和块数。不过要注意,擦除后设备将无法启动,必须重新烧写系统。这步骤是否正确? 另外,引用[4]中提到了制作SD卡引导烧写的过程,可能擦除EMMC后需要通过SD卡重新烧录系统。所以擦除的步骤可能包括进入uboot,执行擦除命令,然后使用烧写工具重新写入。 需要分步骤说明:首先进入uboot模式,切换EMMC设备,擦除分区或整个存储空间,然后重新烧写。可能需要具体命令,比如mmc dev 1切换到EMMC,然后mmc erase 0 1000(示例块数)或者更彻底的方式。但要注意块数是否正确,避免误操作。 可能还需要考虑分区情况,如果EMMC有多个分区,是否需要分别擦除?或者直接擦除整个设备。用户的问题是关于擦除系统镜像,可能指的是整个EMMC上的数据,而不仅仅是某个分区。因此,使用mmc erase命令擦除整个EMMC可能更合适,但需要确认起始块和总块数。 总结步骤应该是:进入uboot,切换EMMC设备,擦除指定范围的块,然后通过SD卡或其他方式重新烧录系统。同时提醒用户备份数据,因为擦除会清除所有内容。需要确保命令正确,避免损坏硬件。</think>### iMX6ULL EMMC 系统镜像擦除方法 #### 一、操作原理 iMX6ULL 的 EMMC 存储通过 U-Boot 命令行工具进行底层操作。擦除系统镜像需在 **U-Boot 模式**下执行以下核心命令: 1. **切换设备**:`mmc dev [设备号]` 2. **擦除数据**:`mmc erase [起始块] [块数]`[^1][^3] #### 二、详细步骤 1. **进入 U-Boot 模式** 开发板通电后,在倒计时结束前按下任意键,终端显示 `=>` 提示符即进入 U-Boot。 2. **切换至 EMMC 设备** 输入命令: ```bash mmc dev 1 # 1 表示 EMMC 设备号(0 通常为 SD 卡) ``` 终端显示 `switch to partitions #0, OK` 表示切换成功[^1]。 3. **擦除 EMMC 数据** - **全盘擦除**(慎用): ```bash mmc erase 0 100000 # 假设 EMMC 总块数为 100000(需根据实际容量调整) ``` - **分区擦除**(推荐): ```bash mmc part # 查看分区表,确定目标分区的起始块和大小 mmc erase 0x2000 0x8000 # 示例:擦除从块 0x2000 开始的 0x8000 个块 ``` 4. **验证擦除结果** 重新执行 `mmc part` 查看分区表,若显示 `No partition table defined` 表示擦除成功[^1][^4]。 #### 三、注意事项 1. **数据备份**:擦除前通过 `tftp` 或 `ums` 命令备份重要数据。 2. **块数计算**:使用 `mmc info` 查询 EMMC 总块数,避免越界擦除[^3]。 3. **烧写恢复**:擦除后需通过 SD 卡或 USB 重新烧写系统(参考 `mx6ull-*.vbs` 脚本)。 #### 四、扩展场景 若需保留引导分区(如 `boot`),可仅擦除根文件系统分区: ```bash mmc erase 0x10000 0x70000 # 假设根文件系统位于 0x10000~0x80000 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值