我的系统是PowerPC 866, 16M Flash, 32M SDRAM.复位时硬件从数据总线上获取hard reset configurationword,我只需要将bootrom.bin烧写在0xFFF00100的地址上便可以启动.
config.h中的配置如下:
#define LOCAL_MEM_LOCAL_ADRS 0x00000000 /* Base of RAM */
#define LOCAL_MEM_SIZE 0x02000000 /* 32 Mbyte memory available */
#define ROM_BASE_ADRS 0xFF000000 /* base address of ROM */
#define ROM_TEXT_ADRS 0xFFF00100 /* ROM_BASE_ADRS + 0x100 */
#define ROM_SIZE 0x01000000 /* ROM space */
上述配置是将程序烧在FLASH高地址上启动.我现在想把程序放在低地址上启动,也就是0xFF000100.于是我首先想到了更改HRCW.
HRCW中有两个字和启动地址有关:HRCW[IIP]控制异常向量表的初始位置,两种情况0xFFF00100或0x00000100.HRCW[ISB]指示IMMR寄存器的初始值,四种情况0x00000000. 0x00F00000. 0xFF000000. 0xFFF00000.高地址启动时HRCW[IIP]=0xFFF00100, HRCW[ISB]=0xFF000000. 为了能在低地址启动我修改了HRCW[IIP]=0x00000100,并将config.h中的ROM_TEXT_ADRS改为0xFF000100,烧入到0xFF000100无法启动.
请教一下各位PowerPC的更改启动地址是不是更改HRCW[IIP]位?HRCW[ISB]位对它有影响吗?那我要如何配置我的config.h文件.望达人解答啊!