日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]在嵌入式系統(tǒng)的“創(chuàng)世記”中,U-Boot扮演著喚醒系統(tǒng)的關(guān)鍵角色。當(dāng)存儲介質(zhì)選用NAND Flash時,由于其非易失性、大容量及低成本的特性,成為工業(yè)控制與消費電子的主流選擇。然而,NAND不支持代碼直接運行(XIP),且存在壞塊與位翻轉(zhuǎn)風(fēng)險,這使得U-Boot的移植成為一場精密的“硬件協(xié)奏曲”。



在嵌入式系統(tǒng)的“創(chuàng)世記”中,U-Boot扮演著喚醒系統(tǒng)的關(guān)鍵角色。當(dāng)存儲介質(zhì)選用NAND Flash時,由于其非易失性、大容量及低成本的特性,成為工業(yè)控制與消費電子的主流選擇。然而,NAND不支持代碼直接運行(XIP),且存在壞塊與位翻轉(zhuǎn)風(fēng)險,這使得U-Boot的移植成為一場精密的“硬件協(xié)奏曲”。


NAND啟動:從ROM到SDRAM的跨越


NAND啟動的核心難點在于“重定位”。上電時,CPU處于ROM代碼階段,此時僅能執(zhí)行極少量的匯編指令。由于NAND控制器尚未初始化,U-Boot須先以SPL(Secondary Program Loader)的形式存在于NAND的前幾個物理塊中。這段代碼負責(zé)初始化DDR內(nèi)存控制器,并將完整的U-Boot鏡像從NAND搬運至SDRAM中運行。


實現(xiàn)這一過程,需精準(zhǔn)配置NAND控制器的時序參數(shù)。不同廠商的Flash芯片(如三星K9系列或國產(chǎn)GD5F1GM7)對tR、tPROG等時序要求各異。若時序配置不當(dāng),輕則讀取亂碼,重則無法識別芯片。


以下是S3C2440平臺下配置NAND時序的典型代碼片段,展示了如何通過寄存器操作適配特定Flash:


c

// NAND控制器寄存器定義

#define NFCONF (*(volatile unsigned long *)0x4E000000)

#define NFCONT (*(volatile unsigned long *)0x4E000004)


void nand_init_ll(void) {

   // 根據(jù)數(shù)據(jù)手冊配置建立時間、寫脈沖寬度等

   // TACLS=1, TWRPH0=2, TWRPH1=1 為例

   NFCONF = (1<<12) | (2<<8) | (1<<4) | (0<<0);

   

   // 使能控制器,初始化ECC,片選使能

   NFCONT = (1<<4) | (1<<1) | (1<<0);

}

此外,移植時須關(guān)閉編譯器的“-pie”選項,否則重定位代碼會過大,導(dǎo)致NAND初始加載失敗。同時,需在nand_ids.c中添加新Flash的Man ID與Dev ID,或修改spi-nand-ids.c以支持SPI NAND,確保U-Boot能正確“認出”芯片。


環(huán)境變量:雙保險的容錯藝術(shù)


環(huán)境變量是U-Boot的“大腦”,存儲著啟動參數(shù)與網(wǎng)絡(luò)配置。一旦損壞,系統(tǒng)將陷入啟動死循環(huán)。為此,bi xu建立冗余備份機制。


U-Boot通過CONFIG_SYS_REDUNDAND_ENVIRONMENT宏開啟雙備份模式。系統(tǒng)會在Flash中劃分兩個分區(qū):env(主分區(qū))與env_redundant(備份分區(qū))。保存時,U-Boot采用“序列號遞增”策略:每次saveenv,全局變量gd->env_valid會在兩個分區(qū)間交替寫入,并遞增CRC校驗碼中的序列號。


加載時,U-Boot會比較兩個分區(qū)的CRC與序列號,優(yōu)先選擇序列號較大且校驗正確的分區(qū)。若主分區(qū)損壞,自動切換至備份分區(qū),實現(xiàn)“無感修復(fù)”。


以下邏輯展示了雙備份寫入的核心流程:


c

int env_nand_save(void) {

   // 1. 導(dǎo)出當(dāng)前環(huán)境變量

   env_export(env_new);

   

   // 2. 序列號遞增(255回繞至1)

   env_new->flags = (gd->env_valid == ENV_VALID) ?

                    (gd->env_seq + 1) : gd->env_seq;

   if (env_new->flags == 255) env_new->flags = 1;

   

   // 3. 重新計算CRC

   env_new->crc = crc32(0, (uint8_t*)env_new, sizeof(struct env_t));

   

   // 4. 交替寫入:若上次用主分區(qū),本次寫備份分區(qū)

   if (gd->env_valid == ENV_VALID) {

       target_offset = CONFIG_ENV_OFFSET_REDUND;

   } else {

       target_offset = CONFIG_ENV_OFFSET;

   }

   

   // 5. 寫入并更新狀態(tài)

   erase_and_write_nand(target_offset, env_new);

   gd->env_valid = (gd->env_valid == ENV_VALID) ? ENV_REDUND : ENV_VALID;

   

   return 0;

}

