发明名称 一种BOOTROM的优化方法
摘要 本发明提供一种BOOTROM的优化方法,包括步骤:10、读取FLASH的ID,若没有接FLASH转步骤50,若可识别ID转步骤20,若不可识别ID转步骤30;20、使用ID的物理参数读取第一个BLOCK的头信息数据,校验,若是所需的引导代码则进行读取,若不是则读取下一个BLOCK;30、探测ID的物理参数,再按步骤20的方法读取;40、根据头信息数据结构读取loader的第一部分代码和第二部分代码,完成引导,若不能引导转步骤50;50、从SPI FLASH读取引导代码,若无效则转步骤60;60、从emmc接口的存储器读取引导代码,如果无效则转到步骤70;70、从UART端口和USB端口任意一个有合法有效的升级请求的端口进行引导模式。本发明能够克服FLASH的兼容性差,多种引导方式需采用跳线选择的问题。
申请公布号 CN102279763A 申请公布日期 2011.12.14
申请号 CN201110254682.5 申请日期 2011.08.30
申请人 福州瑞芯微电子有限公司 发明人 林学善
分类号 G06F9/445(2006.01)I 主分类号 G06F9/445(2006.01)I
代理机构 福州市鼓楼区京华专利事务所(普通合伙) 35212 代理人 宋连梅
主权项 一种BOOTROM的优化方法,其特征在于,具体包括如下步骤:步骤10、芯片复位后用低频宽时序读取NAND FLASH的ID,如果读取到的NAND FLASH的厂商ID和器件ID都是0x00或0xff,则没有接NAND FLASH,直接转到步骤50,如果读取到可以识别的ID则转入步骤20,如果读取到不可以识别的ID则转入步骤30;步骤20、使用读取到的ID的物理参数读取第一个BLOCK的头信息数据,对读取到头信息数据进行校验,判断是否是所需的引导代码数据组织结构,若是则在该BLOCK的后续PAGE中读取引导代码,转步骤40,若不是则读取下一个BLOCK的头信息数据;步骤30、探测所述ID的物理参数,再使用探测到的ID的物理参数读取第一个BLOCK的头信息数据,对读取到头信息数据进行校验,判断是否是所需的引导代码数据组织结构,若是则在该BLOCK的后续PAGE种读取引导代码,转步骤40,若不是则读取下一个BLOCK的头信息数据;步骤40、按如下引导方法读取引导代码:读取到头信息数据后,根据数据结构读取loader的第一部分代码并存放在芯片内部SRAM中,经验证有效后执行这份代码,完成系统频率提升及必要SDRAM初始化;读取loader的第二部分代码,验证有效后,提交CPU控制权,完成引导,若没有读到头信息数据或loader第一部分代码和第二部分代码不完整有效,则不能从NAND FLASH引导,转到步骤50;步骤50、从SPI FLASH按照步骤40的引导方法读取引导代码,如果引导代码有效则完成引导,若引导代码无效则转到步骤60;步骤60、从emmc接口的存储器按照步骤40的引导方法读取引导代码,如果引导代码有效则完成引导,如果引导代码无效则转到步骤70;步骤70、初始化UART端口和USB端口,等待和PC建立连接,任意一个端口有合法有效的升级请求,则转入该端口的引导模式。
地址 350000 福建省福州市鼓楼区软件大道89号18号楼
您可能感兴趣的专利