uboot烧录和启动Linux2.6.16内核


以下这些在armfans上均有总结。。。

一.uboot烧录

1.传统的烧录方法:调试环境Windows 系统下的ADS1.2 和MultiICE

1)先对NorFlash 进行擦除

2)将u-boot.bin 文件load 到SDRAM 中

2.新的烧录方法:采用Jlink

具体的步骤在阿虚的《SEP4020嵌入式竞赛培训》中armfans中也有),很简单。。。

烧录成功会在开启串口窗口时有显示。用print命令可以显示环境变量,用set可以改变环境变量,

最后要save,哈哈OK

二.映像文件烧写启动Linux2.6.16 内核)

1.内核镜像文件vmlinux.img,并放入tftp 服务器根目录下,然后双击打开TFTP 服务器。正确设

置TFTP 服务器的IP 地址以及根目录。

2. 从宿主机下载内核映像到开发板。执行UBOOT 命令:

=>tftp 30007fc0 vmlinux.img

=>set bootargs root=/dev/nfs rw nfsroot=192.168.0.3:/nfs

ip=192.168.0.2:192.168.0.3:192.168.0.1:255.255.255.0:sep4020:eth0:off

console=ttyS0,115200 mem=32mb

=>set bootcmd tftp 30007fc0 vmlinux.img\;bootm

=>save

=>reset

bootargs 参数是启动时传递给Linux 操作系统的信息

bootargs用来定义传递给Linux内核的命令行参数;

Bootcmd定义自动启动时执行的命令;

bootm10100000表示从0x10100000处引导内核程序

三.内核镜像生成vmlinux.img

这部是应该在前两点前完成的。。。

进入linux目录下

#make menuconfig内核配置界面)

#make生成vmlinux)如果在/arch/arm/boot下没有zImage文件,则make zImage)

#mkimage -n "Kernel 2.6.16" -A arm -O linux -T kernel -C none -a 30007fc0 -e

30008000 -d ./arch/arm/boot/zImage vmlinux.img为内核加uboot头)

注:

#make menuconfig 图形化的内核配置make mrproper -----删除不必要的文件和目录.

#make config基于文本的最为传统的配置界面,不推荐使用)

#make menuconfig基于文本选单的配置界面,字符终端下推荐使用)

#make xconfig基于图形窗口模式的配置界面,Xwindow下推荐使用)

#make oldconfig如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)

相关内容