DM320DM368 NAND Flash启动解析
需积分: 10 135 浏览量
更新于2024-09-11
收藏 439KB PDF 举报
"这篇技术文章深入探讨了DM368芯片使用NAND Flash进行系统启动的原理和实现方法。文章详细介绍了NAND Flash启动的基本流程,以及软件如何与硬件配合来完成启动过程。作者孟海燕是TI通用数字信号处理系统的技术支持专家。"
DM368是一款强大的多媒体处理芯片,广泛应用于网络摄像机等设备中,它支持多种启动方式,包括NAND Flash启动。在NAND Flash启动过程中,DM365具有一些特定特性:
1. **不支持一次性全部固件下载启动**:启动时,DM365会将NAND Flash中的二级启动代码(UBL)复制到ARM的内存(AIM),然后将控制权交给UBL。
2. **支持最大4KB页大小的NAND Flash**:这意味着NAND Flash的最小编程和擦除单位为4KB。
3. **错误检测机制**:在加载UBL时,如果在第1个block未找到特定数字标志,会自动搜索最多24个block,确保系统的容错能力。
4. **30KB的UBL大小**:DM365内有32KB的内存,其中2KB用于RBL堆栈,剩余的30KB可存放UBL。
5. **RBL执行时的选项**:用户可选择是否在RBL阶段启用DMA和I-cache,这影响了启动速度和效率。
6. **4位硬件ECC支持**:DM365需要4位或更少的ECC位来校验每512字节的数据,以确保数据完整性。
7. **片选信号要求**:在快速读取操作时,NAND Flash需要片选信号。
启动流程分为以下几个关键步骤:
1. **NAND Flash启动流程**:从NAND Flash读取初始化代码,通常是RBL(Reset Boot Loader),RBL负责基本的硬件初始化和错误检查。
2. **UBL描述符的实现**:RBL根据UBL描述符定位并加载UBL到内存。描述符包含了UBL的位置和其他元数据。
3. **U-Boot启动实现**:UBL运行后,会进一步加载U-Boot,U-Boot是更高级别的引导加载程序,负责加载操作系统映像。
4. **更新UBL和U-Boot**:U-Boot还具备更新自身和UBL的能力,通过特定协议和机制,如TFTP或NFS,可以从网络或其他存储介质获取新的固件版本。
在NAND Flash没有坏块的情况下,整个启动过程将更加顺利。然而,实际应用中需要考虑坏块管理,以确保系统的可靠性和稳定性。
文章最后提到,了解这些启动原理和实现细节对于开发基于DM368的系统至关重要,能够帮助工程师更好地理解和优化启动过程,提高系统性能和可靠性。
参考文档可能包含更深入的技术规格、应用笔记、用户手册等,这些资料对于深入研究DM368的NAND Flash启动机制非常有价值。
2021-10-04 上传
2015-05-09 上传
2012-03-16 上传
点击了解资源详情
2021-10-08 上传
2008-09-25 上传
2011-11-26 上传
点击了解资源详情
点击了解资源详情
July_Yang
- 粉丝: 46
- 资源: 10
最新资源
- pexeso:具有用户管理功能的存储卡游戏,将考验您的智慧!
- DocMods_XpBook:一本书给你经验
- Juan-Luis-Fabrega --- PHYS3300--:PHYS3300 Juan Luis Fabrega存储库
- Excel模板00原材料明细账.zip
- PHRETS:PHP客户端库,用于与RETS服务器进行交互,以获取可从MLS系统获得的房地产清单,照片和其他数据
- picker:通过字符串路径键选择json数据中的属性
- 【地产资料】XX地产 培训体系课程分享P11.zip
- Hacko-4-code4bbs
- music_recommendation_sys:音乐推荐系统
- Android项目实战——应用市场
- vue-simple-markdown:用于Vue的简单高速Markdown解析器
- angular-2fopaf:由StackBlitz创建
- Excel模板00总账.zip
- visualizations:Endcoronavirus.org的“绿区”排名可视化
- matlab-(含教程)基于EKF扩展卡尔曼滤波的SLAM地图路线规划matlab仿真
- elm-flatris:Elm语言的Flatris克隆