英飞凌
直播中

李艺银

7年用户 1073经验值
私信 关注

使用boot api而不是FX3 API开发的固件,还能使用GPIF II坐为master 用吗?

有如下的问题想请教一下:
1、使用boot api而不是FX3 API开发的固件,还能使用GPIF II坐为master 用吗?
2、HOST PC通过控制传输,可以读写USB设备的bulk端点吗?
3、我对FX3 DMA中的buffer chain不太理解:(1)请问buffer chain是位于FX3的SRAM中的吗? (2)请问一个socket就是一个buffer chain吗? (3)如果通过DMA方式读取外设,外设是将数据发送到buffer chain中的吗?
4、主机通过控制传输向fx3写数据,这个过程默认是dma传输吗?

回帖(1)

h1654155275.5741

2024-5-29 16:53:57
1. 使用Boot API而不是FX3 API开发的固件,理论上仍然可以使用GPIF II作为master。Boot API主要用于初始化FX3芯片,而GPIF II是FX3的一个功能模块,负责与外部设备进行通信。只要在Boot API初始化过程中正确配置GPIF II,就可以使用它作为master。

2. 主机PC通过控制传输可以读写USB设备的bulk端点。控制传输主要用于发送和接收控制命令,而bulk端点用于传输大量数据。在USB通信中,控制传输和bulk传输是两种不同的传输类型,它们可以同时使用。

3. 关于FX3 DMA中的buffer chain的问题:
   (1)buffer chain通常位于FX3的SRAM中。它是一个数据结构,用于存储DMA传输过程中的数据缓冲区。
   (2)一个socket不是一个buffer chain,而是一个缓冲区。buffer chain是由多个缓冲区(socket)组成的链表,用于在DMA传输过程中存储数据。
   (3)当通过DMA方式读取外设时,外设将数据发送到buffer chain中的缓冲区。DMA控制器会将数据从外设传输到buffer chain中的指定缓冲区,然后主机可以通过内存访问这些缓冲区。

4. 主机通过控制传输向FX3写数据,这个过程默认不是DMA传输。控制传输主要用于发送和接收控制命令,而不是用于大量数据传输。要实现DMA传输,需要使用bulk端点进行数据传输,并配置DMA控制器以实现数据的自动传输。

希望以上回答能帮助您解决问题。如果您还有其他问题,请随时提问。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分