DM365_NAND启动模式解析

上传者: wumusenxppp | 上传时间: 2025-05-20 16:04:20 | 文件大小: 249KB | 文件类型: DOC
【DM365_NAND启动模式解析】 DM365是一款由Texas Instruments(TI)生产的数字媒体处理器,常用于视频处理和嵌入式系统。在DM365中,NAND闪存是一种常见的非易失性存储器,用于存储固件和操作系统。NAND启动模式是指DM365在上电或复位后从NAND闪存中加载启动代码的过程。此过程涉及一系列复杂的步骤,确保系统能够正确地从NAND中读取和执行固件。 **NAND启动流程** 1. **初始化**: 系统首先初始化RAM1的高2KB栈空间(0x7800-0x7fff),避免覆盖用于存储UBL块号的最后32个字节(0x7ffc-0x8000)。 2. **禁止中断**: 所有中断(IRQ和FIQ)被禁用,以确保启动过程不被打断。 3. **设置DEEPSLEEPZ/GIO0**: 这个外部引脚在NAND启动时必须处于高电平。 4. **读取NAND ID**: 读取NAND闪存的设备ID,获取设备特性,如页面大小、块大小等。 5. **初始化NAND区域**: 根据NAND的参数设置控制器和寄存器。 6. **搜索UBL描述符**: RBL(ROM Bootloader)在block1的page0开始搜索UBL(User Boot Loader)的描述符。如果未找到正确的UBL,会依次检查接下来的24个块,以防遇到坏块。 7. **处理UBL描述符**: UBL描述符包含入口点地址、占用的NAND页数、起始块和起始页等信息,用于指导UBL的加载和执行。 8. **ECC错误检测和校正**: 开启硬件ECC(Error Correction Code)检测,复制UBL到IRAM(Internal RAM)。如果检测到4位ECC错误,通过ECC算法进行纠正。如果多次失败,RBL会尝试下一个块,直到找到有效的UBL描述符,或者在搜索完24个块后转而从SD卡启动。 9. **启动UBL**: 在UBL的入口点执行代码,将控制权交给UBL。 10. **安全启动模式**: 根据配置,启动模式可能包括PLL旁通模式,不使用快速EMIF、DMA或I-Cache。在其他模式下,这些功能可以被启用以提高性能。 **NAND UBL descriptor格式** UBL描述符是一个包含关键信息的数据结构,用于指示如何加载和执行UBL。它可能包含如下字段: - 入口点地址:UBL执行的起点。 - UBL占用的NAND页数:指示UBL的大小,必须是连续的页。 - UBL的起始块和起始页:定义UBL在NAND中的位置。 - MAGIC IDs:特定的标识符,用于识别不同的启动模式。 **NAND启动详细流程** 1. 初始化栈空间、禁止中断、设置DEEPSLEEPZ/GIO0。 2. 读取NAND设备ID,初始化NAND控制器。 3. 搜索UBL描述符,最多遍历24个块。 4. 复制并校验UBL到IRAM,根据UBL描述符配置启动选项。 5. 转交控制权给UBL执行。 NAND启动流程图和具体的ARM NAND ROM Bootloader实例进一步详细说明了这个过程。此外,支持的NAND设备ID列表确保了对多种NAND闪存设备的兼容性。 DM365的NAND启动模式解析涉及了设备识别、错误检测、固件加载和执行等多个环节,确保了系统的稳定和可靠启动。理解这一过程对于开发和调试基于DM365的嵌入式系统至关重要。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明