Bboot和Kinux Kernel 初调试

首先是把u-boot下载并烧到了nandflash中,对于smdk2440来说,有两种方式烧到裸机的nand中,

1  在linux下,用厂家提供的JFS2440,执行

sudo ./JFS2440 /work/system/uboot.bin /t=5 然后安 0 回车  ,再安  0  回车,等待……组后安  2  回车 即可

查看成功与否,在终端下输入 sudo kermit -c (链接串口)。如果出现班子的root,即说明u-boot能用,且         有开机logo;

2  在xp下,直接norflash 启动,在超级终端下,选择a选项(用usb下载),找到要下载的u-boot即可

ok,现在把u-boot下进去了,我迈进了一步,现在准备让u-boot启动linux 内核,

3   我用的友善之臂提供的内核,但在下载前,要先处理一下,用命令 mkimage -n 'tekkaman' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage zImage.img  把内核作成在0x30008040起始。

4    还是用串口 sudo kermit -c ,进入班子的u-boot,用串口传输命令,loadb,然后输入Ctrl+\,按 c 进入 传输界面,输入 send /home/sea/code/zImage.img   回车,等待传输……

5    传完后,这是内核镜像在内存中,起始地址是0x30008000  要把它烧入nandflash,如下命令

nand erase 0x100000 300000  从nandflsh   0x10000处擦除3M(内核大小为2.5M)前1M存放u-boot

nand write 0x30008000 0x100000 300000  把从0x30008000处的内容写到0x10000处,写3M

nand device 0

nboot 30008000 0 0x100000  为了下次能自启动内核写入下两行命令:

set bootcmd 'nboot 0xnboot 30008000 0 0x100000;bootm 0x30008000'

saveenv

bootm 0x30008000  启动内核,大功告成

不过启动后进入的界面并不友好,说实话我也不知道进到了哪里,是没有构建根文件系统,还是内核不对,等到明天在调试。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwpygy.html