关于uboot的一些优化

摘要:
&&);在相关头文件中找到AT91C_ETH_TIMEOUT的定义,改变他的大小可减小启动速度。但是不知道会不会对uboot有影响鉴于本人水平有限,以上方法都是本人试出来的,至于修改后导致的今后的启动无法进行或是其他bug,均不负责,有知道bug的欢迎指正

转载于: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.c2634int 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_TIMEOUT30000改为#define AT91C_ETH_TIMEOUT3无法启动

(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的欢迎指正

免责声明:文章转载自《关于uboot的一些优化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇图片批量上传,并生成缩略图demospringboot多环境下的自定义配置文件,并读取到常量下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

收录 Uboot 详解

--------------------------------------------------------------------------------------------------------  我们知道,bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。     在PC机上引导程序一般...

迅为-IMX6Q开发-非设备树uboot-修改默认环境变量

iTOP-iMX6 开发板烧写好之后,默认是 android 系统 9.7 寸屏幕的系统参数和屏幕参数。如下图。本文档主要介绍如何修改默认启动参数。 70.1  重要的环境变量 比较重要的环境变量或者说经常使用的环境变量,已经在上图中的红色方框中。 主要是:bootsystem、lcdtype 和 bootargs。这些参数都可以在 uboot 源码中进...

uboot的relocation原理详细分析

转自:http://blog.csdn.net/skyflying2012/article/details/37660265 最近在一直在做uboot的移植工作,uboot中有很多值得学习的东西,之前总结过uboot的启动流程,但uboot一个非常核心的功能没有仔细研究,就是uboot的relocation功能。 这几天研究下uboot的reloca...

迅为4412开发板入门准备

一、硬件连接 4412开发板的HDMI口,小HDMI口输出HDMI信号,大HDMI口用来连接各种屏(只是用了HMDI的线,并不是标准的HDMI)。 二、安装超级终端 首先需要安装USB转串口,可以是CH340驱动,或者是PL2303驱动。连接硬件时也要注意,精英版的调试串口是串口2。连接串口1没有信号。 然后安装hyperterminal(超级终端v2.4...

2440移植内核到uboot上,打印乱码

转载请注明出处:http://blog.csdn.net/qq_26093511/article/details/51851368 可能原因: 1、 修改内核 里的晶振大小 archarmmach-s3c24xxmach-smdk2440.c s3c24xx_init_clocks(16934400); 改为 s3c24xx_init_clocks(12...

uboot启动后在内存中运行裸机程序hello

如题,实现过程中发现3额问题,先写下来,待解答: 1、uboot启动后再dnw上打印许多信息,我想改变其中的打印信息或加上自己的打印信息以证明程序运行到何处。修改完后重新编译uboot.bin。 在DNW下执行dnw 50008000 USB下载uboot.bin到内存50008000处, go 50008000,从内存50008000处运行我刚下载的程序...