2,184
社区成员




{
(VIRT_ADDR) 0xf9000000,
(PHYS_ADDR) 0xf9000000,
0x10000,
VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE | \
VM_STATE_MASK_GUARDED,
VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT | \
VM_STATE_GUARDED
},
在sysHwInit()函数中添加了如下代码:
* (VINT32 *) M85XX_LAWBAR6(CCSBAR) = (0xf9000000>>12) & LAWBAR_MASK;
* (VINT32 *) M85XX_LAWAR6(CCSBAR) = LAWAR_ENABLE | (LAWAR_TRGT_ELBC << LAWAR_TRGT_ELBC_SHIFT) | LAWAR_SIZE_64KB;
WRS_ASM("isync");
* (VINT32 *) M85XX_BR3(CCSBAR) = 0xf9000000|ELBC_BR_Valid|ELBC_BR_PS_8|ELBC_BR_MSEL_GPCM;
* (VINT32 *) M85XX_OR3(CCSBAR) = 0xffff09f7;
WRS_ASM("isync");
但是这个CS3是在u-boot中初始化过的,原来是定位在0xf8020000这个地址的,但不可访问(访问时返回异常)。
我使用d命令查看0xf9000000这个地址时,可以正常输出,但是内容明显是错误的,而且使用示波器抓取CS3的信号也不对,每次读取应该只有一个片选输出,但是每次读取的时候都有很多片选输出,不知道为什么,是否哪里修改的不完全?