改写spimaster程序后运行,运行程序会跳往ti.drivers.config文件中的DMA中断处理函数中,并进入死循环后中断,请问是什么原因呢?
* =============================== DMA ===============================
*/
#include <ti/drivers/dma/UDMACC32XX.h>
#include <ti/devices/cc32xx/inc/hw_ints.h>
#include <ti/devices/cc32xx/inc/hw_types.h>
#include <ti/devices/cc32xx/driverlib/rom_map.h>
#include <ti/devices/cc32xx/driverlib/udma.h>
/* Ensure DMA control table is aligned as required by the uDMA Hardware */
static tDMAControlTable dmaControlTable[64] __attribute__ ((aligned (1024)));
/* This is the handler for the uDMA error interrupt. */
static void dmaErrorFxn(uintptr_t arg)
{
int status = MAP_uDMAErrorStatusGet();
MAP_uDMAErrorStatusClear();
/* Suppress unused variable warning */
(void)status;
while (1);
}
Kevin Qiu1:
ti.drivers.config中是一些驱动配置,你修改了哪些部分
,
user6390304:
我使用tcpecho例程,在里面添加了一个新的线程,ti.drivers.config文件中的驱动配置我没有修改过,我只是删除了.syscfg文件中的SPI部分,然后用到的其它驱动配置我新建了一个.c和.h文件复制了进去。
,
user6390304:
这个问题,如果每次加载程序前先复位硬件,就不会产生中断,到底是什么原因呢?如果不复位的话,就可能出现运行程序后一次出现中断一次正常的情况,说不准哪一次会正常运行,是什么原因呢?
,
Kevin Qiu1:
如果用的是SPI DMA,删掉SPI肯定会影响DMA,建议你在原有基础上进行修改
TI中文支持网
