使用平台为am5726,运行核心为dsp1。sdk版本为04.03.00.05
最近在调试时发现,官方的ipc组建使用的mailbox中断和gpio3中断冲突,我通过修改ipc mailbox中断映射的方式,解决了。目前,gpio3中断和ipc同时存在的时候,都可以工作,但是dsp的log会输出一个错误。ipc和gpio中断单独存在时不会有。
ti.sysbios.family.c64p.Hwi: ERROR: line 194: E_alreadyDefined: Hwi already defined: intr# 5
另外,同样的代码设置gpio4中断,中断不响应。官方有没有一个文档,标出sysbiso所使用的默认的中断映射关系?
谢谢。
Nancy Wang:
都是需要配置的,没有默认的中断映射关系。你具体是如何配置的?
杨旭:
回复 Nancy Wang:
gpio的pdk,使用的是crossbar57
我这里直接按例程就可以响应按键中断。
/* GPIO initialization */ GPIO_init();
/* Set the callback function */ GPIO_setCallback(0, AppGpioCallbackFxn);
/* Enable GPIO interrupt on the specific gpio pin */ GPIO_enableInt(0);
ipc代码中,把dsp默认映射cbar57的位置改成了249,导致冲突,这块我已经修改了。
现在两个模块都就可以正常工作,但是会有错误信息输出,ti.sysbios.family.c64p.Hwi: ERROR: line 194: E_alreadyDefined: Hwi already defined: intr# 5。
还有一个问题,我把上面gpio3的代码,输入中断由gpio3_22改成4_10,中断就无法响应了,引脚我都是配置成gpio模式的。
您这里说的配置,是我在sysbios下,使用所有的中断都需要重新配置?我配置完成后,pdk库中gpio的回调函数如何处理?
Nancy Wang:
回复 杨旭:
你上面贴出的代码具体是在哪个例程上修改的,可否贴出路径。
杨旭:
回复 Nancy Wang:
ipc_3_47_01_00_tl\packages\ti\sdo\ipc\family\vayu\NotifySetup.c ipc的
gpio就是从wiki上下载的。
Nancy Wang:
回复 杨旭:
GPIO_setCallback(USER_LED0, AppGpioCallbackFxn);/* Enable GPIO interrupt on the specific gpio pin */GPIO_enableInt(USER_LED0);/* Write high to gpio pin to control LED1 */GPIO_write((USER_LED1), GPIO_PIN_VAL_HIGH);AppDelay(DELAY_VALUE);gpioBaseAddr = GPIO_BASE_ADDR;gpioPin= GPIO_LED_PIN;/* Trigger interrupt */GPIOTriggerPinInt(gpioBaseAddr, 0, gpioPin);
以上贴出来的部分有没有做相应的修改,gpio4_10是可以正常拉高拉低的吧。
杨旭:
回复 Nancy Wang:
gpio中断的问题解决了,麻烦看一下,ti.sysbios.family.c64p.Hwi: ERROR: line 194: E_alreadyDefined: Hwi already defined: intr# 5
的问题,谢谢。
yongqing wang:
回复 杨旭:
感谢分享