bootloader如何固化?

2021-04-13 01:17:32 字數 1629 閱讀 5362

關於bootloader,先簡要地總結一下。經過了第乙個階段的學習,對bootloader有了乙個整體的認識,其實把它當作乙個功能單元就可以了,職責就是完成從硬體加電到作業系統核心執行之前的所有工作,這些工作包括硬體檢測、硬體初始化、載入kernel。這些工作怎麼完成呢?按照功能分為兩個部分比較合適,硬體檢測和初始化功能實現作為stage1;載入kernel作為stage2。stage1完全依賴於硬體,這一部分用組合語言實現;stage2與作業系統有關,一般用c語言來實現。在嵌入式系統的開發過程中,bootloader有兩種選擇,要麼自行開發,要麼移植。我還沒有寫過bootloader,只是移植過u-boot,使用過redboot。

這裡討論乙個問題,bootloader如何燒寫(固化)到非易失性儲存介質(比如nor flash,nand flash等)裡呢?

討論之前,先要理解程式設計器的概念。雖然學通訊工程,應該對這些工具不陌生,但是本科下來,對這些概念確實沒有深刻的印象。實際用到,才發現自己基礎太差,只能努力的彌補。我寫blog,很大程度上是對基礎知識的鞏固,相信基礎紮實了,知識體系才可以慢慢的完善,才能最終勝任更高難度的工作。

程式設計器也叫device programmer,是對非易失性儲存介質和其他電可程式設計裝置進行程式設計的工具。傳統的程式設計器,需要把flash(舉例)從電路板上取下來,插到程式設計器的介面上,以完成擦除和燒寫。現在的程式設計器發展的方向是isp(in-system programming,在系統可程式設計),就是指電路板上的空白器件可以程式設計寫入終端使用者**,而不需要從電路板上取下器件。已經程式設計的器件也可以用isp方式擦除或再程式設計,如nor flash支援重複擦寫10萬次左右。可見,isp,智慧型程式設計器是發展的方向。

利用程式設計器可以解決前面提高的問題,不僅可以燒寫bootloader,還可以燒寫kernel,fs等等。也就是都屬於固化終端使用者**的過程。

下面考慮兩種實際情況:

1、廠商已經提供固化的程式**,不允許對其修改。那麼這種情況下,用不到程式設計器。

2、廠商提供的硬體沒有固化**,或者固化了部分**(後面舉例說明),這樣就需要用到程式設計器。

要想利用程式設計器進行資料交換,完成燒寫擦除等操作,就必須硬體連線、軟體操作。當然,複雜的地方在軟體操作,因為對不同的硬體,軟體操作是不同的。有些廠商把程式設計器、編輯器、編譯器、彙編器、鏈結器、偵錯程式整合在一起,提供軟硬體解決方案,在學校學習大多是這種整合環境了。比如51微控制器的**器和keil開發環境。也因為這個原因,對於每個環節反而沒有了概念。在linux下開發的時候,這些問題就都凸現出來了。不過早出來早解決,這樣無論對於自己的認識,還是對於以後的發展,都是有利的。

總結完之後,對bootloader的理解有了乙個新的概念。把bootloader理解成燒寫工具和功能實現兩個部分,對於實際理解會更有幫助。這樣,拿到一塊板子,首先看它提供的啟動方式有那些,是否支援從rom啟動,是否支援從flash啟動等等,針對啟動方式,選擇bootloader固化方式,如果提供程式設計器軟體資源最好,如果不提供,那麼要麼編寫,要麼移植。不過,

大而全在商業中是行不通的,如同周立功所說,專注於自己最擅長的,其他的外包。這是工作後應該信奉的原則

。現在還是以研究為目的,盡量弄明白每個環節的工作原理,形成清晰的認識,然後選擇自己最為擅長的,作為謀生的手段。即使工作後,各個環節還是應該有所射獵,知識都是相通的,可能從別的方面得到啟發,解決自己手頭的難題。

下一步,集中精力弄清楚研究jtag和jflash的原理。

WinCE的Boot Loader是如何工作的

wince的boot loader是如何工作的 前提 此boot loader是位於nor flash的零位址的,cpu配置成復位後在此執行。1.前期cpu初始化 l 進入超級使用者模式 supervisor mode 顯式通過軟體指令初始化進入。l 清除指令和資料cache。l 清除tlbs tr...

人,不能固化自己。。

想想,如果乙個人重心的給老闆幹了一輩子,結果公司因為不景氣等原因,那個人被layoff,他還能幹什麼。因為他只知道被動的將丟過來的活做完,而不是自己開動腦筋 什麼應該自己主動做,什麼機會自己應該把握 老闆與打工者的區別就是 老闆有自己的目標,一步一步的,逐漸縮短與目標的差距,而自己又不斷的提出新的目...

跳出固化的認知

2015年4月6日早上,提高班舉辦家長座談會,家長自願參加 前一天也舉行了 但要求同學們都去參加,此時,出現了一種情況,很多學生由於家長要走,所以,紛紛向紀委請假送家長,結果,2個小時過去後,存在有很多請假人,沒有續請假,也沒有到會場。紀委條例規定,請假最長時間為2個小時。此現象出現後,公尺老師非常...