zoukankan      html  css  js  c++  java
  • uboot的mtd功能支持

    一、概述

    1、MTD

      MTD是Flash的一种管理方法,将Flash划分成几个分区,便于管理。

      u-boot的MTD功能是在文件cmd_jffs2.c中实现的,由此我们可以知道怎样打开u-boot的MTD功能。

    2、MTD的作用

      (1)对Flash构建了分区表,从而能够启动linux系统

      (2)nand命令可以使用宏参数,例如“nand read.jffs2 0x30007FC0 kernel;”命令中的kernel,kernel参数

         代表了内核分区的加载地址和大小。

    二、移植

      整个操作都是对TQ2440.h的修改。

    1、使能MTD功能、定义MTD分区表

    /*
     * config mtd settings
     */     
    #define CONFIG_JFFS2_CMDLINE 1
    #define CONFIG_JFFS2_NAND    1
    
    #define MTDIDS_DEFAULT            "nand0=nandflash0"
    #define MTDPARTS_DEFAULT        "mtdparts=nandflash0:256k@0(bios)," 
                                        "128k(params)," 
                                        "128k(toc)," 
                                        "512k(eboot)," 
                                        "1024k(logo)," 
                                        "3m(kernel)," 
                                        "-(root)" 
    
    #define CONFIG_EXTRA_ENV_SETTINGS      
        "mtdids="    MTDIDS_DEFAULT            "" 
        "mtdparts="    MTDPARTS_DEFAULT        ""

    2、使能JFFS2功能(MTD功能是在JFFS2功能打开的前提下才能进一步使能)

    /***********************************************************
     * Command definition
     ***********************************************************/
    #define CONFIG_COMMANDS 
                (CONFIG_CMD_DFL     | 
                CFG_CMD_CACHE     | 
                CFG_CMD_NAND     | 
                /*CFG_CMD_EEPROM |*/ 
                /*CFG_CMD_I2C     |*/ 
                /*CFG_CMD_USB     |*/ 
                CFG_CMD_JFFS2     | 
                CFG_CMD_DATE     | 
                CFG_CMD_REGINFO  | 
                CFG_CMD_PING     | 
                CFG_CMD_ELF)

    三、移植遇到的问题及解决

      如果出现“mtdparts variable not set”问题,这是由于环境变量mtdparts没设置的缘故,我们可以在默认环境变量区中添加这样的环境变量。默认环境变量的定义是common/environment.c中的全局变量“environment”。

      添加环境变量的方法很简单,还是在TQ2440.h中添加,代码如下。

    #define CONFIG_EXTRA_ENV_SETTINGS      
        "mtdids="    MTDIDS_DEFAULT            "" 
        "mtdparts="    MTDPARTS_DEFAULT        ""

      

  • 相关阅读:
    数据收集
    数据展现
    一场媲美“超女”海选的招聘狂潮
    时机论:早起的鸟儿也要选对“用户”季节
    程序设计实践(评注版) 评注者序
    “三低”用户养活的互联网
    芯故事 心感动:英特尔企业文化的力量
    初始化游戏状态数据
    初始化游戏状态数据二
    几个常用的JavaScript字符串处理函数 – split()、join()、substring()和indexOf()
  • 原文地址:https://www.cnblogs.com/amanlikethis/p/3636876.html
Copyright © 2011-2022 走看看