2017-06-15 124 views
0

我必须写一个存根:我想了解'__attribute __((space(dma)));''的语法

extern ECAN1MSGBUF ecan1msgBuf __attribute__((space(dma))); 

有人能向我解释什么使这个电话,它是如何工作的,我怎么能写/使用存根的测试程序?我有硬件不在家,必须写测试,但XCode宣布警告:忽略未知属性空间。否则,我将使用MPLabX编译器/调试器访问硬件。当然没有问题。

+1

它声明'ecan1msgBuf'是一个驻留在DMA空间中的'ECAN1MSGBUF'类型的变量。 –

回答

0

dspics上的DMA空间是双端口RAM,可以在不与ALU(实际CPU)竞争内存带宽的情况下访问。

但是,在dspicE DMA空间超出了32kb的标记需要EDS寻址。如果是这样,你可能想查看我发布的关于dspice CAN的示例代码:http://www.microchip.com/forums/m790729.aspx#792226