zoukankan      html  css  js  c++  java
  • u-boot修改出错的问题

    一、u-boot找不到nandflash

      我用的开发板是fl2440的,里面没有norflash只有nandflash。我用了s3c2410的u-boot改的,所以要把内核从norflash启动改成适合我fl2440的从nandflash启动。我开始做u-boot的,make不会出错但烧录的时候总是报错说u-boot不能找到nandflash。这个问题只是我在fl2440.h的头文件中没有去掉s3c2410头文件的支持。

    在这里我虽然定义了S3C2440与FL2440的头文件,可是同时在没有去掉S3C2410与SMDK2410的头文件定义,因此在nand_read.c的文件中如下地方:

      make时系统就会将norflash支持的代码编译进u-boot而不会编译nandflash支持的代码。

      这时我们只需要把S3C2440与FL2440的头文件从fl2440.h中去掉就可以了。不过要注意的是,改动fl2440.h之后要先make distclean再make fl2440_config,然后才能make编译。

    二、添加u-boot的环境变量:

      我做出来的u-boot烧录进去之后并没有开机启动倒数,也就是说u-boot并不能找到内核启动的地址,也就是u-boot中并没有设置bootcmd来告诉u-boot内核所在的地址:

      如图是我做出来的u-boot环境变量:

    如图是有bootcmd的u-boot环境变量:

    首先我们要在common/env_common.c文件中添加环境变量支持:

    然后在include/configs/fl2440.h的头文件中添加宏定义支持:

    改了头文件按上面的步骤:make distclean --> make fl2440_config --> make

    烧录之后就有内核的倒数3秒启动内核了。

    总结一下我们要改环境变量就先在common/env_common.c文件中添加环境变量的支持,然后再去include/configs/fl2440.h下添加宏定义。

  • 相关阅读:
    Nginx配置文件的路径
    有关Tomcat 8.5版本文件上传后无权限访问的问题
    常见HTTP状态码列表
    服务器BMC(带外)
    CDN问题
    PECE
    linux系统概述
    干货--整蛊你的舍友
    arp请求与回复
    huawei oceanstor
  • 原文地址:https://www.cnblogs.com/xiaohexiansheng/p/5401409.html
Copyright © 2011-2022 走看看