欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種bootrom的優(yōu)化方法

文檔序號(hào):6432065閱讀:306來源:國知局
專利名稱:一種bootrom的優(yōu)化方法
一種B00TR0M的優(yōu)化方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種BOOTROM的優(yōu)化方法。背景技術(shù)
現(xiàn)有的BOOTROM(掩膜在芯片內(nèi)部的引導(dǎo)程序)在有多種引導(dǎo)方式時(shí),大多采用跳線選擇方式,采用跳線選擇方式煩瑣而且會(huì)增加跳線選擇成本;而且在NAND FLASH (flash 閃存的一種)兼容性方面是按照現(xiàn)有的FLASH種類去編寫驅(qū)動(dòng)代碼,因此存在以下的問題缺點(diǎn)一采用跳線選擇方式需要跳線選擇從哪里引導(dǎo);缺點(diǎn)二 新推出的NAND FLASH可能無法兼容。缺點(diǎn)三片內(nèi)需要較大SRAM(靜態(tài)隨機(jī)存儲(chǔ)器)來存放loader (系統(tǒng)裝載軟件)或者將loader存放在SDRAM (同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器),但BOOTROM初始化各種 SDRAM存在一定的風(fēng)險(xiǎn)。

發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題,在于提供一種BOOTROM的優(yōu)化方法,它能夠克服NAND FLASH的兼容性差,多種引導(dǎo)方式需采用跳線選擇的問題。本發(fā)明是這樣實(shí)現(xiàn)的一種BOOTROM的優(yōu)化方法,具體包括如下步驟步驟10、芯片復(fù)位后用低頻寬時(shí)序讀取NAND FLASH的ID,如果讀取到的NAND FLASH的廠商ID和器件ID都是0x00或OxfT,則沒有接NAND FLASH,直接轉(zhuǎn)到步驟50,如果讀取到可以識(shí)別的ID則轉(zhuǎn)入步驟20,如果讀取到不可以識(shí)別的ID則轉(zhuǎn)入步驟30 ;步驟20、使用讀取到的ID的物理參數(shù)讀取第一個(gè)BLOCK(塊,NAND FLASH的擦除單位)的頭信息數(shù)據(jù),對(duì)讀取到頭信息數(shù)據(jù)進(jìn)行校驗(yàn),判斷是否是所需的引導(dǎo)代碼數(shù)據(jù)組織結(jié)構(gòu),若是則在該BLOCK的后續(xù)PAGE(頁,NAND FLASH的編程單位)中讀取引導(dǎo)代碼,轉(zhuǎn)步驟40,若不是則讀取下一個(gè)BLOCK的頭信息數(shù)據(jù);步驟30、探測所述ID的物理參數(shù),再使用探測到的ID的物理參數(shù)讀取第一個(gè) BLOCK的頭信息數(shù)據(jù),對(duì)讀取到頭信息數(shù)據(jù)進(jìn)行校驗(yàn),判斷是否是所需的引導(dǎo)代碼數(shù)據(jù)組織結(jié)構(gòu),若是則在該BLOCK的后續(xù)PAGE種讀取引導(dǎo)代碼,轉(zhuǎn)步驟40,若不是則讀取下一個(gè) BLOCK的頭信息數(shù)據(jù);步驟40、按如下引導(dǎo)方法讀取引導(dǎo)代碼讀取到頭信息數(shù)據(jù)后,根據(jù)數(shù)據(jù)結(jié)構(gòu)讀取loader (系統(tǒng)裝載軟件)的第一部分代碼并存放在芯片內(nèi)部SRAM中,經(jīng)驗(yàn)證有效后執(zhí)行這份代碼,完成系統(tǒng)頻率提升及必要SDRAM初始化;讀取loader的第二部分代碼,驗(yàn)證有效后,提交CPU控制權(quán),完成引導(dǎo),若沒有讀到頭信息數(shù)據(jù)或loader第一部分代碼和第二部分代碼不完整有效,則不能從NAND FLASH引導(dǎo),轉(zhuǎn)到步驟50 ;步驟50、按照步驟40的引導(dǎo)方法從SPI FLASH(—種通用flash,它采用串行外設(shè)接口)讀取引導(dǎo)代碼,如果引導(dǎo)代碼有效則完成引導(dǎo),若引導(dǎo)代碼無效則轉(zhuǎn)到步驟60 ;步驟60、按照步驟40的引導(dǎo)方法從emmc (嵌入式的MMC卡接口的存儲(chǔ)器,它是一顆芯片而不是卡)接口的存儲(chǔ)器讀取引導(dǎo)代碼,如果引導(dǎo)代碼有效則完成引導(dǎo),如果引導(dǎo)代碼無效則轉(zhuǎn)到步驟70 ;步驟70、初始化UART (通用異步接收/發(fā)送裝置)端口和USB端口,等待和PC建立連接,任意一個(gè)端口有合法有效的升級(jí)請求,則轉(zhuǎn)入該端口的引導(dǎo)模式。進(jìn)一步的,所述步驟20中,所述ID的物理參數(shù)包括I/O寬度、PAGE大小、BLOCK大小、命令及地址、ECC(錯(cuò)誤檢查和糾正),利用ID的物理參數(shù)去讀取第一個(gè)BLOCK的512B 或1KB頭信息數(shù)據(jù),若ECC有錯(cuò),則切換ECC位數(shù)后再讀取直到正確。進(jìn)一步的,所述步驟40中,整份loader代碼在NAND FLASH中按PAGE連接,若無結(jié)束標(biāo)志則表明代碼不完整。本發(fā)明具有如下優(yōu)點(diǎn)本發(fā)明不用跳線方式就可以從多種引導(dǎo)選擇中進(jìn)行引導(dǎo),可以去掉跳線選擇成本,而且簡單易用;本發(fā)明嚴(yán)格判斷l(xiāng)oader的完整性,避免異常情況導(dǎo)致開不了機(jī),loader代碼采用兩部分組成,第一部分很小在片內(nèi)SRAM中運(yùn)行,完成提升系統(tǒng)頻率及必要的SDRAM初始化, 第二部分在SDRAM中運(yùn)行,是負(fù)責(zé)引導(dǎo)操作系統(tǒng)的loader ;既保證芯片穩(wěn)定可靠,不需要在B00TR0M里跑高頻、去初始化各種SDRAM/DDR SDRAM,也不需要更大的片內(nèi)SRAM來存放 loader代碼,又能增加各種靈活性及引導(dǎo)速度;本發(fā)明對(duì)NAND FLASH作各種物理參數(shù)的探測,大大提高兼容性,新推出的NAND FLASH可以不用修改B00TR0M里的驅(qū)動(dòng)代碼,不用修改芯片的成本及加快芯片上市的時(shí)間。

