Chinaunix首页 | 论坛 | 博客
  • 博客访问: 405607
  • 博文数量: 83
  • 博客积分: 2011
  • 博客等级: 大尉
  • 技术积分: 741
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-04 22:51
文章分类

全部博文(83)

文章存档

2009年(83)

我的朋友

分类: LINUX

2009-08-08 17:18:10

uboot 配置文件中的宏有两大类。include/configs/mini2440.h
 
一类为选项。前缀为CONFIG_
用于选择CPU, SOC, 开发板类型。如
/*
 * High Level Configuration Options
 * (easy to change)
 */
#define CONFIG_ARM920T          1       /* This is an ARM920T Core      */
#define CONFIG_S3C2410          1       /* in a SAMSUNG S3C2410 SoC     */
#define CONFIG_SMDK2410         1       /* on a SAMSUNG SMDK2410 Board  */
/* input clock of PLL */
#define CONFIG_SYS_CLK_FREQ     12000000/* the SMDK2410 has 12MHz input clock */
 
#define CONFIG_DRIVER_CS8900    1       /* we have a CS8900 on-board */
一类为参数, 前缀为CFG_
用于设置malloc 缓冲池的大小, uboot下载文件的地址,flash开始地址等.如:

/*
 * Size of malloc() pool
 */
#define CFG_MALLOC_LEN          (CFG_ENV_SIZE + 128*1024)
#define CFG_GBL_DATA_SIZE       128     /* size in bytes reserved for initial data */
#define CFG_LOAD_ADDR           0x33000000      /* default load address */
/* valid baudrates */
#define CFG_BAUDRATE_TABLE      { 9600, 19200, 38400, 57600, 115200 }
#define CFG_MAX_FLASH_SECT      (11)    /* max number of sectors on one chip */

CONFIG_主要用来选择uboot的功能,选择使用文件中的哪一部分。
CFG 用来设置更小的细节。
 
如:/driver/cs8900.c
#ifdef CONFIG_DRIVER_CS8900
。。。实际驱动代码
 
#endif  /* CONFIG_DRIVER_CS8900 */
只有定义了CONFIG_DRIVER_CS8900
驱动代码才有效.
阅读(2931) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

犀利哥的故事2012-09-26 18:04:07

这个配置文件的宏是怎么与其他文件联系起来的了?我们不用加入这个配置头文件为何一样可以用这个宏?