結(jié)語


從NAND的底層時序配置到環(huán)境變量的冗余管理,U-Boot移植不僅是代碼的搬運,更是對硬件特性的深度洞察。掌握SPL重定位、壞塊跳過及雙備份機制,是工程師從“能用”邁向“穩(wěn)定”的bi jing之路,也是構(gòu)建高可靠嵌入式系統(tǒng)的基石。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

特朗普集團近日取消了其新推出的T1智能手機“將在美國制造”的宣傳標(biāo)語,此舉源于外界對這款手機能否以當(dāng)前定價在美國本土生產(chǎn)的質(zhì)疑。

關(guān)鍵字: 特朗普 蘋果 AI

美國總統(tǒng)特朗普在公開場合表示,他已要求蘋果公司CEO蒂姆·庫克停止在印度建廠,矛頭直指該公司生產(chǎn)多元化的計劃。

關(guān)鍵字: 特朗普 蘋果 AI

4月10日消息,據(jù)媒體報道,美國總統(tǒng)特朗普宣布,美國對部分貿(mào)易伙伴暫停90天執(zhí)行新關(guān)稅政策,同時對中國的關(guān)稅提高到125%,該消息公布后蘋果股價飆升了15%。這次反彈使蘋果市值增加了4000多億美元,目前蘋果市值接近3萬...

關(guān)鍵字: 特朗普 AI 人工智能 特斯拉

3月25日消息,據(jù)報道,當(dāng)?shù)貢r間3月20日,美國總統(tǒng)特朗普在社交媒體平臺“真實社交”上發(fā)文寫道:“那些被抓到破壞特斯拉的人,將有很大可能被判入獄長達20年,這包括資助(破壞特斯拉汽車)者,我們正在尋找你?!?/p> 關(guān)鍵字: 特朗普 AI 人工智能 特斯拉

1月22日消息,剛剛,新任美國總統(tǒng)特朗普放出重磅消息,將全力支持美國AI發(fā)展。

關(guān)鍵字: 特朗普 AI 人工智能

特朗普先生有兩件事一定會載入史冊,一個是筑墻,一個是挖坑。在美墨邊境筑墻的口號確保邊境安全,降低因非法移民引起的犯罪率過高問題;在中美科技產(chǎn)業(yè)之間挖坑的口號也是安全,美國企業(yè)不得使用對美國國家安全構(gòu)成威脅的電信設(shè)備,總統(tǒng)...

關(guān)鍵字: 特朗普 孤立主義 科技產(chǎn)業(yè)

據(jù)路透社1月17日消息顯示,知情人士透露,特朗普已通知英特爾、鎧俠在內(nèi)的幾家華為供應(yīng)商,將要撤銷其對華為的出貨的部分許可證,同時將拒絕其他數(shù)十個向華為供貨的申請。據(jù)透露,共有4家公司的8份許可被撤銷。另外,相關(guān)公司收到撤...

關(guān)鍵字: 華為 芯片 特朗普

曾在2018年時被美國總統(tǒng)特朗普稱作“世界第八奇跡”的富士康集團在美國威斯康星州投資建設(shè)的LCD顯示屏工廠項目,如今卻因為富士康將項目大幅縮水并拒絕簽訂新的合同而陷入了僵局。這也導(dǎo)致富士康無法從當(dāng)?shù)卣抢铽@得約40億美...

關(guān)鍵字: 特朗普 富士康

今年5月,因自己發(fā)布的推文被貼上“無確鑿依據(jù)”標(biāo)簽而與推特發(fā)生激烈爭執(zhí)后,美國總統(tǒng)特朗普簽署了一項行政令,下令要求重審《通信規(guī)范法》第230條。

關(guān)鍵字: 谷歌 facebook 特朗普

眾所周知,寄往白宮的所有郵件在到達白宮之前都會在他地進行分類和篩選。9月19日,根據(jù)美國相關(guān)執(zhí)法官員的通報,本周早些時候,執(zhí)法人員截獲了一個寄給特朗普總統(tǒng)的包裹,該包裹內(nèi)包含蓖麻毒蛋白。

關(guān)鍵字: 美國 白宮 特朗普
關(guān)閉