找回密码
 立即注册
搜索

[arm] eMMC烧录时需注意的寄存器配置

[复制链接]
智慧谋略 发表于 2025-4-21 22:46:41 | 显示全部楼层 |阅读模式
T76+EMCM适配器】 BGA153/169通用

eMMC烧录时需注意的寄存器配置

eMMC烧录时需注意的寄存器配置
   

eMMC烧录时需注意的寄存器配置

eMMC烧录时需注意的寄存器配置

UP828E+BGA153单座

eMMC烧录时需注意的寄存器配置

eMMC烧录时需注意的寄存器配置




 楼主| 智慧谋略 发表于 2025-4-21 22:52:32 | 显示全部楼层
eMMC芯片由NandFlash、控制器和标准接口组成,在应用上,和NandFlash比较,由于控制器的存在,不必考虑ECC和坏块管理策略,所以eMMC的应用比较简单。但是,eMMC烧写只需要把数据烧进去就可以了吗?为什么数据写进去了,系统还是跑不起来?
从eMMC芯片的结构进行剖析:eMMC芯片中有三个分区,分别是Boot1、Boot2和User Area区。
eMMC烧写,与其他任何Flash的烧录都不一样,Boot区是单独有寻址地址的,因此,必须注意如下两个关键步骤:
一、烧写数据:包括Boot1、Boot2和User Area区的数据。
二、设置寄存器:主要设置EXT_CSD寄存器,设置Boot加载规则,这需要根据实际的方案来设置。
Boot三个寄存器各负责的关键内容。
1. BOOT_BUS_WIDTH[177]设置位宽+单双边沿;
2. PARTITION_CONFIG[179]选择哪个分区用于Boot;
3. BOOT_CONFIG_PROT[178]算是它们的双保险。
如果客户仅仅烧录了User区的程序,而忽视了Boot区配置,会导致主控CPU找不到Boot文件,无法正常启动整个系统的情况发生。
当然,不同场合可能需要设置不同的值,但是一般情况下,90%的用户还是选择Boot1区+8位宽高速时序。即同时设置分区寄存器PARTITION_CONFIG[179]=0x8/0x48和总线位宽寄存器BOOT_BUS_WIDTH[177]=0xA/0x2。而Boot配置保护寄存器BOOT_CONFIG_PROT[178]默认不设置。
进过EXT_CSD的扩展寄存器设置,CPU找到了启动Boot,正常引导并启动了整个被烧录的eMMC芯片,这时,eMMC就和CPU愉快的配合,流畅的跑起来了。


 楼主| 智慧谋略 发表于 2025-4-21 23:41:58 | 显示全部楼层
                        RT809H编程器教程:EMMC离线写入方法                                                

                                    
RT809H编程器教程:EMMC离线写入方法
在EMMC一侧涂上一点焊油,用风枪均匀加热,取下EMMC芯片,取下来的EMMC芯片放到一边冷却,观察芯片引脚,看有无掉锡珠,如有需要植锡或植珠。

清洁EMMC表面,将EMMC放入BAG169锁紧座(注意区分好1脚),将锁紧座插入RT809H编程器。

打开RT809H操作界面,点【智能识别】,TYPE选EMMC,Volt选3.3V。点设置,EMMC Area在User/boot1/boot2/EXT_CSD前面打勾,VCCQ选3.3V,点写入,选择备份文件,选其中任意一个开始写入。

容量较大,请耐心等待写入过程……写入空档时间,可以清理一下主板焊盘。写入完成,取出EMMC芯片。在印制板上涂上一层薄薄的焊油,在EMMC芯片上也涂上少许焊油,将EMMC在主板焊盘上对位好。


高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|探索掌握未知、共创美好未来

GMT+8, 2026-9-17 02:30 , Processed in 0.069585 second(s), 44 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表