zoukankan      html  css  js  c++  java
  • 嵌入式内核与文件系统烧写

    实验目的和要求:

    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订阅)
    本文版权归作者和博客园共有,欢迎转载,
    但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    微服务架构常见解决方案
    摆脱他人的期望,成为真正的自己
    Git忽略提交规则
    JPA多数源的一种方式
    jquery设置的cookie过期时间关闭浏览器就失效
    使用jQuery操作Cookies的实现代码(转)
    Linux下查看文件和文件夹大小
    nginx下默认403 80端口
    linux下 nginx服务脚本
    一串代码在linux上安装nginx
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/2808604.html
Copyright © 2011-2022 走看看