uboot 配置文件

 

一、配置文件名称和目录
 
 这个配置文件的名称为   开发板名称.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

 

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值