嵌入式内核与文件系统烧写

实验目的和要求:

1、掌握嵌入式Linux内核与文件系统的烧写过程。 2、掌握Linux系统的构建过程。 

实验内容与分析设计


1、实验前的软硬件环境需求:软件:超级终端、FlashFXP、TFTP32.EXE、SJF6410.exe 驱动:GIVEIO 驱动硬件:UP-CUP6410-II 平台、12V 电源线、串口线、网线、JTAG 并口 2、使用tftp或者dnw对内核与文件系统进行烧写。
3、写出实验报告及相关过程。 


实验步骤与调试过程

烧写内核:
步骤一:利用 dnw软件将内核文件 zImage 烧写如 SDRAM 地址为 c0008000:
            # dnw c0008000 zImage
步骤二:将 NANDFLASH 起始地址为 0x40000 开始处大小为 0x200000 的空间擦除,擦出大小根据实际烧写大小 设置。
             # nand erase 40000 200000
步骤三:从 SDRAM 的 0xc0008000 地址处,向 NANDFLASH 起始地址为 0x40000 写入大小为 0x200000 的文件内容。
             # nand write c0008000 40000 200000


烧写文件系统:
步骤一:使用dnw软件将文件系统 rootfs_up6410.cramfs 下载到 SDRAM 的 0xc0008000 地址处
            # dnw c0008000 rootfs_up6410.cramfs
步骤二:将 NANDFLASH 上 0x300000 起始地址处 0xf00000 大小的空间擦除
            # nand erase 300000 f00000
步骤三:将 SDRAM 上 0xc0008000 地址开始的内容烧写到 NANDFLASH 的 0x300000 起始地址,大小为 0xf00000,
           # nand write c0008000 300000 f00000
步骤四:使用FlashFXP将yaffs.tar.bz2传送到开发板6410的临时文件目录/tmp下,
            步骤如下:
            将开发板和宿主机的ip地址都设置为192.168.1.199,建立会话,开始传输
步骤五:
           正式烧写:打开超级终端输入以下命令:
步骤六:
          烧写测试:依次输入下面命令:


# ifconfig eth0 192.168.1.199
[root@UP-TECH yaffs]# cd /tmp/

[root@UP-TECH tmp]# ls
ftp syslogd.pid vsftpd.log yaffs.tar.bz2 messages utmp wtmp
 将yaffs.tar.bz2解压缩到/mnt/yaffs 文件目录下 ,并编译
[root@UP-TECH tmp]# tar xjvf yaffs.tar.bz2 -C /mnt/yaffs/ ./config/
./config/resolv.conf
屏幕输出:

./config/HOSTNAME
./demo/
./demo/test_lcd/ ./demo/test_lcd/hz16 ./demo/test_lcd/test.sh ./demo/test_lcd/lcd_demo ./demo/test_sound/



实验结果

内核烧写成功,可以开机;
文件系统烧写成功,能打开文件目录;

疑难小结

1、嵌入式Linux内核与文件系统的烧写过程,较为抽象,烧写内核的cash位置以及烧写文件大小不好把握。 2、掌握Linux系统的构建过程,较为繁琐,由于u-boot烧写难度风险较大,所以未进行u-boot烧写实验。

主要算法和程序清单:

烧写内核:
依次输入下面命令:
            # dnw c0008000 zImage
            # nand erase 40000 200000
            # nand write c0008000 40000 200000








烧写文件系统:
依次输入下面命令:
            # dnw c0008000 rootfs_up6410.cramfs
           # nand erase 300000 f00000
           # nand write c0008000 300000 f00000
          烧写测试:依次输入下面命令:


# ifconfig eth0 192.168.1.199
[root@UP-TECH yaffs]# cd /tmp/

[root@UP-TECH tmp]# ls
ftp syslogd.pid vsftpd.log yaffs.tar.bz2 messages utmp wtmp
[root@UP-TECH tmp]# tar xjvf yaffs.tar.bz2 -C /mnt/yaffs/ ./config/
./config/resolv.conf
屏幕输出:

./config/HOSTNAME
./demo/
./demo/test_lcd/ ./demo/test_lcd/hz16 ./demo/test_lcd/test.sh ./demo/test_lcd/lcd_demo ./demo/test_sound/



作者:
出处:http://www.cnblogs.com/ChenYilong/(点击RSS订阅)
本文版权归作者和博客园共有,欢迎转载,
但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/ChenYilong/p/2808604.html