天天看點

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

繼續閱讀