S5pv210烧写内核到NANDFLASH

S5pv210烧写内核到NANDFLASH

tinys5pv210的开发板利用u-boot中的nand命令把SDRAM中的uImage烧写到nandflash的第3块分区,地址0x60000-0xC00000,共5M

步骤:

1.加载uImageSDRAM

              tftp 0x20008000 uImage

uImage加载到SDRAM0x20008000处,采用tftp服务。

2.擦除nandflash0x60000开始的5M大小的块,用来存储kernel,必须擦除之后再写入。

              nand erase 0x600000 0x500000

3.SDRAM0x20008000开始的内容写5M大小到nandflash中,此时就完成了把uImage烧写进了nandflash中。

              nand write 0x20008000 0x600000 0x500000

4.设置开发板的启动参数,这是U-BOOT的启动参数,放在nand的第1块分区,256k

              setenv bootcmd nand read 0x20008000 0x600000 0x500000\;bootm 0x20008000

5.保存设置参数。

              Saveenv

附录:

本实验采用tftp加载uImageSDRAM中去,所以有两点:1.tftp服务器的安装。2.uImage的制作。

1.tftp服务器的安装。

             sudo apt-get install tftpd-hpa tftp-hpa

                 在PC机上安装tftpd-hpa服务器。

                 注意:如果提示没有这个包,执行sudo apt-get update

                 配置tftpd-hpa服务器程序的服务目录:

             cd[回车]进入~目录

             mkdir tftpboot

             cd /etc/default

             sudo vi tftpd-hpa

                 修改TFTP_DIRECTORY="/home/akaedu/tftpboot",保存退出

             sudo ervice tftpd-hpa restart重启服务

重启时看到进程id才算成功,比如:tftpd-hpastart/running, process 2807

如果没有启动服务器,原因是:

a.网线断开了。

b.tftp的服务目录tftpboot还未创建。

测试服务器是否可以下载文件了:

           cd  /home/akaedu/tftpboot

           vi1.c创建一个文件,内容随便写

           chmod777 1.c

           cd  /tmp

           tftp127.0.0.1

           tftp>get 1.c

           tftp>quit

           ls1.c看文件是否存在

           vim1.c看文件内容是否一样

2.uImage的制作:

                安装包sudo apt-get install libncurses5-dev

            make    menuconfig

                选中网卡驱动

            make编译内核

安装制作uImage的工具:

           sudo  apt-get  install  uboot-mkimage

制作uImage

           mkimage -n "linux-2.6.35.7"  -A  arm  -O  Linux  -T  kernel  -C  none  -a 0x20008000  -e  0x20008040  -d  zImage uImage

           tftp   0x20008000  uImage意思是把uImage文件通过tftp客户端下载到开发板内存地址0x20008000

           bootm  0x20008000启动内核,如果没有根文件系统就会报错 

你可能感兴趣的:(嵌入式linux开发)