AnsweredAssumed Answered

i.mx rt1064 usb device controller

Question asked by Hubert Buczynski on Aug 5, 2019
Latest reply on Aug 7, 2019 by Hui_Ma

Hi,

 

I am working on usb device controller for i.mx rt1064. I have successful implemented the same controller for i.mx 6ull which has the same operational model as i.mx rt1064 (based on the Reference Manual). However I am struggling with sending data from the device to the host on i.mx RT1064 platform.

If I use a DTCM memory to allocate endpoint queue head (dQH) and endpoint transfer descriptor(dTD), the controller is able to receive and save setup buffer to the allocated memory (ex. GET_DEVICE_DESCRIPTOR). The problem occurs when the response is transmitted to the host. The controller does not change the ENDCOMPLETE register and data is not transferred to the host. I have tracked packets using wireshark.

The same software works correctly on i.mx 6ull platform.

 

Moreover I have tried to allocate dQH and dTD in OCRAM2 memory instead of DTCM. The USB controller has not even received setup buffer then. Therefore I suppose that problem is related to the memory.

 

Can you give me an advise where is the best place to allocate dQH and dTD on i.mx rt1064 ?

Is the cache memory default switch on for OCRAM2?

 

Best Regards

Outcomes