求大师,vxWorks6.9 I7板子串口3、4(ns16550)中断与其他设备冲突

打赤脚的娃 2018-01-13 10:50:18
I7主板,在BISO下看的串口3、4中断是11和10,在pc.h里将串口3、4中断配置为0x0b和0x0a后出现网络和硬盘都无法正常启动了,不初始化串口3、4或者配置成其他中断时网络和硬盘是正常的。并且任何情况下串口3、4均不可用。求解u
修改如下:
pc.h
#define COM3_INT_LVL 0x0b
#define COM4_INT_LVL 0x0a
#define N_UART_CHANNELS 4
hwconf.h
..............
+const struct hcfResource pentiumi82503Resources[] =
+ {
+ { "regBase", HCF_RES_INT, {(void *)COM3_BASE_ADR} },
+ { "irq", HCF_RES_INT, {(void *)(INUM_TO_IVEC(INT_NUM_COM3))} },
+ { "regInterval", HCF_RES_INT, {(void *)UART_REG_ADDR_INTERVAL} },
+ { "irqLevel", HCF_RES_INT, {(void *)COM3_INT_LVL} },
+ { "clkFreq", HCF_RES_INT, {(void *)PCI_CLK_FREQ} },
+ { "fifoLen", HCF_RES_INT, {(void *)8} }
+ };
+#define pentiumi82503Num NELEMENTS(pentiumi82503Resources)
+
+const struct hcfResource pentiumi82504Resources[] =
+ {
+ { "regBase", HCF_RES_INT, {(void *)COM4_BASE_ADR} },
+ { "irq", HCF_RES_INT, {(void *)(INUM_TO_IVEC(INT_NUM_COM4))} },
+ { "regInterval", HCF_RES_INT, {(void *)UART_REG_ADDR_INTERVAL} },
+ { "irqLevel", HCF_RES_INT, {(void *)COM4_INT_LVL} },
+ { "clkFreq", HCF_RES_INT, {(void *)PCI_CLK_FREQ} },
+ { "fifoLen", HCF_RES_INT, {(void *)8} }
+ };
+#define pentiumi82504Num NELEMENTS(pentiumi82504Resources)
..........
const struct hcfDevice hcfDeviceList[] = {
.........
#ifdef DRV_SIO_NS16550
{ "ns16550", 0, VXB_BUSID_PLB, 0, pentiumi82501Num, pentiumi82501Resources },
{ "ns16550", 1, VXB_BUSID_PLB, 0, pentiumi82502Num, pentiumi82502Resources },
+ { "ns16550", 2, VXB_BUSID_PLB, 0, pentiumi82503Num, pentiumi82503Resources },
+ { "ns16550", 3, VXB_BUSID_PLB, 0, pentiumi82504Num, pentiumi82504Resources },
#endif /* DRV_SIO_NS16550 */
..........
}
...全文
1273 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
打赤脚的娃 2018-01-15
  • 打赏
  • 举报
回复
找到原因了。中断配置使用的INCLUDE_SYMMETRIC_IO_MODE,在configInum.h不是使用 151+ #define INT_NUM_COM3 (INT_NUM_IRQ0 + COM3_INT_LVL) 152+ #define INT_NUM_COM4 (INT_NUM_IRQ0 + COM4_INT_LVL) 而使用 112 #define INT_NUM_COM3 (INT_NUM_IOAPIC_IRQ5) 113 #define INT_NUM_COM4 (INT_NUM_IOAPIC_IRQ9) 所以应该将中断修改为 112 #define INT_NUM_COM3 (INT_NUM_IOAPIC_IRQB) 113 #define INT_NUM_COM4 (INT_NUM_IOAPIC_IRQA)
打赤脚的娃 2018-01-14
  • 打赏
  • 举报
回复
大师们帮忙看看啊。没法搞了!!!

2,179

社区成员

发帖
与我相关
我的任务
社区描述
xworks是美国 Wind River System 公司( 以下简称风河公司 ,即 WRS 公司)推出的一个实时操作系统。
社区管理员
  • VxWorks开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