AnsweredAssumed Answered rt1064 usb device controller

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



I am working on usb device controller for rt1064. I have successful implemented the same controller for 6ull which has the same operational model as rt1064 (based on the Reference Manual). However I am struggling with sending data from the device to the host on 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 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 rt1064 ?

Is the cache memory default switch on for OCRAM2?


Best Regards