u-boot 配置文件





一、配置文件名称和目录

这个配置文件的名称为   开发板名称.txt。
这个配置文件的目录为   include/configs/  目录。


二、宏定义




整个文件的内容使用条件宏定义    




#ifndef __CONFIG_H
#define __CONFIG_H


xxxxxxxx
xxxxxxxx
xxxxxxxx


#endif  /* __CONFIG_H */




来包含起来。








三、内容


1、定义CPU类型和开发板型号


定义    CPU 的体系结构:
#define CONFIG_MIPS32       1   /* MIPS32 CPU core */          
定义    CPU 的家族
#define CONFIG_ClxRISC      1   /* ClxRISC core */
定义   CPU  的型号
#define CONFIG_CQ8401       1   /* Clx8401 Soc */
定义  开发板的名称
#define CONFIG_MINGDDIE     1   /* Mingddie board */




2、设置时钟频率




#define CFG_HZ          CFG_EXTAL 
这个     CFG_HZ  宏定义在    net/net.c  文件中使用到了。




3、定义串口频率


#define CFG_BAUDRATE_TABLE  { 9600, 19200, 38400, 57600, 115200 }
在这个目录下的每个配置文件都需要定义,一般不改变,在 common/cmd_nvedit.c 文件中需要使用到。


此  宏定义   是串口要设置的   比特率。
#define CONFIG_BAUDRATE     115200


此  宏定义  指明串口 比特率可以改变。
#define CFG_LOADS_BAUD_CHANGE   1   /* allow baudrate change    */


此  宏定义  指明串口  下载显示进度,可以不定义,但是大多数都进行了定义。
#define CONFIG_LOADS_ECHO   1   /* echo on for serial download  */




4、定义u-boot的命令


#define CONFIG_COMMANDS     (CONFIG_CMD_DFL | \
                 CFG_CMD_ASKENV | \
                 CFG_CMD_DHCP   | \
                 CFG_CMD_PING   | \
                 CFG_CMD_IDE    | \
                 CFG_CMD_PCI    | \
                 CFG_CMD_EXT2FS | \
                 CFG_CMD_EXT2   | \
                 CFG_CMD_NET & ~CFG_CMD_FLASH)


可以自己添加,具体添加命令的步骤,可以参考《u-boot命令的添加》。




/* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
#include <cmd_confdefs.h>
包含    cmd_confdefs.h  这个头文件,必须在   CONFIG_COMMANDS  这个宏定义之后。


5、定义环境变量


#define CONFIG_BOOTDELAY    3
#define CONFIG_BOOTFILE     "vmlinux-26"    /* file to load */
#define CONFIG_BOOTARGS     "mem=64M console=tty0 console=ttyS0,115200n8 ip=192.168.4.118 root=/dev/nfs nfsroot=192.168.4.120:/opt/cq8401 rw"
#define CONFIG_BOOTCOMMAND  "set serverip 192.168.4.120; set ipaddr 192.168.4.118; tftp;bootm;"


#define CFG_AUTOLOAD        "n" /* No autoload */


#define CONFIG_NET_MULTI
#define CONFIG_ETHADDR      00:50:c2:1e:af:3e   /* Ethernet address */










6、定义杂项


定义命令的  HELP 信息的显示。
#define CFG_LONGHELP            /* undef to save memory      */




定义u-boot命令行的提示符。
#define CFG_PROMPT      "Mingddie # "   /* Monitor Command Prompt    */


定义u-boot 命令行的   I/O Buffer  大小。
#define CFG_CBSIZE      256     /* Console I/O Buffer Size   */


定义u-boot  命令行  可显示的   Buffer 大小。
#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16)   /* Print Buffer Size */


定义u-boot 的命令最多有多少个参数。
#define CFG_MAXARGS     16      /* max number of command args */




定义  内存 布局的   MALLOC 和  BOOTPARAMS 段的长度。
#define CFG_MALLOC_LEN      128*1024
#define CFG_BOOTPARAMS_LEN  128*1024


定义   SDRAM  的起始地址。
#define CFG_SDRAM_BASE      0x80000000  /* Cached addr */


定义  初始化时的   栈指针在    SDRAM 中的偏移。
#define CFG_INIT_SP_OFFSET  0x400000


定义下载内核的   加载地址。
#define CFG_LOAD_ADDR       0x80700000  /* default load address  */


定义   u-boot 命令  mtest 的起始地址和结束地址。
#define CFG_MEMTEST_START   0x80100000
#define CFG_MEMTEST_END     0x80800000


