实验目的和要求:
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/
依次输入下面命令:
# 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/