本人的開發環境是
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 中斷引擎最初的部分 在...