關於uboot的一些優化

2021-05-25 02:59:37 字數 1391 閱讀 8976

本人的開發環境是

u-boot-1.1.6

版本,fedora 9+

虛擬機器的

linux

系統,開發板

cpu為

at9263ek

的板子,以下是本人在試驗過程中總結出來的步驟,

(1)修改

/u-boot-1.1.6/common/main.c

第269

行udelay (10000);

改為udelay (10);

(2)修改/u-boot-1.1.6/lib_arm/board.c

第459

,udelay(100000);

改為udelay(10);462

行udelay(100000);

改為udelay(10);

(3)經研究發現,嚴重影響速度的就一句話,即

/u-boot-1.1.6/drivers/nand/nand_base.c

第2634

行int nand_scan (struct mtd_info *mtd, int maxchips)

這個函式的最後一句

return this->scan_bbt (mtd);

我遮蔽掉了這句,減少了

4秒。改為

return 0

;(4) /u-boot-1.1.6.lcd/include/configs/at91sam9263ek.h 修改

62行#define config_bootdelay3

改為#define config_bootdelay0

修改啟動時

bootdelay

的時間(5) /u-boot-1.1.6/include/configs/at91sam9263ek.h

這個程式裡面

269行

#define at91c_eth_timeout

30000

改為#define at91c_eth_timeout3

無法啟動

(6)嚴重影響速度的是

/u-boot-1.1.6/board/at91sam9263ek/dm9161a.c

這個函式的do…

.while

語句177

行do while (!(intvalue & dm9161_link_status) && (tick < at91c_eth_timeout));

在相關標頭檔案中找到

at91c_eth_timeout

的定義,改變他的大小可減小啟動速度。但是不知道會不會對

uboot

有影響鑑於本人水平有限,以上方法都是本人試出來的,至於修改後導致的今後的啟動無法進行或是其他

bug,均不負責,有知道

bug的歡迎指正

原創

關於uboot一些概念

u boot的環境變數值得注意的有兩個 bootcmd和bootargs。bootcm bootargs bootargs是環境變數中的重中之重,甚至可以說整個環境變數都是圍繞著bootargs來設定的。bootargs的種類非常非常的多,我們平常只是使用了幾種而已.bootargs非常的靈活,核心...

關於系統移植uboot的一些思路

第一回 應深圳友堅科技之邀,這幾天要把djyos移植到他們的idea6410上。現在發布的是si版本,是以微控制器模式執行的,s3c6410這樣強勁的cpu,執行si版本,就作為高速微控制器用了,所有位址都是按照實體地址一一對應對映。cpu的狀態也沒有區分核心態和使用者態。1 中斷引擎最初的部分 在...

關於系統移植uboot的一些思路

第一回 應深圳友堅科技之邀,這幾天要把djyos移植到他們的idea6410上。現在發布的是si版本,是以微控制器模式執行的,s3c6410這樣強勁的cpu,執行si版本,就作為高速微控制器用了,所有位址都是按照實體地址一一對應對映。cpu的狀態也沒有區分核心態和使用者態。1 中斷引擎最初的部分 在...