首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

移植LINUX ARM篇(转)(9)

移植LINUX ARM篇(转)(9)

三)修改主要的配置文件。配置选项比较多,主要是配置cpu,波特率,flash和sdram的类型大小,环境变量的偏移量等等,容易出错。应该首先了解硬件情况,仔细对应芯片资料进行修改。
[armlinux@lqm u-boot-1.1.1]$ cd include/configs
[armlinux@lqm configs]$ cp at91rm9200dk.h myboard.h
[armlinux@lqm configs]$ vi myboard.h
//行號和實際的myboard.h的行號有所偏差,認真修改好配置就可以了。
41 #define CONFIG_MYBOARD        1   目标板
65 #define CONFIG_BOOTDELAY      5   u-boot延时等待时间
110 #define CONFIG_NR_DRAM_BANKS 1   sdram banks,我的是一个
111 #define PHYS_SDRAM 0x20000000    sdram起始地址
112 #define PHYS_SDRAM_SIZE 0x2000000  sdram容量32MB
121 #undef CONFIG_HAS_DATAFLASH     未用dataflash
128 #define PHYS_FLASH_1 0x10000000
129 #define PHYS_FLASH_2 0x00000000  定义,flash.c用到,但实际并未起作用
130 #define PHYS_FLASH_SIZE 0x800000 flash容量8MB

131 #define CFG_FLASH_BASE          PHYS_FLASH_1  flash起始地址别名
132 #define CFG_MAX_FLASH_BANKS 1   flash最大banks数
133 #define CFG_MAX_FLASH_SECT 64   扇区总数
134 #define PHYS_FLASH_SECT_SIZE    (128*1024)  每个扇区128KB
135 #define CFG_FLASH_ERASE_TOUT    (2*CFG_HZ) /* Timeout for Flash Erase */
136 #define CFG_FLASH_WRITE_TOUT    (2*CFG_HZ) /* Timeout for Flash Write */
137 #define CFG_FLASH_UNLOCK_TOUT   (2*CFG_HZ)
138
139 #undef  CFG_ENV_IS_IN_DATAFLASH
140
141 #ifdef CFG_ENV_IS_IN_DATAFLASH
142 #define CFG_ENV_OFFSET 0x20000
143 #define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)
144 #define CFG_ENV_SIZE 0x2000  /* 0x8000 */
145 #else
146 #define CFG_ENV_IS_IN_FLASH     1
147 #define CFG_ENV_ADDR (PHYS_FLASH_1 + 0x7e0000)  /* 0x107E0000 */
148 #define CFG_ENV_SIZE 0x20000
环境变量占了一个扇区,共128KB
149 #endif
150
151 #define CFG_SOFT_RESET          1  定义软复位,flash.c用到
152 #define CFG_LOAD_ADDR 0x21000000  /* default load address */
160 #define CFG_PROMPT "U-boot> " 提示符名字,可任意改

[armlinux@lqm configs]$ cd ../..
[armlinux@lqm u-boot-1.1.1]$ make myboard_config
Configuring for myboard board...
[armlinux@lqm u-boot-1.1.1]$ make CROSS_COMPILE=arm-linux-
继承事业,薪火相传
返回列表