分类: LINUX
2011-11-30 22:20:30
下一步,将u-boot烧写到开发板
第1种烧写方法:(由于我的笔记本没有并口,烧写没成功)
Part I 使用并口烧写uboot
使用并口连接开发板和PC,并正确安装好并口驱动后,将开发板上电.进入Winxp的cmd模式下:
1: C:\image> sjf2410.exe /f:uboot.bin
这时出现下面显示才表示JTAG找到了CPU,即硬件连接和驱动正常:
+----------------------------------------------+
| SEC JTAG FLASH(SJF) V0.4 |
|
+----------------------------------------------+
S3C2410X(ID=0x0032409d) is detected.
2: Select the function to test: 0 选0->K9S1208 prog
C: Select the function to test: 0 选0->K9S1208 Program
Available target block number: 0~4095
D: Input target block number: 0 选0
STATUS:Epppppppppppppppppp
Eppppppppppppppppppppppppp
Eppppppppppppppppppppppppp
烧完后选2(exit)并重启开发板进入uboot.
Part II 制作和烧写uImage和文件系统
1, crafs.img的制作和烧录:
a. 下载cramfs-1.1.tar.gz,解压缩后进入源文件下make,将生成的mkcramfs文件放到/usr/local/bin下.
制作好我们的根文件系统rootfs,使用下面命令就可以创建cramfs文件系统:
#mkcramfs rootfs cramfs.img
b. uboot烧录cramfs到NandFlash的rootfs区(见linux移植中的分区表):
uboot# nand erase 0x400000 0x600000;tftp 0x30208000 cramfs.img
uboot# nand write.jffs2 0x30208000 0x400000 0x3de000
上面命令的意思是: 从NandFlash的0x400000这个位置(我的根文件系统分区的起始地址)
开始,擦除0x600000 bytes(我的根文件系统分区大小); 接下来使用tftp下载cramfs.img到内存的
0x30208000这个地址上;最后使用nand write.jffs2命令,将内存0x30208000位置开始的cramfs.img
写入到Nandflash的0x400000位置上,写0x3de000个bytes..其中0x3de000为tftp下载image时,
显示的下载的cramfs.img的大小.
2, jffs2.img的制作和烧录:
a, 下载mtd-utils-1.2.0.tar.gz,解压缩编译得到PC上运行的mkfs.jffs2,也可以直接到网上download.将该
工具放到/usr/local/bin下.
#mkdir jffs2
#mkfs.jffs2 -r jffs2 -o jffs2.img -e 0x4000 --pad=0x1B00000 -s 0x200 –n
这样将生成jffs2.img文件,有27M,刚好为我的jffs文件系统所在分区大小.