DM365NAND启动模式解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DM365NAND启动模式解析

DM365?NAND启动模式解析 首先,读取NAND的ID,可以从RBL的设备信息表中得到一些重要信息,然后,RBL在block1 page0处开始搜索UBL描述符。若没有找到正确的UBL,会继续搜索下面的块,一直到block24结束。这样做是为了跳过坏块,24个块几乎对所有的NAND设备都足够了。当找到UBL标识之后,对应的块号(从1到24)被写到ARM内部RAM(指令RAM)的最后32位(0x7ffc-0x8000),假设通过JTAG通过读取这32位,你能够确定RBL是在哪个块中找到了一个正确的UBL标识。如果搜索完24个块后没有找到正确的UBL标识,RBL会尝试从SD卡启动。 找到正确的UBL之后,读取并且处理UBL描述符,这个描述符提供了加载和控制跳转到UBL的必要信息。然后UBL被读取并且处理。RBL首先可能会使能一些更快的EMIF组合和基于UBL描述符中信息的指令cache操作。通过UBL描述符可以知道在拷贝UBL期间是否使用了DMA。一旦用户指定的启动状态被设置,RBL就复制UBL到ARM内部RAM,并且从地址0x0000 0020处启动。 NOTE:真正的拷贝实际上是从ARM内部数据RAM区0x10020-0x1781F的低30KB的空间。 将UBL读取到ARM IRAM的时候,NAND RBL使用4位的ECC来检测是否发生读错误。若发生了错误,则通过ECC纠正算法来纠正错误。通过冗余(24 blocks)和出错恢复来保证防止读错误。 NAND启动流程如下图所示: NAND UBL descriptor格式如下表: NOTE:ARM IRAM 的起始32个字节是ARM系统的中断向量表(IVT)(8个向量,每个4字节),复制的UBL从这32个字节的IVT之后开始启动。 在UBL descriptor中,不同的NAND启动模式可以设置不同的MAGIC IDs,下表列出了UBL标识: ? NAND启动详细流程: 1、初始化RAM1的高2K栈空间(0x7800-0x7fff)。不要使用IRAM的最后32个字节(0x7ffc-0x8000),因为它被用来存写入UBL的块号。 2、禁止所有中断,IRQ和FIQ。 3、外部引脚DEEPSLEEPZ/GIO0在芯片为NAND模式启动复位时必须被置高。 4、读NAND的设备ID,获得参数。 5、根据NAND flash的参数初始化NAND区域。 6、搜索UBL设定块号,通常在CIS/IDI page(一般为block 0, page 0)。 7、UBL描述符由以下参数组成(所有UBL参数位宽都是32位): ??? -入口点地址:加载UBL之后的绝对入口点,必须在0x0020-0x781C之间。 ??? -UBL占用的NAND的页数:必须是相邻的页,可以跨越多个块,总字节数必须小于等于30KB。 ??? -UBL的起始块:可能与UBL描述符在同一个块。 ??? -UBL的起始页:不可能与UBL指示符在同一页,因为加载的都是完整的页。 8、使能硬件ECC错误检测,复制UBL从NAND flash到IRAM,如果检测到一个4位ECC的读错误,UBL将通过ECC纠正算法来纠正错误。如果是由其他的错误导致读失败的,指示符会继续在下一个新的块中搜索直到找到UBL描述符,一直搜索到block 24。没有的话就从SD卡启动。 9、在UBL入口处把控制权移交给UBL。 10、NAND的安全启动模式是在PLL旁通模式中完成的,它不使用快速EMIF,DMA或者I-Cache。在其他模式下,使用以上的一种组合。例如,在UBL_MAGIC_PLL_DMA_IC_FAST模式下激活其他四个设置,它因该是最快的NAND启动模式。 ? 以下是启动流图: ? ARM NAND ROM bootloader实例: ? NAND支持的设备ID:

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档