天天看点

uboot 配置文件

一、配置文件名称和目录

 这个配置文件的名称为   开发板名称.txt。

 这个配置文件的目录为   include/configs/  目录。

二、宏定义

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

#ifndef __CONFIG_H

#define __CONFIG_H

 xxxxxxxx

 xxxxxxxx

 xxxxxxxx

#endif 

来包含起来。

三、内容

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

定义    CPU 的体系结构:

#define CONFIG_MIPS32       1            

定义    CPU 的家族

#define CONFIG_ClxRISC      1  

定义   CPU  的型号

#define CONFIG_CQ8401       1  

定义  开发板的名称

#define CONFIG_MINGDDIE     1  

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  

此  宏定义  指明串口  下载显示进度,可以不定义,但是大多数都进行了定义。

#define CONFIG_LOADS_ECHO   1  

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命令的添加》。

#include <cmd_confdefs.h>

包含    cmd_confdefs.h  这个头文件,必须在   CONFIG_COMMANDS  这个宏定义之后。

5、定义环境变量

#define CONFIG_BOOTDELAY    3

#define CONFIG_BOOTFILE     "vmlinux-26"   

#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"

#define CONFIG_NET_MULTI

#define CONFIG_ETHADDR      00:50:c2:1e:af:3e  

6、定义杂项

定义命令的  HELP 信息的显示。

#define CFG_LONGHELP           

定义u-boot命令行的提示符。

#define CFG_PROMPT      "Mingddie # "  

定义u-boot 命令行的   I/O Buffer  大小。

#define CFG_CBSIZE      256    

定义u-boot  命令行  可显示的   Buffer 大小。

#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16)  

定义u-boot 的命令最多有多少个参数。

#define CFG_MAXARGS     16     

定义  内存 布局的   MALLOC 和  BOOTPARAMS 段的长度。

#define CFG_MALLOC_LEN      128*1024

#define CFG_BOOTPARAMS_LEN  128*1024

定义   SDRAM  的起始地址。

#define CFG_SDRAM_BASE      0x80000000 

定义  初始化时的   栈指针在    SDRAM 中的偏移。

#define CFG_INIT_SP_OFFSET  0x400000

定义下载内核的   加载地址。

#define CFG_LOAD_ADDR       0x80700000 

定义   u-boot 命令  mtest 的起始地址和结束地址。

#define CFG_MEMTEST_START   0x80100000

#define CFG_MEMTEST_END     0x80800000

定义  CQ8401 开发板网卡的   接收和发送   buffer 数目。

#define CFG_RX_ETH_BUFFER   16 

7、定义  FLASH 的配置

定义  FLASH 的 BANK 数目。

#define CFG_MAX_FLASH_BANKS 1  

选择  FLASH 的初始化和读写函数。

#define CFG_FLASH_CFI       1  

#define CFG_FLASH_CFI_DRIVER    1  

设置  FLASH 的基本物理特性,初始化时使用。

#define CFG_FLASH_USE_BUFFER_WRITE 1   

#define CFG_MAX_FLASH_SECT  128

#define PHYS_FLASH_SECT_SIZE    (128*1024) 

#define PHYS_FLASH_1        0xbf000000 

#define CFG_FLASH_BASE      PHYS_FLASH_1   

定义  Monitor 的长度和基地址。

#define CFG_MONITOR_BASE    0xbfc00000

#define CFG_MONITOR_LEN     (256*1024) 

定义   Flash 的读写超时。

#define CFG_FLASH_ERASE_TOUT    (20*CFG_HZ)

#define CFG_FLASH_WRITE_TOUT    (20*CFG_HZ)

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

#define CFG_ENV_IS_IN_FLASH 1

 还可以选择

 CFG_ENV_IS_IN_DATAFLASH   这个宏定义了  环境变量  是  Environment is in DataFlash

 CFG_ENV_IS_IN_EEPROM     

 CFG_ENV_IS_IN_FLASH      

 CFG_ENV_IS_IN_NAND       

 CFG_ENV_IS_NOWHERE       

 CFG_ENV_IS_IN_NVRAM      

定义环境变量所占用空间的总大小。

#define CFG_ENV_SECT_SIZE   0x20000

#define CFG_ENV_SIZE        CFG_ENV_SECT_SIZE

定义环境变量保存的起始地址。

#define CFG_ENV_ADDR        (CFG_MONITOR_BASE + CFG_MONITOR_LEN)   

定义   u-boot 命令   tftp 命令执行时是否可以读写  flash。

#define CFG_DIRECT_FLASH_TFTP   1  

定义   u-boot 命令  setenv 命令执行时是否可以设置    (ethaddr)和(serial#)环境变量。

#define CONFIG_ENV_OVERWRITE    1  

8、  定义    SDRAM 的配置

定义   SDRAM 的  BANK 数目。

#define CONFIG_NR_DRAM_BANKS    1

// SDRAM paramters

#define SDRAM_BW16      0      

#define SDRAM_BANK4     1      

#define SDRAM_ROW       13     

#define SDRAM_COL       9     

#define SDRAM_CASL      2      

//#define CFG_COL_NUMS  SDRAM_COL-1    

// SDRAM Timings, unit: ns

#define SDRAM_TRAS      45     

#define SDRAM_RCD       20     

#define SDRAM_TPC       20     

#define SDRAM_TRWL      7      

#define SDRAM_TREF          7812   

9、  定义   CACHE 的配置

定义  Data Cache 大小。

#define CFG_DCACHE_SIZE     16384

定义  指令   Cache 大小。

#define CFG_ICACHE_SIZE     16384

定义  Cache line 大小。

#define CFG_CACHELINE_SIZE  32

继续阅读