zoukankan      html  css  js  c++  java
  • 嵌入式系统移植三部曲 刘莹

    姓名:刘莹  班级:应用一班  学号:0906041036


    嵌入式系统移植三部曲

    一,bootloader的移植

    二,linux内核的编译

    三,根文件系统的移植

    第一步:安装SkyEye

    第二步:Bootloader的移植

    1,建立交叉编译环境解压解压arm-linux-gcc-2.95.3.tar.bz2到/usr/local/arm/中

    2,解压Bootloader:u-boot-1.1.4,开始bootloader的移植

    3,编辑u-boot根目录中的Makefile文件

    4,复制必要的文件,编辑ok2410.h头文件

    5,编辑board/ok2410/Makefile文件

    6,配置、编译u-boot

    7,编辑skyeye.conf文件

    8,执行skyeye1.2.6

    9,开始移植nand

    10,修改board/ok2410/Makefile

    11,创建board/ok2410/nand_read.c文件

    12,编辑include/configs/ok2410.h文件

    13,编译u-boot,然后测试u-boot是否可以从nand启动

    14,编辑include/configs/ok2410.h文件

    15,编辑board/ok2410/ok2410.c文件

    16,修改 common/cmd_nand.c文件

    17,编译、测试

    第三步:编译linux内核

    1,建立交叉编译环境解压解压arm-linux-gcc-3.4.1.tar.bz2

    2,解压linux-2.6.14.7.tar.bz2,开始移植linux内核

    3,编辑Makefile文件

    4,复制cs8900

    5,修改drivers/net/arm/目录下的Kconfig文件

    6,修改drivers/net/arm/目录下的Makefile文件,

    7,编辑arch/arm/mach-s3c2410/mach-smdk2410.c文件

    8,在include/asm-arm/arch-s3c2410/目录下创建smdk2410.h文件

    9,设置Flash分区

    10,配置内核

    11,编译内核,创建uImage,将uImage复制到tftp服务器的根目录(/tftpboot/)

    12,执行skyeye1.2.6,通过u-boot-1.1.4引导linux-2.6.14.7

    13,搭建tftp服务器

    14,创建uimag放置在TFTP服务器根目录

    第三步:文件系统的移植

    busybox,yaffs2根文件系统的建立,搭建nfs服务器

    实验中的错误分析:

    1,mknandflashdump u-boot.bin nand.dump 0命令找不到

    将此命令放在U-boot文件夹下

    2,[root@localhost u-boot-1.1.4]# skyeye1.2.6 出现TTTTT

    *** Warning - bad CRC or NAND, using default environment

     

    In:    serial

    Out:   serial

    Err:   serial

    Hit any key to stop autoboot:  0

    TFTP from server 10.0.0.1; our IP address is 10.0.0.110

    Filename 'uImage'.

    Load address: 0x31000000

    Loading: checksum bad

    T T T T T T T T T T

    Retry count exceeded; starting again

    此时是tftp服务器没有搭建,需要对tftp进行搭建,同时对其权限进行修改,

    #chmod-R 755 /tftpboot;

    3,在uboot命令行提示符下显示:如31000000 bad magic number

    表示擦写nand flash或读nandflash的地址不一致

    4,selinux提供的安全机制问题,导致下载不成,这时进行如下设置:

    # getsebool -a|grep tftp

    allow_tftp_anon_write --> off

    allow_tftp_anon_write--> off

    tftpd_disable_trans --> off

    #setsebool -P allow_tftp_anon_write =1

    #setsebool -P allow_tftp_anon_write=1

    #setsebool -P tftpd_disable_trans=1

    5,每次重启电脑后都要重新启动nfs

    # service nfs start

    # iptables -F

     

        http://blog.chinaunix.net/space.php?uid=14735472&do=blog&id=110947



    <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
    阅读(542) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~
    评论热议
  • 相关阅读:
    js设计模式——代理模式
    js设计模式——策略模式
    js设计模式——单例模式
    Krpano vtourskin.xml 默认皮肤详解
    通过JS动态切换大场景xml
    krpano 户型地图雷达
    微信小程序开发
    CSS3的calc()使用
    Yslow
    微信分享
  • 原文地址:https://www.cnblogs.com/ztguang/p/12647528.html
Copyright © 2011-2022 走看看