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

时间:2022-08-20 20:12:14

实验目的和要求:

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/
嵌入式内核与文件系统烧写嵌入式内核与文件系统烧写嵌入式内核与文件系统烧写嵌入式内核与文件系统烧写嵌入式内核与文件系统烧写嵌入式内核与文件系统烧写嵌入式内核与文件系统烧写