下面參照附圖結(jié)合實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說明。圖1為本發(fā)明方法流程示意圖。圖2為本發(fā)明的模塊示意框圖。
具體實(shí)施方式請參閱圖1、圖2所示,對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)的說明。如圖1、圖2,本發(fā)明方法具體包括如下步驟步驟10、芯片復(fù)位后用低頻寬時(shí)序讀取NAND FLASH的ID,因?yàn)榈皖l保證了芯片的穩(wěn)定性,寬時(shí)序滿足所有NAND FLASH時(shí)序的要求。如果讀取到的NAND FLASH的廠商ID和器件ID都是0x00或Oxff,則沒有接NAND FLASH,直接轉(zhuǎn)到步驟50,如果讀取到可以識(shí)別的ID則轉(zhuǎn)入步驟20,如果讀取到不可以識(shí)別的ID則轉(zhuǎn)入步驟30 (因?yàn)镹AND FLASH的讀ID命令是0x90 (命令),0x00 (地址),如果沒有外接NAND FLASH,那讀到的數(shù)據(jù)是數(shù)據(jù)總線最后發(fā)出的數(shù)據(jù)即0x00,由于NAND FLASH的廠商ID和器件ID都不會(huì)是0x00或Oxff,所以判斷當(dāng)讀到的廠商ID及器件ID都是0x00 或Oxff時(shí),即可確定沒有外接NAND FLASH)。步驟20、使用讀取到的ID的物理參數(shù)讀取第一個(gè)BLOCK的頭信息數(shù)據(jù),所述ID的物理參數(shù)包括1/0寬度、PAGE大小、BLOCK大小、命令及地址、ECC(small page 的用8bit/5^B、large page的用16bit/1056B),利用ID的物理參數(shù)去讀取第一個(gè) BLOCK的512B或1KB頭信息數(shù)據(jù),若ECC有錯(cuò),則切換ECC位數(shù)后再讀取直到正確,如16bit/1056B-> 24bit/1070B-> 40bit/1096B->關(guān)閉(所述關(guān)閉 ECC 可以支持
內(nèi)嵌ECC的FLASH,如TOSHIBA的PBA (—種名稱,內(nèi)嵌ECC的FLASH) ,MICRON (美光半導(dǎo)體公司)的clear NAND等以及有些內(nèi)嵌控制器的FLASH,如TOSHIBA (東芝)的LBA (也是一種名稱,內(nèi)嵌控制器的FLASH)等)。對(duì)讀取到頭信息數(shù)據(jù)進(jìn)行校驗(yàn),判斷是否是所需的引導(dǎo)代碼數(shù)據(jù)組織結(jié)構(gòu),若是則在該BLOCK的后續(xù)PAGE中讀取引導(dǎo)代碼,若不是則讀取下一個(gè) BLOCK的頭信息數(shù)據(jù)。步驟30、探測所述ID的物理參數(shù),一般是以下六種a.大PAGE/5個(gè)地址/8位數(shù)據(jù)寬度b.大PAGE、5個(gè)地址/16位數(shù)據(jù)寬度c.小PAGE/4個(gè)地址/8位數(shù)據(jù)寬度d.小PAGE/4 個(gè)地址/16位數(shù)據(jù)寬度e.大PAGE/4個(gè)地址/8位數(shù)據(jù)寬度f.大PAGE/4個(gè)地址/16位數(shù)據(jù)寬度,通過以上六種物理參數(shù)組合讀取第一個(gè)BLOCK的頭信息數(shù)據(jù),對(duì)讀取到頭信息數(shù)據(jù)進(jìn)行校驗(yàn),判斷是否是所需的引導(dǎo)代碼數(shù)據(jù)組織結(jié)構(gòu),若是則在該BLOCK的后續(xù)PAGE種讀取引導(dǎo)代碼,若不是則讀取下一個(gè)BLOCK的頭信息數(shù)據(jù)。步驟40、按如下引導(dǎo)方法讀取引導(dǎo)代碼讀取到頭信息數(shù)據(jù)后,根據(jù)數(shù)據(jù)結(jié)構(gòu)讀取loader的第一部分代碼并存放在芯片內(nèi)部SRAM中,經(jīng)驗(yàn)證有效后執(zhí)行這份代碼,完成系統(tǒng)頻率提升及必要SDRAM初始化;讀取loader的第二部分代碼,驗(yàn)證有效后,提交CPU控制權(quán),完成引導(dǎo);整份loader代碼在NAND FLASH中按PAGE連接,比如PAGEl指向的是PAGE2, 最后一個(gè)PAGE指向的是全Oxff表示結(jié)束,若無結(jié)束標(biāo)志表明代碼不完整,可能是在升級(jí)過程中異常中斷等原因,這保證了 loader的完整性;若沒有讀到頭信息數(shù)據(jù)或loader第一部分代碼和第二部分代碼不完整有效,則不能從NAND FLASH引導(dǎo),轉(zhuǎn)到步驟50。步驟50、從SPI FLASH讀取引導(dǎo)代碼,引導(dǎo)方法同步驟40,如果引導(dǎo)代碼有效則完成引導(dǎo),若引導(dǎo)代碼無效則轉(zhuǎn)到步驟60。步驟60、從emmc接口的存儲(chǔ)器讀取引導(dǎo)代碼,引導(dǎo)方法同步驟40,如果引導(dǎo)代碼有效則完成引導(dǎo),如果引導(dǎo)代碼無效則轉(zhuǎn)到步驟70。步驟70、初始化UART端口和USB端口,等待和PC建立連接,任意一個(gè)端口有合法有效的升級(jí)請求,則轉(zhuǎn)入該端口的引導(dǎo)模式。以上所述,僅為本發(fā)明較佳實(shí)施例而已,故不能依此限定本發(fā)明實(shí)施的范圍,即依本發(fā)明專利范圍及說明書內(nèi)容所作的等效變化與修飾,皆應(yīng)仍屬本發(fā)明涵蓋的范圍內(nèi)。
權(quán)利要求
1.一種B00TR0M的優(yōu)化方法,其特征在于,具體包括如下步驟步驟10、芯片復(fù)位后用低頻寬時(shí)序讀取NAND FLASH的ID,如果讀取到的NAND FLASH 的廠商ID和器件ID都是0x00或OxfT,則沒有接NAND FLASH,直接轉(zhuǎn)到步驟50,如果讀取到可以識(shí)別的ID則轉(zhuǎn)入步驟20,如果讀取到不可以識(shí)別的ID則轉(zhuǎn)入步驟30 ;步驟20、使用讀取到的ID的物理參數(shù)讀取第一個(gè)BLOCK的頭信息數(shù)據(jù),對(duì)讀取到頭信息數(shù)據(jù)進(jìn)行校驗(yàn),判斷是否是所需的引導(dǎo)代碼數(shù)據(jù)組織結(jié)構(gòu),若是則在該BLOCK的后續(xù) PAGE中讀取引導(dǎo)代碼,轉(zhuǎn)步驟40,若不是則讀取下一個(gè)BLOCK的頭信息數(shù)據(jù);步驟30、探測所述ID的物理參數(shù),再使用探測到的ID的物理參數(shù)讀取第一個(gè)BLOCK的頭信息數(shù)據(jù),對(duì)讀取到頭信息數(shù)據(jù)進(jìn)行校驗(yàn),判斷是否是所需的引導(dǎo)代碼數(shù)據(jù)組織結(jié)構(gòu),若是則在該BLOCK的后續(xù)PAGE種讀取引導(dǎo)代碼,轉(zhuǎn)步驟40,若不是則讀取下一個(gè)BLOCK的頭信息數(shù)據(jù);步驟40、按如下引導(dǎo)方法讀取引導(dǎo)代碼讀取到頭信息數(shù)據(jù)后,根據(jù)數(shù)據(jù)結(jié)構(gòu)讀取 loader的第一部分代碼并存放在芯片內(nèi)部SRAM中,經(jīng)驗(yàn)證有效后執(zhí)行這份代碼,完成系統(tǒng)頻率提升及必要SDRAM初始化;讀取loader的第二部分代碼,驗(yàn)證有效后,提交CPU控制權(quán),完成引導(dǎo),若沒有讀到頭信息數(shù)據(jù)或loader第一部分代碼和第二部分代碼不完整有效,則不能從NAND FLASH引導(dǎo),轉(zhuǎn)到步驟50 ;步驟50、從SPI FLASH按照步驟40的引導(dǎo)方法讀取引導(dǎo)代碼,如果引導(dǎo)代碼有效則完成引導(dǎo),若引導(dǎo)代碼無效則轉(zhuǎn)到步驟60 ;步驟60、從emmc接口的存儲(chǔ)器按照步驟40的引導(dǎo)方法讀取引導(dǎo)代碼,如果引導(dǎo)代碼有效則完成引導(dǎo),如果引導(dǎo)代碼無效則轉(zhuǎn)到步驟70 ;步驟70、初始化UART端口和USB端口,等待和PC建立連接,任意一個(gè)端口有合法有效的升級(jí)請求,則轉(zhuǎn)入該端口的引導(dǎo)模式。
2.根據(jù)權(quán)利要求1所述的一種B00TR0M的優(yōu)化方法,其特征在于所述步驟20中,所述ID的物理參數(shù)包括1/0寬度、PAGE大小、BLOCK大小、命令及地址、ECC,利用ID的物理參數(shù)去讀取第一個(gè)BLOCK的512B或1KB頭信息數(shù)據(jù),若ECC有錯(cuò),則切換ECC位數(shù)后再讀取直到正確。
3.根據(jù)權(quán)利要求1所述的一種B00TR0M的優(yōu)化方法,其特征在于所述步驟40中,整份loader代碼在NAND FLASH中按PAGE連接,若無結(jié)束標(biāo)志則表明代碼不完整。
全文摘要
本發(fā)明提供一種BOOTROM的優(yōu)化方法,包括步驟10、讀取FLASH的ID,若沒有接FLASH轉(zhuǎn)步驟50,若可識(shí)別ID轉(zhuǎn)步驟20,若不可識(shí)別ID轉(zhuǎn)步驟30;20、使用ID的物理參數(shù)讀取第一個(gè)BLOCK的頭信息數(shù)據(jù),校驗(yàn),若是所需的引導(dǎo)代碼則進(jìn)行讀取,若不是則讀取下一個(gè)BLOCK;30、探測ID的物理參數(shù),再按步驟20的方法讀??;40、根據(jù)頭信息數(shù)據(jù)結(jié)構(gòu)讀取loader的第一部分代碼和第二部分代碼,完成引導(dǎo),若不能引導(dǎo)轉(zhuǎn)步驟50;50、從SPI FLASH讀取引導(dǎo)代碼,若無效則轉(zhuǎn)步驟60;60、從emmc接口的存儲(chǔ)器讀取引導(dǎo)代碼,如果無效則轉(zhuǎn)到步驟70;70、從UART端口和USB端口任意一個(gè)有合法有效的升級(jí)請求的端口進(jìn)行引導(dǎo)模式。本發(fā)明能夠克服FLASH的兼容性差,多種引導(dǎo)方式需采用跳線選擇的問題。
文檔編號(hào)G06F9/445GK102279763SQ20111025468
公開日2011年12月14日 申請日期2011年8月30日 優(yōu)先權(quán)日2011年8月30日
發(fā)明者林學(xué)善 申請人:福州瑞芯微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
洛南县| 澄迈县| 崇义县| 乌拉特后旗| 中牟县| 柏乡县| 罗甸县| 安泽县| 福州市| 泗水县| 内乡县| 高邮市| 阜南县| 邓州市| 金秀| 遂溪县| 邛崃市| 张家界市| 叙永县| 邢台市| 新昌县| 称多县| 泊头市| 阳山县| 蓝山县| 黄大仙区| 克山县| 稻城县| 抚远县| 堆龙德庆县| 新龙县| 昭觉县| 罗源县| 贡觉县| 舞阳县| 宁明县| 聂荣县| 四川省| 徐州市| 新化县| 北安市|