定义  CQ8401 开发板网卡的   接收和发送   buffer 数目。
#define CFG_RX_ETH_BUFFER   16  /* use 16 rx buffers on clx eth */






7、定义  FLASH 的配置


定义  FLASH 的 BANK 数目。
#define CFG_MAX_FLASH_BANKS 1   /* max # of memory banks    */


选择  FLASH 的初始化和读写函数。
#define CFG_FLASH_CFI       1   /* flash is CFI conformant  */
#define CFG_FLASH_CFI_DRIVER    1   /* use common cfi driver    */


设置  FLASH 的基本物理特性,初始化时使用。
#define CFG_FLASH_USE_BUFFER_WRITE 1    /* use buffered writes (20x faster) */
#define CFG_MAX_FLASH_SECT  128 /* max # of sectors on one chip */
#define PHYS_FLASH_SECT_SIZE    (128*1024)  /* Size of a sector (128kB) */


#define PHYS_FLASH_1        0xbf000000  /* Flash Bank #1 */
#define CFG_FLASH_BASE      PHYS_FLASH_1    /* Flash at 0xbf000000 - 0xbfffffff */




定义  Monitor 的长度和基地址。
#define CFG_MONITOR_BASE    0xbfc00000
#define CFG_MONITOR_LEN     (256*1024)  /* Reserve 256 kB for Monitor */


定义   Flash 的读写超时。
#define CFG_FLASH_ERASE_TOUT    (20*CFG_HZ) /* Timeout for Flash Erase */
#define CFG_FLASH_WRITE_TOUT    (20*CFG_HZ) /* Timeout for Flash Write */






定义环境变量是否保存在    Flash 中,选择   环境变量保存的介质,不同的介质,选择common/目录下不同的函数。
#define CFG_ENV_IS_IN_FLASH 1


还可以选择
CFG_ENV_IS_IN_DATAFLASH   这个宏定义了  环境变量  是  Environment is in DataFlash
CFG_ENV_IS_IN_EEPROM      /* Environment is in EEPROM */
CFG_ENV_IS_IN_FLASH       /* Environment is in Flash */
CFG_ENV_IS_IN_NAND        /* Environment is in Nand Flash */
CFG_ENV_IS_NOWHERE        /* Environment is nowhere */
CFG_ENV_IS_IN_NVRAM       /* Environment is in NVRAM */




定义环境变量所占用空间的总大小。
#define CFG_ENV_SECT_SIZE   0x20000 /* Total Size of Environment Sector */
#define CFG_ENV_SIZE        CFG_ENV_SECT_SIZE


定义环境变量保存的起始地址。
#define CFG_ENV_ADDR        (CFG_MONITOR_BASE + CFG_MONITOR_LEN)    /* Environment after Monitor */


定义   u-boot 命令   tftp 命令执行时是否可以读写  flash。
#define CFG_DIRECT_FLASH_TFTP   1   /* allow direct tftp to flash */


定义   u-boot 命令  setenv 命令执行时是否可以设置    (ethaddr)和(serial#)环境变量。
#define CONFIG_ENV_OVERWRITE    1   /* allow overwrite MAC address */








8、  定义    SDRAM 的配置


定义   SDRAM 的  BANK 数目。
#define CONFIG_NR_DRAM_BANKS    1


// SDRAM paramters
#define SDRAM_BW16      0       /* Data bus width: 0-32bit, 1-16bit */
#define SDRAM_BANK4     1       /* Banks each chip: 0-2bank, 1-4bank */
#define SDRAM_ROW       13      /* Row address: 11 to 13 */
#define SDRAM_COL       9  /* Column address: 8 to 12 */    /* 9 for 64M , 10 for 128M */
#define SDRAM_CASL      2       /* CAS latency: 2 or 3 */


//#define CFG_COL_NUMS  SDRAM_COL-1     /* SDRAM Columns number, this parameter useful the DRAM    
size, 8 for 64M, 9 for 128M */
// SDRAM Timings, unit: ns
#define SDRAM_TRAS      45      /* RAS# Active Time */
#define SDRAM_RCD       20      /* RAS# to CAS# Delay */
#define SDRAM_TPC       20      /* RAS# Precharge Time */
#define SDRAM_TRWL      7       /* Write Latency Time */
#define SDRAM_TREF          7812    /* Refresh period: 8192 refresh cycles/64ms */






9、  定义   CACHE 的配置




定义  Data Cache 大小。
#define CFG_DCACHE_SIZE     16384


定义  指令   Cache 大小。
#define CFG_ICACHE_SIZE     16384


定义  Cache line 大小。
#define CFG_CACHELINE_SIZE  32



















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值