ARM仿真器-foxICE 设为首页   |   加入收藏夹   |   网站地图         
  站内搜索:
 
http://www.foxice.net
最新下载_foxICE
ARM7TDMI R3内核
ARM7EJS内核
ARM946E-S内核
ARM966E-S内核
ARM9TDMI内核
ARM940T内核
ARM指令集速查卡
ARM925T内核(TI925T)

更多 >> 

 技术专栏RSS订阅

   首页>技术专栏>U-boot>VxWorks 的bootrom 到u-boot 的移植心得

VxWorks的bootrom 到u-boot的移植心得

作者:不详 1  2  3  4  5  6  7  8  9  10  11

#define CFG_INIT_RAM_END 0x10000 /*初始化需要的数据结构存放在内存中的结束地址*/
#define CFG_GBL_DATA_SIZE 256 /*初始化需要的数据结构长度*/
#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET /*堆栈指针,堆栈向下生长,事实上对于sandpoint 板来说,这个宏定义没有意义,因为它只在BMW 板标志CONFIG_BMW 被定义时才会被使用,sandpoint 板使用CFG_INIT_RAM_ADDR 作为初始化过程中的堆栈 地址*/
#else /*不是从内存启动*/
#undef CFG_RAMBOOT
#define CFG_MONITOR_LEN 0x00030000
#define CFG_MONITOR_BASE TEXT_BASE
#define CFG_GBL_DATA_SIZE 128
#define CFG_INIT_RAM_ADDR 0x40000000
#define CFG_INIT_RAM_END 0x1000
#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
#endif
/*flash 基地址,对于我的电路板,启动设备为EEPROM 而不是FLASH,定义为0xFF00000*/
#define CFG_FLASH_BASE 0xFFF00000
#if 0
#define CFG_FLASH_SIZE (512 * 1024) /*配置较小的Flash 空间*/
#else
#define CFG_FLASH_SIZE (1024 * 1024) /*配置为较大的1M Flash 空间*/
#endif
#define CFG_ENV_IS_IN_FLASH 1 /*启动的环境变量存放在Flash 中*/
/*由于我的电路板Flash 地址不连续,不能使用标准程序,而EEPROM 也不能写,因此定义不存储环境变量,如下:
#ifdef CONFIG_USER8240
#undef CFG_ENV_IS_IN_FLASH
#undef CFG_ENV_IS_IN_EEPROM
#define CFG_ENV_IS_NOWHERE
#endif
*/
#define CFG_ENV_OFFSET 0x00004000 /*环境变量存储的偏移量*/
#define CFG_ENV_SIZE 0x00002000 /*环境变量总长度 */
#define CFG_MALLOC_LEN (512 << 10) /*为malloc()函数保留的内存空间大小*/
/*内存测试的起始结束地址,参见\common\cmd_mem.c 程序*/
#define CFG_MEMTEST_START 0x00000000
#define CFG_MEMTEST_END 0x04000000
/*EUMB地址,关于EUMB的详细功能,请参考MPC8240 Integrated Processor User’s Manual*/
#define CFG_EUMB_ADDR 0xFC000000
/*ISA 总线地址*/
#define CFG_ISA_MEM 0xFD000000
#define CFG_ISA_IO 0xFE000000
/*flash 的地址控制,我的电路板上Flash 不能使用标准驱动,因此没有使用这些值*/
#define CFG_FLASH_RANGE_BASE 0xFF000000 /*MPC8240 的Flash\ROM 基地址*/
#define CFG_FLASH_RANGE_SIZE 0x01000000 /*Flash\ROM 空间大小*/
#define FLASH_BASE0_PRELIM 0xFFF00000 /*sandpoint 板载flash 起始地址*/
#define FLASH_BASE1_PRELIM 0xFF000000 /*PMC 扣板上的flash 起始地址*/
/*I2C 配置,我的电路板没有使用I2C,没有研究这些参数*/
#define CONFIG_HARD_I2C 1 /* To enable I2C support*/
#undef CONFIG_SOFT_I2C /* I2C bit-banged*/
#define CFG_I2C_SPEED 400000 /* I2C speed and slave address*/
#define CFG_I2C_SLAVE 0x7F
#ifdef CONFIG_SOFT_I2C
#error "Soft I2C is not configured properly. Please review!"
#define I2C_PORT 3 /* Port A=0, B=1, C=2, D=3 */
#define I2C_ACTIVE (iop->pdir |= 0x00010000)
#define I2C_TRISTATE (iop->pdir &= ~0x00010000)
#define I2C_READ ((iop->pdat & 0x00010000) != 0)
#define I2C_SDA(bit) if(bit) iop->pdat |= 0x00010000; \
else iop->pdat &= ~0x00010000
#define I2C_SCL(bit) if(bit) iop->pdat |= 0x00020000; \
else iop->pdat &= ~0x00020000
#define I2C_DELAY udelay(5) /* 1/4 I2C clock duration */
#endif /* CONFIG_SOFT_I2C */
#define CFG_I2C_EEPROM_ADDR 0x57 /* EEPROM IS24C02*/
#define CFG_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
#define CFG_EEPROM_PAGE_WRITE_BITS 3 /* write page size*/
#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 10 /* takes up to 10 msec*/
/*不配置I2C,定义如下:
#ifdef CONFIG_USER8240
#undef CONFIG_HARD_I2C
#endif
*/
#define CFG_BAUDRATE_TABLE {9600, 19200, 38400, 57600, 115200} /*波特率*/
/*flash 的地址控制,我的电路板上Flash 不能使用标准驱动,因此没有使用这些值*/
#define CFG_FLASH_BANKS {FLASH_BASE0_PRELIM, FLASH_BASE1_PRELIM }
/*华邦83c553 IDE 控制器配置,我的电路板没有使用,没有研究这些参数*/
#define CFG_WINBOND_83C553 1 /*has a winbond bridge*/
#define CFG_USE_WINBOND_IDE 0 /*use winbond 83c553 internal IDE ctrlr */
#define CFG_WINBOND_ISA_CFG_ADDR 0x80005800 /*pci-isa bridge config addr*/
#define CFG_WINBOND_IDE_CFG_ADDR 0x80005900 /*ide config addr*/
#define CFG_IDE_MAXBUS 2 /* max. 2 IDE busses*/
#define CFG_IDE_MAXDEVICE (CFG_IDE_MAXBUS*2) /* max. 2 drives per IDE bus */
/*不配置华邦83c553,定义如下:
#ifdef CONFIG_USER8240
#undef CFG_WINBOND_83C553
#endif
*/
/* NS87308 配置,支持软驱,我的电路板没有使用,没有研究这些参数*/
#define CFG_NS87308 /* Nat Semi super-io controller on ISA bus */
#define CFG_NS87308_BADDR_10 1
#define CFG_NS87308_DEVS ( CFG_NS87308_UART1 | \
CFG_NS87308_UART2 | \
CFG_NS87308_POWRMAN | \
CFG_NS87308_RTC_APC )
#undef CFG_NS87308_PS2MOD
#define CFG_NS87308_CS0_BASE 0x0076
#define CFG_NS87308_CS0_CONF 0x30
#define CFG_NS87308_CS1_BASE 0x0075
#define CFG_NS87308_CS1_CONF 0x30
#define CFG_NS87308_CS2_BASE 0x0074
#define CFG_NS87308_CS2_CONF 0x30
/*不配置NS87308,定义如下:
#ifdef CONFIG_USER8240
#undef CFG_NS87308
#endif
*/
/* NS16550/2 串口配置*/
#define CFG_NS16550 /*配置NS16550*/
#define CFG_NS16550_SERIAL /*将NS16550 作为串口驱动芯片*/
#define CFG_NS16550_REG_SIZE 1 /* NS16550 的寄存器间隔*/
#define CFG_NS16550_CLK 1843200 /*NS16550 外接参考时钟频率,单位Hz*/

1  2  3  4  5  6  7  8  9  10  11

立即下载:
点击下载
相关文档
U-Boot在44B0X开发板上的移植以及代码分析
uboot移植到S3C44B0X开发板的经历
S3C44B0\U-Boot的启动流程及移植
U-Boot在S3C2410上的移植
uboot在ARM s3c2410上移植过程
U-boot移植日记(s3c44b0)
嵌入式系统中U-Boot基本特点及其移植方法
下载说明:
  1. 未经本站明确许可,任何网站不得非法盗链及抄袭本站资源!
 

首页 | 产品介绍 | 技术支持 | 下载中心 | 技术专栏 | 关于我们 | 联系我们
电话:86-755-82798083   82796301   传真:86-755-82799007    Email:sales@foxice.net   sales6@foxice.net
在线咨询:QQ:346466907   MSN:sales6@foxice.net   ini3000@msn.com

© 2006 Foxice.net 版权所有