S3C2450 Bootloader除錯總結

2021-09-30 06:11:36 字數 1999 閱讀 1369

s3c2450的整個bootloader包括四個部分:

1):eboot.whimory

2):nbl1.irom_sd

3):nbl1.lsb

4):nbl2

實現功能:生成三個有用的檔案:block0img.nb0,eboot.nb0/eboot.bin,以及irom_sd_eboot.nb0。其中前兩個檔案用於燒到nand的前幾個block,用於初始化整個系統的環境,以及引導nk。最後面的irom_sd_eboot.nb0檔案,是將第二個eboot.nb0/eboot.bin檔案打包得到的檔案,用於燒寫到sd卡中,從sd卡啟動。下面針對前面的四個檔案逐一說明。

一:nbl2

該檔案用於生成block0img.nb0。用於完成如下功能:

1):初始化硬體配置,如堆疊,中斷向量表,mmu等。

2):將後面生成的eboot.bin檔案拷備到dram中。

3):列印部分串列埠資訊,表示系統已經啟動。

4):初始化顯示裝置,輸出開機logo。但此時背光沒點亮,故肉眼是看不清有開機logo顯示的。

5):初始化nand flash。

注:執行此段**的前提是,開機必須是從nand啟動的。之所以從sd卡啟動時會白屏一下,就是因為從sd卡啟動並沒有執行這一段**,即先點亮了背光,再初始化顯示裝置。如果從t卡啟動,這段**沒有任何作用。

二:nbl1.lsb

此段**個人覺得沒有任何用處,應該可以直接刪除。將該段遮蔽掉後,仍然能從sd卡啟動,但是由於從nand啟動需要跳線,沒做相關實驗。但是block0img.nb0和eboot.bin兩個檔案已經生成。

三:eboot.whimory

整個bootloader最關鍵的部分就是這一塊了。該部分用於產生eboot.bin和eboot.nb0檔案。

主函式中由三個函式組成:

1):powerlock_init();

用於軟置鎖,開機後通過io口給電源的使能腳供電,保證系統正常供電。

2):bootloadermain();

整個bootloader的最關鍵的函式。下面將重點介紹。

3):spinforever();

這個函式是不會執行的,在執行第二個函式後,就會跳到nk的位址啟動系統了。如果執行到這個函式,那系統肯定就掛在eboot這裡了。

下面主要看bootloadermain()這個函式。

整個函式**如下:

從以上程式可以看出,整個bootloadermain()函式由五大函式組成,分別是:

1):kernelrelocate (ptoc);

用於將全域性變數在dram中宣告。

2):oemdebuginit ();

用於初始化串列埠,給後續**提供串列埠列印資訊,便於除錯。

3):oemplatforminit ();

用於初始化硬體平台,如時鐘,驅動等。

該函式通過如下子函式完成各硬體平台的初始化:

a:memset():

初始化bsp args結構;

b:initusb();

初始化usb介面;

c:isr_init();

初始化中斷;

d:bp_init();

初始化nand flash;

e:initdisplay();

初始化顯示裝置;

f:showlogo();

顯示logo;

g:fmd_getinfo();

讀flash資訊;

h:toc_read();

讀toc資訊;

i:oemethgetsecs();

j:backlight_open();

亮背光。

以上是oemplatforminit ()函式的作用,具體每一句如何執行,每個函式是如何工作的,限於篇幅,這裡就不詳細介紹了。

4):oempredownload ();

5):downloadimage()或oemlaunch() 函式;

複製搜尋 複製

搜尋

S3C6410和S3C2410的區別

s3c6400平台和s3c24xx平台而言,基本上沒什麼大的變化 1.記憶體支援ddr記憶體一般都是128m,起始位址是0x50000000,其他暫存器位址與s3c24xx有很大的不同。2.時鐘沒有了epll換上了mpll所以時鐘方面要小心了。3.新增tv卡的支援,以及keypad.的支援。4.fl...

s3c2410與s3c2440的部分細節區別整理

這兩個soc都是arm920,cpuid都是0x41129200,很多暫存器設定都是一樣的,但是你要想直接把2410的bootloader 核心拿到2440上用,那是肯定會出錯的 網上這樣的文章很多,大多都僅僅是巨集觀上比劃兩句,如攝像頭驅動 主頻之類,沒有什麼意義 細節是魔鬼,只有在細節上充分積累...

S3C2410 S3C2440開發板相關書籍

1 arm處理器裸機開發實戰 機制而非策略 王小強 主編 電子工業出版社 實驗平台 tq2440。裸跑中的經典教程,有注釋,例項多而實用,是目前市場上最受好評的2440 裸跑教程。讓您從微控制器51入手arm 從此再無憂。2.c os ii原理與arm應用程式設計 張勇 方勤 蔡鵬 許波 著 3.嵌...