昨天调试了一天的程序,今天终于发现原来是把设备基地址误写成DMA基地址。
static u8 g_IntMgrData[ (ADI_INT_SECONDARY_MEMORY * 8)]; /* storage for interrupt manager */ static u8 g_DMAMgrData[ADI_DMA_BASE_MEMORY + (ADI_DMA_CHANNEL_MEMORY * 8)]; /* storage for DMA manager */ static u8 g_DevMgrData[ADI_DEV_BASE_MEMORY + (ADI_DEV_DEVICE_MEMORY * 4)]; /* storage for device manager */
DSP初始化时需要存储配置参数,所以要预先开辟静态数据以保持效率。但是我在写的时候误将
static u8 g_DevMgrData[ADI_DEV_BASE_MEMORY + (ADI_DEV_DEVICE_MEMORY * 4)]; /* storage for device manager */
写成了
static u8 g_DevMgrData[ADI_DMA_BASE_MEMORY + (ADI_DEV_DEVICE_MEMORY * 4)]; /* storage for device manager */
debug的时候却没能发现,今天将源码跟备份一对比才发现犯了一个如此低级的错误。
这样的小错误有时候却是无法避免的,但调试过程中也学到很多知识。