none
wince ISR里如何访问物理地址 RRS feed

  • 问题

  • 我的理解是ISR运行在内核态,因此可以用静态映射的方法去访问物理内存或者硬件地址,而VirtualAlloc,VirtualCopy是供运行在用户态的驱动或者应用程序来申请访问物理地址的方法;

    现在我的问题是:我的硬件平台加入了一片CAN控制器芯片,挂在外部总线上,我需要在ISR里读写CAN数据(放在IST里处理会因为中断延迟造成错误),我访问的时候是否直接修改下虚拟地址映射表g_oalAddressTable就可以了呢?比如我把该芯片硬件地址映射到0x9400 0000--0x9600 0000,这样我在ISR里是否直接用指针指到0x9400 0000就可以对该芯片进行读写了呢?不指到我的理解对否,请各位老师指点,谢谢了先~~~~

    2010年7月23日 3:51

答案

  • 对的,ISR里面可以直接访问g_oalAddressTable里的virtual address。不过最好用0xB4000000 - 0xB6000000,因为0x80000000-0x9FFFFFFF是cacheable的。
    2010年7月23日 13:54
    版主

全部回复