ti的工程师们,am437x的pru可以读写CAN,SPI等外设吗?如果可以,有相关例程吗?
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.
你的目的是不是要读取SPI CAN通信时候收到的数据。如果是,可以把收到的数据放到DDR,然后再通过PRU读取DDR来完成。
PRU和DDR之间的通信例子很多,教程如下:
http://processors.wiki.ti.com/index.php/PRU_Linux-based_Example_Code
http://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs
Eggsy Pang 说:你的目的是不是要读取SPI CAN通信时候收到的数据。如果是,可以把收到的数据放到DDR,然后再通过PRU读取DDR来完成。
PRU和DDR之间的通信例子很多,教程如下:
http://processors.wiki.ti.com/index.php/PRU_Linux-based_Example_Code
http://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs
您好,谢谢您的答复,最初的想法是通过PRU来接收发送数据,A9来处理数据以及主业务逻辑,您的意思是SPI,CAN的接收发送还是需要A9来处理?
没有必要通过PRU读取SPI再发给A9去处理。
直接通过A9 DMA的方式就可以了。
经过PRU绕一圈效率会下降很多。
Denny Yang 说:没有必要通过PRU读取SPI再发给A9去处理。
直接通过A9 DMA的方式就可以了。
经过PRU绕一圈效率会下降很多。
您好,谢谢您的答复,我目前的需求是需要定时去写SPI,数据量大约在8KB,大约50ms写一次,这种情况下ARM发给PRU然后写SPI,或者ARM直接DMA写SPI,哪种效率高?
如果从学习PRU的角度出发,PRU可以直接读写SPI,CAN等外设吗?如果可以,基本思路怎么实现?