This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、支持人员、
我正在为 DCAN 模块编写驱动程序、我不确定哪种方法最好。
最终目标是在不丢失消息的情况下接收总线上的所有消息、但避免使用中断。
我想在收到消息后使用 DMA 直接移动消息、但根据手册、消息 RAM 只能在调试或测试(RDA)模式下直接访问。
您能就此提供一些建议吗? 一个简单的 DMA 示例将是 grep。
非常感谢。
P
您好!
在测试模式下、CPU 或 DMA 可以直接访问 CAN 消息 RAM。 在正常运行期间、必须避免直接访问。 在正常运行期间、通过使用接口寄存器 IF1和 IF2来保证报文对象的数据一致性。
当一个报文对象在接收到一个 CAN 报文后被更新时、IF3可被配置成自动接收报文 RAM 中的控制和数据。 CPU 不需要启动从消息 RAM 到 IF3寄存器集的传输。
DMA 被配置为将数据从 IFx 数据寄存器传输到 CPU SRAM 或 EMIF 存储器。