关闭

关于uboot的一些优化

953人阅读 评论(0) 收藏 举报
分类:

转载于:http://blog.163.com/solylee@126/blog/static/1718231572010101910485331/

 

本人的开发环境是u-boot-1.1.6版本,fedora 9+虚拟机的linux系统,开发板cpuat9263ek的板子,以下是本人在试验过程中总结出来的步骤,

(1)修改/u-boot-1.1.6/common/main.c269udelay (10000);改为udelay (10);

(2)修改/u-boot-1.1.6/lib_arm/board.c459udelay(100000);改为udelay(10);462udelay(100000);改为udelay(10);

(3)经研究发现,严重影响速度的就一句话,即/u-boot-1.1.6/drivers/nand/nand_base.c2634 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_BOOTDELAY   3改为 #define CONFIG_BOOTDELAY   0

修改启动时bootdelay的时间

(5) /u-boot-1.1.6/include/configs/at91sam9263ek.h这个程序里面269#define AT91C_ETH_TIMEOUT          30000改为#define AT91C_ETH_TIMEOUT         3无法启动

(6) 严重影响速度的是/u-boot-1.1.6/board/at91sam9263ek/dm9161a.c这个函数的do….while语句177

do {

              

              at91_EmacReadPhy(p_mac, AT91C_PHY_ADDR, DM9161_BMSR, &IntValue);

              at91_EmacReadPhy(p_mac, AT91C_PHY_ADDR, DM9161_BMSR, &IntValue);

      

              tick++;

       } while (!(IntValue & DM9161_LINK_STATUS) && (tick < AT91C_ETH_TIMEOUT));

在相关头文件中找到AT91C_ETH_TIMEOUT的定义,改变他的大小可减小启动速度。但是不知道会不会对uboot有影响

鉴于本人水平有限,以上方法都是本人试出来的,至于修改后导致的今后的启动无法进行或是其他bug,均不负责,有知道bug的欢迎指正

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:320316次
    • 积分:5017
    • 等级:
    • 排名:第5608名
    • 原创:162篇
    • 转载:172篇
    • 译文:1篇
    • 评论:24条
    交流分享
    欢迎大家加入QQ群:469897460 一起来分享交流技术
    最新评论