同一套BSP支持多款NandFlash型號的方法及裝置制造方法
【專利摘要】本發(fā)明涉及通信電子【技術(shù)領(lǐng)域】,尤其涉及同一套BSP支持多款NandFlash型號的方法及裝置。該方法包括:從燒錄工具中匹配出與待進(jìn)行燒錄操作的NandFlash相對應(yīng)的NAND參數(shù);所述NandFlash中包括U-BOOT以及內(nèi)核及文件系統(tǒng);將所述匹配出的NAND參數(shù)保存到NandFlash中;在U-boot引導(dǎo)啟動(dòng)的過稱中,將所述NAND參數(shù)從NAND中讀取出來保存到CPU內(nèi)部的一段存儲(chǔ)中;所述BOOT和所述內(nèi)核根據(jù)所述CPU內(nèi)部的一段存儲(chǔ)中的NAND參數(shù)對所述NandFlash進(jìn)行讀寫操作??梢娫摲椒ù蟠鬁p少了因修改參數(shù)而需要重新編譯BOOT和內(nèi)核,文件系統(tǒng)所產(chǎn)生的工作量,提高了工作效率。
【專利說明】同一套BSP支持多款NandFIash型號的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信電子【技術(shù)領(lǐng)域】,尤其涉及同一套BSP支持多款NandFlash型號的方法及裝置。
【背景技術(shù)】
[0002]隨著科技的發(fā)展,以及日常生活的需要,智能手機(jī)、筆記本電腦、相機(jī)等電子設(shè)備已經(jīng)深入人們的家庭中。而隨著這些電子設(shè)備的頻繁使用,人們對于其的存儲(chǔ)能力也有著越來越高的需求,目前為了滿足用戶對存儲(chǔ)能力的需求,大多數(shù)電子設(shè)備中都在使用非易失存儲(chǔ)介質(zhì)(NandFlash)進(jìn)行數(shù)據(jù)的存儲(chǔ)。因此,對NandFlash進(jìn)行讀寫操作則成為存儲(chǔ)數(shù)據(jù)時(shí)需要頻繁進(jìn)行的操作。通常一款嵌入式設(shè)備都有自己的一套BSP,BSP是指嵌入式系統(tǒng)中的U-boot,內(nèi)核(kernel)以及文件系統(tǒng)三部分,目前BSP對嵌入式設(shè)備的支持包括如下過程:
[0003]在U-boot和內(nèi)核中都各自存儲(chǔ)了一份相同的NandFlash的參數(shù),這些參數(shù)包括:頁大小、塊大小,位寬等信息。U-boot、內(nèi)核分別依據(jù)相應(yīng)NandFlash的參數(shù)實(shí)現(xiàn)對實(shí)現(xiàn)對NandFlash的驅(qū)動(dòng),以及對NAND FLASH的讀寫操作。
[0004]然而,本發(fā)明人發(fā)現(xiàn)因?yàn)槟壳暗腂SP中U-boot和內(nèi)核中都存在一份相同的NandFlash參數(shù),導(dǎo)致在生產(chǎn)過程中,如果要換一款NandFlash,就要重新配置U-boot以及內(nèi)核中的NandFlash參數(shù),重新編譯一套U_boot,內(nèi)核甚至還有文件系統(tǒng),將會(huì)浪費(fèi)大量的人力物力,十分不方便!
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供同一套BSP支持多款NandFlash型號的方法及裝置,用于解決現(xiàn)有技術(shù)中如果更換了不同型號NandFlash,就必須重新配置U_boot和內(nèi)核中NandFlash的參數(shù),而且重新編譯一套BSP,因此而增加的工作量。
[0006]同一套BSP支持多款NandFlash型號的方法,其特征在于,所述方法包括:
[0007]從燒錄工具中匹配出與待進(jìn)行燒錄操作的NandFlash相對應(yīng)的匹配參數(shù);所述NandFlash中包括U-B00T以及內(nèi)核;
[0008]將所述匹配參數(shù)保存到NandFlash中;
[0009]在U-boot引導(dǎo)啟動(dòng)的過程中,將所述匹配參數(shù)從NANDFlash中讀出來保存到CPU內(nèi)部的一段存儲(chǔ)中;
[0010]在所述u-boot和所述內(nèi)核處于啟動(dòng)過程時(shí),從所述CPU內(nèi)部的一段存儲(chǔ)中獲取所述匹配參數(shù),對所述NandFlash進(jìn)行讀寫操作。
[0011]同一套BSP支持多款NandFlash型號的裝置,所述裝置包括:
[0012]匹配單元,用于從燒錄工具中匹配出與待進(jìn)行燒錄操作的NandFlash相對應(yīng)的匹配參數(shù);所述NandFlash中包括U-B00T以及內(nèi)核;
[0013]保存單元,用于將所述匹配參數(shù)保存到NandFlash中;在U-boot引導(dǎo)啟動(dòng)的過程中,將所述匹配參數(shù)從NANDFlash中讀出來保存到CPU內(nèi)部的一段存儲(chǔ)中;
[0014]操作單元,用于在所述U-boot和所述內(nèi)核處于啟動(dòng)過程時(shí),從所述CPU內(nèi)部的一段存儲(chǔ)中獲取所述匹配參數(shù),對所述NandFlash進(jìn)行讀寫操作。
[0015]可見,使用本發(fā)明實(shí)施例提供的方法可預(yù)先在燒錄階段從燒錄工具獲得待燒錄的NandFlash的參數(shù),然后將獲得的NandFlash的參數(shù)燒錄到NandFlash中,待u_boot啟動(dòng)過程中再將預(yù)先燒錄在NandFlash里的NandFlash的參數(shù)讀取出來存放到CPU內(nèi)部的一段存儲(chǔ)中,然后u-boot和內(nèi)核啟動(dòng),初始化的過程中再從CPU內(nèi)部那段存儲(chǔ)中獲取NandFlash的參數(shù),然后根據(jù)該參數(shù)對NandFlash進(jìn)行讀寫操作,可見該方法不需要在U-boot和內(nèi)核中包含NandFlash的參數(shù),因此,當(dāng)更換其他型號的NandFlash后該NandFlash的參數(shù)是在燒錄的過程被保存到NandFlash本身,然后此參數(shù)在u-boot啟動(dòng)的過程又被從NandFlash中讀取出來存放在了 CPU內(nèi)部的一段存儲(chǔ)中,U-boot和內(nèi)核再通過從CPU內(nèi)部的存儲(chǔ)提取該NandFlash參數(shù)來進(jìn)行使用的,因此u-boot和內(nèi)核根本就沒有必要再各自存有一份NandFlash的相關(guān)參數(shù),可見該方法可以適用于同一套BSP支持任何一款型號的NandFlash,而每次型號更換后都沒有必要對U-boot,內(nèi)核甚至文件系統(tǒng)進(jìn)行從新編譯,大大減少了因修改NandFlash參數(shù)而產(chǎn)生的工作量,提高了工作效率。
【專利附圖】
【附圖說明】
[0016]為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹。
[0017]圖1為本發(fā)明實(shí)施例提供的同一套BSP支持多款NandFlash型號的方法流程圖;
[0018]圖2為本發(fā)明實(shí)施例提供的支持多種NandFlash型號的方法流程圖;
[0019]圖3為本發(fā)明實(shí)施例提供的同一套BSP支持多款NandFlash型號的裝置結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0020]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明中技術(shù)方案作進(jìn)一步詳細(xì)的說明。
[0021]使用本發(fā)明實(shí)施例提供的方法可預(yù)先在燒錄階段從燒錄工具獲得待燒錄的NandFlash的參數(shù),然后將獲得的NandFlash的參數(shù)燒錄到NandFlash中,待u_boot啟動(dòng)過程中再將預(yù)先燒錄在NandFlash里的NandFlash的參數(shù)讀取出來存放到CPU內(nèi)部的一段存儲(chǔ)中,然后u-boot和內(nèi)核啟動(dòng),初始化的過程中再從CPU內(nèi)部那段存儲(chǔ)中獲取NandFlash的參數(shù),然后根據(jù)該參數(shù)對NandFlash進(jìn)行讀寫操作,可見該方法不需要在U-boot和內(nèi)核中包含NandFlash的參數(shù),因此,當(dāng)更換其他型號的NandFlash后該NandFlash的參數(shù)是在燒錄的過程被保存到NandFlash本身,然后此參數(shù)在u-boot啟動(dòng)的過程又被從NandFlash中讀取出來存放在了 CPU內(nèi)部的一段存儲(chǔ)中,U-boot和內(nèi)核再通過從CPU內(nèi)部的存儲(chǔ)提取該NandFlash參數(shù)來進(jìn)行使用的,因此u-boot和內(nèi)核根本就沒有必要再各自存有一份NandFlash的相關(guān)參數(shù),可見該方法可以適用于同一套BSP支持任何一款型號的NandFlash,而每次型號更換后都沒有必要對U-boot,內(nèi)核甚至文件系統(tǒng)進(jìn)行從新編譯,大大減少了因修改NandFlash參數(shù)而產(chǎn)生的工作量,提高了工作效率。如圖1所示,具體過程如下:
[0022]步驟11,從燒錄工具中匹配出與待進(jìn)行燒錄操作的NandFlash相對應(yīng)的匹配參數(shù);所述NandFlash中包括U-BOOT以及內(nèi)核;
[0023]步驟12,將所述匹配參數(shù)保存到NandFlash中;
[0024]步驟13,在U-boot引導(dǎo)啟動(dòng)的過程中,將所述匹配參數(shù)從NANDFlash中讀出來保存到CPU內(nèi)部的一段存儲(chǔ)中;
[0025]步驟14,在所述U-boot和所述內(nèi)核處于啟動(dòng)過程時(shí),從所述CPU內(nèi)部的一段存儲(chǔ)中獲取所述匹配參數(shù),對所述NandFlash進(jìn)行讀寫操作。
[0026]具體的,所述匹配出與待進(jìn)行燒錄操作的NandFlash相對應(yīng)的匹配參數(shù)包括:
[0027]獲得所述待進(jìn)行燒錄操作的NandFlash的特征信息,在預(yù)先保存的參數(shù)表中,找出與所述特征信息相對應(yīng)的匹配參數(shù);所述參數(shù)表中保存有多個(gè)不同型號的NandFlash的參數(shù)以及與參數(shù)--對應(yīng)的NandFlash的特征信息。
[0028]具體的,所述將所述匹配參數(shù)保存到NandFlash中包括:
[0029]將所述匹配參數(shù)保存到NandFlash中的指定位置。
[0030]具體的,所述指定位置位于NandFlash中的SPL之后。
[0031]以下以具體實(shí)施例進(jìn)行介紹:
[0032]實(shí)施例:
[0033]如圖2所示,本發(fā)明實(shí)施例提供同一套BSP支持多款NandFlash的方法,燒錄工具的NandFlash參數(shù)表中預(yù)先保存有大量不同型號的NandFlash的參數(shù),每個(gè)型號的
NandFlash都有唯一特征信息,且該特征信息與NandFlash的參數(shù)--對應(yīng),該NandFlash
的特征信息包括NandFlash的ID,EXTID等,具體過程如下:
[0034]步驟21,燒錄工具燒錄BSP的過程中自動(dòng)識別NandFlash的特征信息;
[0035]步驟22,從燒錄工具預(yù)先保存的NandFlash的參數(shù)表中,找到與該NandFlash的特征信息相對應(yīng)的NandFlash的參數(shù),將查找出的參數(shù)作為匹配參數(shù);即匹配出了與待進(jìn)行燒錄操作的NandFlash相對應(yīng)的匹配參數(shù);
[0036]步驟23,將匹配參數(shù)燒錄到NandFlash中;即保存到NandFlash中;
[0037]本步驟中,由于該匹配參數(shù)在整個(gè)BSP的啟動(dòng)過程中非常重要,不能有絲毫的破壞,因此就要求在整個(gè)BSP燒錄,啟動(dòng)的過程中對此參數(shù)的完整性有較高的保證!
[0038]目前本實(shí)施例是將NandFlash的參數(shù)放在了 SPL(U_boot的第一階段啟動(dòng))之后,在整個(gè)BSP的燒錄,啟動(dòng)中,此參數(shù)與SPL享受同等級的保護(hù)措施(最高);
[0039]步驟24,在U-boot引導(dǎo)啟動(dòng)的過程中,將所述匹配出的NandFlash參數(shù)從NandFlash中讀出來保存到CPU內(nèi)部的一段存儲(chǔ)中;
[0040]步驟25,當(dāng)需要對NandFlash進(jìn)行讀寫操作時(shí),U-boot和內(nèi)核分別從CPU內(nèi)部的一段存儲(chǔ)中獲取此NandFlash參數(shù),并根據(jù)獲取到的匹配參數(shù)對NandFlash進(jìn)行讀寫操作。
[0041]如圖3所示,本發(fā)明實(shí)施例提供了同一套BSP支持多款NandFlash的裝置,所述裝置包括:
[0042]匹配單元31,用于從燒錄工具中匹配出與待進(jìn)行燒錄操作的NandFlash相對應(yīng)的匹配參數(shù);所述NandFlash中包括U-B00T以及內(nèi)核;
[0043]保存單元32,用于將所述匹配參數(shù)保存到NandFlash中;在U-boot引導(dǎo)啟動(dòng)的過程中,將所述匹配參數(shù)從NANDFlash中讀出來保存到CPU內(nèi)部的一段存儲(chǔ)中;
[0044]操作單元33,用于在所述U-boot和所述內(nèi)核處于啟動(dòng)過程時(shí),從所述CPU內(nèi)部的一段存儲(chǔ)中獲取所述匹配參數(shù),對所述NandFlash進(jìn)行讀寫操作。
[0045]所述匹配單元31具體用于:
[0046]獲得所述待進(jìn)行燒錄操作的NandFlash的特征信息,在預(yù)先保存的參數(shù)表中,找出與所述特征信息相對應(yīng)的匹配參數(shù);所述參數(shù)表中保存有多個(gè)不同型號的NandFlash的參數(shù)以及與參數(shù)--對應(yīng)的NandFlash的特征信息。
[0047]所述保存單元32具體用于:
[0048]將所述匹配參數(shù)保存到NandFlash保存到指定位置。
[0049]所述指定位置位于NandFlash中的SPL之后。
[0050]綜上所述,有益效果:
[0051]使用本發(fā)明實(shí)施例提供的方法可預(yù)先將匹配出的NandFlash參數(shù)保存到NandFlash中,當(dāng)U-boot啟動(dòng)的過程中,將NandFlash的參數(shù)從NandFlash中讀取出來,存放到CPU內(nèi)部的一段存儲(chǔ)中,U-boot和內(nèi)核可以分別從該段存儲(chǔ)中獲取出NandFlash的參數(shù),然后根據(jù)該參數(shù)對NandFlash進(jìn)行讀寫操作,可見該方法不需要在BOOT和內(nèi)核中各包含一份NandFlash的參數(shù),因此,當(dāng)換成其他型號的NandFlash后該NandFlash的參數(shù)在燒錄BSP的過程中被保存到NandFlash本身,NandFlash的參數(shù)被U_boot放到CPU內(nèi)部的一段存儲(chǔ)后,后續(xù)u-boot和內(nèi)核再通過該段存儲(chǔ)提取NandFlash的參數(shù)來進(jìn)行使用,因此整個(gè)BSP的燒錄,啟動(dòng)中沒有了對NandFlash的耦合,可見該方法可以適用于同一款BSP支持任何一款型號的NandFlash,而每次型號更換后都不必因?yàn)橹皍_boot,內(nèi)核對NandFlash的耦合而且重新編譯一套BSP,大大減少了因修改NandFlash相關(guān)參數(shù)而產(chǎn)生的工作量,提高了工作效率。
[0052]并且將匹配參數(shù)保存到SPL之后的位置,可以保證該匹配參數(shù)不被破壞。
[0053]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.同一套BSP支持多款NandFlash型號的方法,其特征在于,所述方法包括: 從燒錄工具中匹配出與待進(jìn)行燒錄操作的NandFlash相對應(yīng)的匹配參數(shù);所述NandFlash中包括U-BOOT以及內(nèi)核; 將所述匹配參數(shù)保存到NandFlash中; 在U-boot引導(dǎo)啟動(dòng)的過程中,將所述匹配參數(shù)從NANDFlash中讀出來保存到CPU內(nèi)部的一段存儲(chǔ)中; 在所述U-boot和所述內(nèi)核處于啟動(dòng)過程時(shí),從所述CPU內(nèi)部的一段存儲(chǔ)中獲取所述匹配參數(shù),對所述NandFlash進(jìn)行讀寫操作。
2.如權(quán)利要求1所述的方法,其特征在于,所述匹配出與待進(jìn)行燒錄操作的NandFlash相對應(yīng)的匹配參數(shù)包括: 獲得所述待進(jìn)行燒錄操作的NandFlash的特征信息,在預(yù)先保存的參數(shù)表中,找出與所述特征信息相對應(yīng)的匹配參數(shù);所述參數(shù)表中保存有多個(gè)不同型號的NandFlash的參數(shù)以及與參數(shù)--對應(yīng)的NandFlash的特征信息。
3.如權(quán)利要求1所述的方法,其特征在于,所述將所述匹配參數(shù)保存到NandFlash中包括: 將所述匹配參數(shù)保存到NandFlash中的指定位置。
4.如權(quán)利要求3所述的方法,其特征在于,所述指定位置位于NandFlash中的SPL之后。
5.同一套BSP支持多款NandFlash型號的裝置,其特征在于,所述裝置包括: 匹配單元,用于從燒錄工具中匹配出與待進(jìn)行燒錄操作的NandFlash相對應(yīng)的匹配參數(shù);所述NandFlash中包括U-BOOT以及內(nèi)核; 保存單元,用于將所述匹配參數(shù)保存到NandFlash中;在U-b00t引導(dǎo)啟動(dòng)的過程中,將所述匹配參數(shù)從NANDFlash中讀出來保存到CPU內(nèi)部的一段存儲(chǔ)中; 操作單元,用于在所述U-boot和所述內(nèi)核處于啟動(dòng)過程時(shí),從所述CPU內(nèi)部的一段存儲(chǔ)中獲取所述匹配參數(shù),對所述NandFlash進(jìn)行讀寫操作。
6.如權(quán)利要求5所述的裝置,其特征在于,所述匹配單元具體用于: 獲得所述待進(jìn)行燒錄操作的NandFlash的特征信息,在預(yù)先保存的參數(shù)表中,找出與所述特征信息相對應(yīng)的匹配參數(shù);所述參數(shù)表中保存有多個(gè)不同型號的NandFlash的參數(shù)以及與參數(shù)--對應(yīng)的NandFlash的特征信息。
7.如權(quán)利要求5所述的裝置,其特征在于,所述保存單元具體用于: 將所述匹配參數(shù)保存到NandFlash中的指定位置。
8.如權(quán)利要求7所述的裝置,其特征在于,所述指定位置位于NandFlash中的SPL之后。
【文檔編號】G06F9/445GK104199690SQ201410406665
【公開日】2014年12月10日 申請日期:2014年8月18日 優(yōu)先權(quán)日:2014年8月18日
【發(fā)明者】邱東升 申請人:北京君正集成電路股份有限公司