1.powerpc的内部中断需要在open时重新remap一下
例如:8250.c中UART1内部中断号 9 重新remap中断号变成16
2.如何定义和引用一个全局变量函数
unsigned int GetIMMRBaseAddr(void)
{
if(!IMMRVirtBaseAddr){
IMMRVirtBaseAddr =(unsigned int )ioremap(IMMR_BASE_ADDR,0x100000)
;
printk(KERN_INFO "%s->IMMR is Mapped to virtual 0x%08x from physical 0x%08x\n ",__FUNCTION__,
IMMRVirtBaseAddr,IMMR_BASE_ADDR);
}
return IMMRVirtBaseAddr;
}
EXPORT_SYMBOL(GetIMMRBaseAddr);
然后在Linux模块就可以调用GetIMMRBaseAddr全局函数了
3.GPIO默认状态应为输入,如果两个板卡GPIO状态都为输出的话,电流相对,可能会烧坏板卡
例如:8250.c中UART1内部中断号 9 重新remap中断号变成16
2.如何定义和引用一个全局变量函数
unsigned int GetIMMRBaseAddr(void)
{
if(!IMMRVirtBaseAddr){
IMMRVirtBaseAddr =(unsigned int )ioremap(IMMR_BASE_ADDR,0x100000)
;
printk(KERN_INFO "%s->IMMR is Mapped to virtual 0x%08x from physical 0x%08x\n ",__FUNCTION__,
IMMRVirtBaseAddr,IMMR_BASE_ADDR);
}
return IMMRVirtBaseAddr;
}
EXPORT_SYMBOL(GetIMMRBaseAddr);
然后在Linux模块就可以调用GetIMMRBaseAddr全局函数了
3.GPIO默认状态应为输入,如果两个板卡GPIO状态都为输出的话,电流相对,可能会烧坏板卡
254

被折叠的 条评论
为什么被折叠?



