cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

New Contributor

Hi,

"FX3Device-> IsBootLoaderRunning ()" returns quickly when it is a boot loader, but it takes a lot of time otherwise.

I want to know how to make it faster.

Regards,

Takao

0 Likes
Reply
1 Solution
Moderator
Moderator

Hi Takao,

We checked the API on our side and it returned within few micro seconds. How much time it took on your side?

I hope you are using your own custom C++ Host application based on CyAPI library. Please confirm.

- What firmware was running on FX3, when the API took lot of time to return on the Host app? Is the connection established USB 3.0 or USB 2.0?

- When IsBootLoaderRunning () is called in the Host app, 0xA0 vendor command is sent from the Host to FX3. If FX3 is not in bootloader mode, it STALLs the vendor command. So, please take a wireshark trace and look for this command to check where is the delay.

Regards,

Hemanth

Hemanth

View solution in original post

0 Likes
Reply
3 Replies
Moderator
Moderator

Hi Takao,

We checked the API on our side and it returned within few micro seconds. How much time it took on your side?

I hope you are using your own custom C++ Host application based on CyAPI library. Please confirm.

- What firmware was running on FX3, when the API took lot of time to return on the Host app? Is the connection established USB 3.0 or USB 2.0?

- When IsBootLoaderRunning () is called in the Host app, 0xA0 vendor command is sent from the Host to FX3. If FX3 is not in bootloader mode, it STALLs the vendor command. So, please take a wireshark trace and look for this command to check where is the delay.

Regards,

Hemanth

Hemanth

View solution in original post

0 Likes
Reply
New Contributor

Hi Hemanth,

With bootloader it takes less than 1ms, otherwise it takes 10 seconds.

I'm using CyAPI in SDK v1.3.4.

The FX3 firmware controls the registers of the FPGA via GPIF.

The connection is established via USB 3.0.

Is it the OS that STALLs when it's not a bootloader, or is it the CyFx3 library's job?

I get a 0xA0 vendor command sent to me and I can check it in the Firmware vendor command callback function, should I respond here?

I'm going to try WireShark.

Regards,

Takao

0 Likes
Reply
New Contributor

Resolved.

Thank you for your support.

You may close the case.

Regards,

Takao

0 Likes
Reply