嵌入式 uboot默认参数的修改

原创 2013年12月02日 14:49:58
由于没有设置uboot参数的分区,只能在uboot源码中修改默认参数以使uboot正常工作。
boot/u-boot/include/configs/ap123.h:
#define __gen_cmd(n, a, f, ec, cc, el) \
#n "=tftp 0x80060000 ${dir}" #f "&&" \
#ec " " #a " " #el "&&" \
#cc " $fileaddr " #a " $filesize\0"
*/
#define __gen_cmd(n, a, f, ec, cc, el) \
#n "=tftp 0x80060000 " #f "&&" \
#ec " " #a " " #el "&&" \
#cc " $fileaddr " #a " $filesize\0"
将${dir}去掉,因为在下载时一般用不带路径的文件名。

//# define ATH_U_FILE tuboot.bin
# define ATH_U_FILE tuboot-router.bin
uboot文件名

//# define ATH_F_FILE ${bc}-jffs2
# define ATH_F_FILE ap123-router-jffs2
jffs2文件系统文件名

//# define ATH_K_FILE vmlinux_${bc}.lzma.uImage
# define ATH_K_FILE vmlinux-router.lzma.uImage
kernel img文件名

//# define ATH_K_ADDR 0x9f300000
# define ATH_K_ADDR 0x9fdd0000
kernel img分区地址

//# define MTDPARTS_DEFAULT "mtdparts=ath-nor0:64k(u-boot),6016k(rootfs),2048k(uImage),6016k(spare_rootfs),2048k(spare_uImage),64k(log),64k(mib0),64k(caldata)"
# define MTDPARTS_DEFAULT "mtdparts=ath-nor0:64k(u-boot),14080k(rootfs),2048k(uImage),64k(log),64k(mib0),64k(caldata)"
分区及其地址的修改

//# define ATH_U_CMD gen_cmd(lu, 0x9f000000, ATH_U_FILE)
# define ATH_U_CMD gen_cmd_el(lu, 0x9f000000, ATH_U_FILE, 0x10000)

//# define ATH_F_CMD gen_cmd_el(lf, ATH_F_ADDR, ATH_F_FILE, ATH_F_LEN)
# define ATH_F_CMD gen_cmd_el(lf, ATH_F_ADDR, ATH_F_FILE, 0xdc0000)

//# define ATH_K_CMD gen_cmd(lk, ATH_K_ADDR, ATH_K_FILE)
# define ATH_K_CMD gen_cmd_el(lk, ATH_K_ADDR, ATH_K_FILE, 0x200000)
确保烧写文件到flash之前,erase分区的全部地址。如果只erase filesize,可能会出错。

//#define CONFIG_BOOTARGS "console=ttyS0,115200 root=" ATH_ROOT_DEV " rootfstype=squashfs init=/sbin/init " MTDPARTS_DEFAULT
#define CONFIG_BOOTARGS "console=ttyS0,115200 root=" ATH_ROOT_DEV " rootfstype=jffs2 init=/sbin/init " MTDPARTS_DEFAULT
文件系统改为jffs2

//# define CONFIG_BOOTCOMMAND "bootm 0x9f5f0000"
# define CONFIG_BOOTCOMMAND "bootm 0x9fdd0000"
kernel启动地址和kernel img分区起始地址一致

//#define CONFIG_IPADDR 192.168.1.1
//#define CONFIG_SERVERIP 192.168.1.10
#define CONFIG_IPADDR 192.168.2.167
#define CONFIG_SERVERIP 192.168.2.165
板子地址和tftp server地址

boot/u-boot/include/configs/ar7100.h:
boot/u-boot/include/configs/ar7240.h:
//#define CONFIG_BOOTDELAY 4
#define CONFIG_BOOTDELAY 2
改了两个文件,但是肯定只有一个文件起作用,不过没必要去深究哪个。
缩短了启动时间

修改后的uboot参数如下:
嵌入式 <wbr> <wbr>uboot默认参数的修改

相关文章推荐

嵌入式 hi3518c默认看门狗没有开启,uboot汇编start.s解析

/*====================================Hi3518c start.S Begin 2014-04-20==============================...
  • skdkjxy
  • skdkjxy
  • 2014年04月20日 17:04
  • 1649

嵌入式 hi3518c裸板烧写uboot简记以及内存初始化寄存器修改技巧

7、加载uboot.bin  J-Link>loadbin g:\3518\uboot_tools\3518a.bin 0x80800000  Loading binary file... [g:...
  • skdkjxy
  • skdkjxy
  • 2014年04月20日 13:49
  • 1135

嵌入式学习-uboot-lesson7-内存初始化

6410所使用的内存为DDR 210使用的是DDR2 2440使用的是SDRAM,关于他们之间的区别,我在以前的文章中ok6410内存及启动流程简单介绍过,有兴趣的可以看看。1. 地址空间S3C641...

OK6410之uboot时钟初始化---嵌入式回归第十一篇

综合前面的博客,设置系统为SVC模式,关闭开门狗,关闭中断,关闭MMU和cache,基地址初始化,点亮一灯大师,这一小节根据前面的架构分析来完成时钟初始化部分。 1. 时钟脉冲信号概念: 时钟脉冲信号...

嵌入式学习-uboot-lesson2-ARM相关知识

1.ARM简介 关于arm的一些概念性的知识,这里就不再说明,因此需要了解三个方面的内容: 架构:ARMV5 ARMV6 ARMV7 内核:ARM9 ARM11 Cortex-A...

嵌入式学习-uboot-lesson4.5-外设基地址初始化

6410不同于2440,在uboot中需要对外设基地址进行初始化。 关于为何要对外设基地址进行初始化,这篇文章有详细说明 设置外设基地址 这个操作是告诉CPU外设的基地址是多少 不同的芯...

sd卡烧写嵌入式uboot/kernel及rootfs

将嵌入式系统文件烧写到sd卡          向sd卡烧写系统文件,使用几个命令即可。使用读卡器将sd卡连接到linux主机。          先介绍烧写文件系统。首先,使用如下命令: $ ...

嵌入式学习-uboot-lesson4.3-关闭看门狗和中断

一、看门狗Watchdog在硬件上实现了计时功能,启动计时后,用户(软件)必须在计时结束前重新开始计时,俗称“喂狗”,如果到超时的时候还没有重新开始计时,那么它就认为系统是死机了,就自动重启系统。 在...

嵌入式学习笔记100-uboot1.1.6初体验

到官网或其他网上下载u-boot-1.1.6.tar.bz2 解压包到相应目录:tar -jxvf u-boot-1.1.6.tar.bz2 -C ../xxxxxx , 我是解压到samba共享的目...

嵌入式S5PV210 硬件DIY uboot ,kernel ,android移植QQ群(27100460)群委员会2013年年终总结

群年终工作总结:     2013年就要完蛋了,不知不觉和大家群居了一年,感觉很好,在即将走过2013年迎来崭新的2014年之际.作为本群一员,现在把一年的工作情况和今后打算汇报如下:在一年里,我们...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 uboot默认参数的修改
举报原因:
原因补充:

(最多只允许输入30个字)