Slave FIFO + UART Driver Setup

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MaPo_1297961
Level 1
Level 1
First like given

Hello!

I want to use Slave FIFO and UART within single FX3 firmware, so I've merged two well-known Cypress examples, combine descriptors, so on. I use 0x00F1 as product ID.

Driver setup is very tricky:

1) initially my board was displayed as a Composite USB Device in the Device Dispatcher

2) I've modified cyusb3.inf by adding string

%VID_04B4&PID_00F1.DeviceDesc%=CyUsb3, USB\VID_04B4&PID_00F1&MI_00

I saw StreamerExample in Device Dispatcher after that update, but there was no COM port yet.

3) I've modified CypressSerial.inf by adding string

%CypressSerial% = CypressSerial.NTamd64,Ports\VID_04B4&PID_00F1&MI_01

I got two COM ports with that update.

I did not check UART yet, but Slave FIFO works good.

So, my questions:

1) is the procedure, described above, normal/usual with FX3  or not? Are there any less tricky ways to reach the same?

2) why do two COM ports appear, but not one? Are both of them functional or not? If no, which of them should I use?

Many thanks!

With regards,

Maksim

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.

Hello Maksim,

I had not added the CDC functionality in firmware that i had attached in my previous response. I had just changed the descriptor file. For CDC functionality .c file need to be changed accordingly to handle the CDC

You shouldn't get two Com Ports when FX3 is programmed: One should be as Cypress Fx3 Streamer Device and one Serial Com Port. Please use fresh driver files before testing and not the one that you modified.

I have tested this firmware on both High speed and Super speed

These are the steps you need to follow:

- Please load the attached firmware (with CDC functionality added). I have combined usbuart sdk example with slavefifosync firmware.

the #define cdc enables switching between slavefifo and slavefifo + cdc

- Check the Device manager - uninstall the device (with yellow mark)

- Program the FX3 again  - FX3 will be seen under other devices - and a serial port will be seen under Port (COM & LPT)

- You need to bind FX3 with Cyusb3 driver  (choose Cypress Fx3 Streamer Device)  and serial port with Cypressserial driver

- You can see FX3 as Cypress Fx3 Streamer Device and one Serial Com Port

-Now as per the functionality of usbuart SDK example and Slavefifo:

  -The fx3 will have functionality of Slavefifo

  - The second functionality will be as serial com port

The UsbUart example is have channel from usb to uart and uart to usb. So connect the uart pins or use int integrated debugger (if using CyUSB3Kit-003 explorer kit).

- Open two windows of teraterm : one with FX3 as CDC and other with the uart lines.

- Try transferring data.

Please find the attached results of my tests

Regards,

Rashi

Regards,
Rashi

View solution in original post

0 Likes
15 Replies
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

Hello Maksim,

You don't need to chnage the .inf files. If you change the .inf files the signature would be lost. You can only do this for testing purpose.

can you try without changing the PID of the default Slavefifo firmware (in descriptor) and just add CDC as an interface. Then check the enumeration. Both the interface would be shown (i.e. CDC and FX3) . You would need to bind the driver manually to the devices.

Please share the snippet of the device manager (without making changes to .inf files)

Regards,

Rashi

Regards,
Rashi
0 Likes
lock attach
Attachments are accessible only for community members.

Hello, Rashi!

I have modified descriptors already, for example:

const uint8_t CyFxUSB30DeviceDscr[] __attribute__ ((aligned (32))) =

{

    0x12,                           /* Descriptor size */

    CY_U3P_USB_DEVICE_DESCR,        /* Device descriptor type */

    0x10,0x03,                      /* USB 3.1 */

    0xEF,                           /* Device class */

    0x02,                           /* Device sub-class */

    0x01,                           /* Device protocol */

    0x40,                           /* Maxpacket size for EP0 */

    0xB4,0x04,                      /* Vendor ID */

    0xF1,0x00,                      /* Product ID - Using the Cypress StreamerExample for driver binding */

    0x00,0x00,                      /* Device release number */

    0x01,                           /* Manufacture string index */

    0x02,                           /* Product string index */

    0x00,                           /* Serial number string index */

    0x01                            /* Number of configurations */

};

but as I already wrote, I see only Composite USB Device in the dispatcher.

So, I can't split it to StreamerExample and COM Port without modifying .inf files.

Entire cyfxslfifousbdscr.c is attached.

Thank you!

With regards,

Maksim

0 Likes
lock attach
Attachments are accessible only for community members.

Hello Maksim,

Please try replacing the descriptor file that i have attached to you firmware and check the enumeration.

Please let me know the results.

Regards,

Rashi

Regards,
Rashi
0 Likes

Hello, Rashi!

I see SreamerExample Device after the descriptor update from you, but there are no Composite Device and COM Port, while UART is a part of my design and I need to use it.

I suppose, the current .inf files (both for Streamer and CDC) cannot be used for Slave FIFO + UART firmware, because there is no support for MI_00 and MI_01 configurations.

Am I right?

Many thanks!

With regards,

Maksim

0 Likes
lock attach
Attachments are accessible only for community members.

Hello Maksim,

I checked the firmware with this descriptor file (please find the attachment)

By changing the PID the signature might have lost. Can you please try by getting fresh .inf file

Regards,

Rashi

Regards,
Rashi
0 Likes

1) I have completely reinstalled SDK and Serial Driver pack, than delete my device from the system using dispatcher

2) I rebuilt the project using your descriptor file.

3) I installed original FX3 drivers from SDK when my device was found.

4) I still see only the StreamerExample and I got no request to install Serial Port Drivers, please check picture (COM1 is a built-in one).

5) Your descriptor file has not the same endpoints as my projects uses. Is it a possible reason?

pastedImage_0.png

With regards,

Maksim

0 Likes
lock attach
Attachments are accessible only for community members.

Hello Maksim,

That doesn't seem a problem.

I have attached the default firmware with modified descriptor file. It already contains .img . Please check with this.

Regards,

Rashi

Regards,
Rashi
0 Likes

Rashi, I just loaded .img directly through Cypress Control Center and I got the same result - no COM Port.

By the way - why do you expect COM Port to be found, if there is no string in .inf, saying there is a composite device with COM Port?

Windows sees StreamerExample device, installs it and successfully finishes, please check setupapi.dev.log part below:

>>>  [Device Install (DiShowUpdateDevice) - USB\VID_04B4&PID_00F1\5&38E97A59&0&17]

>>>  Section start 2019/10/21 15:05:49.337

      cmd: "C:\Windows\system32\mmc.exe" C:\Windows\system32\devmgmt.msc

     dvi: {DIF_UPDATEDRIVER_UI} 15:05:49.337

     dvi:      Default installer: Enter 15:05:49.338

     dvi:      Default installer: Exit

     dvi: {DIF_UPDATEDRIVER_UI - exit(0xe000020e)} 15:05:49.338

     ndv: {Update Driver Software Wizard - USB\VID_04B4&PID_00F1\5&38E97A59&0&17}

     ndv:      Search options: 0x00000011

     ndv:      Searching currently installed INF

     dvi:      {Build Driver List} 15:05:52.817

     dvi:           Searching for hardware ID(s):

     dvi:                usb\vid_04b4&pid_00f1&rev_0000

     dvi:                usb\vid_04b4&pid_00f1

     dvi:           Searching for compatible ID(s):

     dvi:                usb\class_ff&subclass_00&prot_00

     dvi:                usb\class_ff&subclass_00

     dvi:                usb\class_ff

     dvi:      {Build Driver List - exit(0x00000000)} 15:05:52.820

     ndv:      Recursively searching directory 'C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\driver\bin\Win10\x64'

     dvi:      {Build Driver List} 15:05:52.833

     dvi:           Searching for hardware ID(s):

     dvi:                usb\vid_04b4&pid_00f1&rev_0000

     dvi:                usb\vid_04b4&pid_00f1

     dvi:           Searching for compatible ID(s):

     dvi:                usb\class_ff&subclass_00&prot_00

     dvi:                usb\class_ff&subclass_00

     dvi:                usb\class_ff

     sig:           {_VERIFY_FILE_SIGNATURE} 15:05:52.839

     sig:                Key      = cyusb3.inf

     sig:                FilePath = c:\program files (x86)\cypress\ez-usb fx3 sdk\1.3\driver\bin\win10\x64\cyusb3.inf

     sig:                Catalog  = c:\program files (x86)\cypress\ez-usb fx3 sdk\1.3\driver\bin\win10\x64\CYUSB3.cat

     sig:                Success: File is signed in catalog.

     sig:           {_VERIFY_FILE_SIGNATURE exit(0x00000000)} 15:05:52.845

     dvi:           Created Driver Node:

     dvi:                HardwareID   - USB\VID_04B4&PID_00F1

     dvi:                InfName      - c:\program files (x86)\cypress\ez-usb fx3 sdk\1.3\driver\bin\win10\x64\cyusb3.inf

     dvi:                DevDesc      - Cypress FX3 USB StreamerExample Device

     dvi:                Section      - CyUsb3.NTamd64

     dvi:                Rank         - 0x00ff0001

     dvi:                Signer Score - WHQL

     dvi:                DrvDate      - 11/08/2017

     dvi:                Version      - 1.2.3.20

     dvi:      {Build Driver List - exit(0x00000000)} 15:05:52.850

     dvi:      {DIF_SELECTBESTCOMPATDRV} 15:05:52.850

     dvi:           Default installer: Enter 15:05:52.851

     dvi:                {Select Best Driver}

     dvi:                     Class GUID of device changed to: {36fc9e60-c465-11cf-8056-444553540000}.

     dvi:                     Selected Driver:

     dvi:                          Description - Cypress FX3 USB StreamerExample Device

     dvi:                          InfFile     - c:\program files (x86)\cypress\ez-usb fx3 sdk\1.3\driver\bin\win10\x64\cyusb3.inf

     dvi:                          Section     - CyUsb3

     dvi:                {Select Best Driver - exit(0x00000000)}

     dvi:           Default installer: Exit

     dvi:      {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 15:05:52.856

     sto:      {Setup Import Driver Package: c:\program files (x86)\cypress\ez-usb fx3 sdk\1.3\driver\bin\win10\x64\cyusb3.inf} 15:05:52.865

     inf:           Provider: Cypress

     inf:           Class GUID: {36FC9E60-C465-11CF-8056-444553540000}

     inf:           Driver Version: 11/08/2017,1.2.3.20

     inf:           Catalog File: CYUSB3.cat

     sto:           {Copy Driver Package: c:\program files (x86)\cypress\ez-usb fx3 sdk\1.3\driver\bin\win10\x64\cyusb3.inf} 15:05:52.869

     sto:                Driver Package = c:\program files (x86)\cypress\ez-usb fx3 sdk\1.3\driver\bin\win10\x64\cyusb3.inf

     sto:                Flags          = 0x00000007

     sto:                Destination    = C:\Users\ENGINE~1\AppData\Local\Temp\{a34b8414-89c5-2847-8e85-311cb97c536e}

     sto:                Copying driver package files to 'C:\Users\ENGINE~1\AppData\Local\Temp\{a34b8414-89c5-2847-8e85-311cb97c536e}'.

     flq:                Copying 'c:\program files (x86)\cypress\ez-usb fx3 sdk\1.3\driver\bin\win10\x64\CYUSB3.cat' to 'C:\Users\ENGINE~1\AppData\Local\Temp\{a34b8414-89c5-2847-8e85-311cb97c536e}\CYUSB3.cat'.

     flq:                Copying 'c:\program files (x86)\cypress\ez-usb fx3 sdk\1.3\driver\bin\win10\x64\cyusb3.inf' to 'C:\Users\ENGINE~1\AppData\Local\Temp\{a34b8414-89c5-2847-8e85-311cb97c536e}\cyusb3.inf'.

     flq:                Copying 'c:\program files (x86)\cypress\ez-usb fx3 sdk\1.3\driver\bin\win10\x64\CYUSB3.sys' to 'C:\Users\ENGINE~1\AppData\Local\Temp\{a34b8414-89c5-2847-8e85-311cb97c536e}\CYUSB3.sys'.

     sto:           {Copy Driver Package: exit(0x00000000)} 15:05:52.880

     pol:           {Driver package policy check} 15:05:52.886

     pol:           {Driver package policy check - exit(0x00000000)} 15:05:52.886

     sto:           {Stage Driver Package: C:\Users\ENGINE~1\AppData\Local\Temp\{a34b8414-89c5-2847-8e85-311cb97c536e}\cyusb3.inf} 15:05:52.887

     inf:                {Query Configurability: C:\Users\ENGINE~1\AppData\Local\Temp\{a34b8414-89c5-2847-8e85-311cb97c536e}\cyusb3.inf} 15:05:52.896

     inf:                     Driver package uses WDF.

     inf:                     Driver package 'cyusb3.inf' is configurable.

     inf:                {Query Configurability: exit(0x00000000)} 15:05:52.899

     flq:                Copying 'C:\Users\ENGINE~1\AppData\Local\Temp\{a34b8414-89c5-2847-8e85-311cb97c536e}\CYUSB3.cat' to 'C:\Windows\System32\DriverStore\Temp\{d9cc87ee-7a40-8e40-a164-42bda793414e}\CYUSB3.cat'.

     flq:                Copying 'C:\Users\ENGINE~1\AppData\Local\Temp\{a34b8414-89c5-2847-8e85-311cb97c536e}\cyusb3.inf' to 'C:\Windows\System32\DriverStore\Temp\{d9cc87ee-7a40-8e40-a164-42bda793414e}\cyusb3.inf'.

     flq:                Copying 'C:\Users\ENGINE~1\AppData\Local\Temp\{a34b8414-89c5-2847-8e85-311cb97c536e}\CYUSB3.sys' to 'C:\Windows\System32\DriverStore\Temp\{d9cc87ee-7a40-8e40-a164-42bda793414e}\CYUSB3.sys'.

     sto:                {DRIVERSTORE IMPORT VALIDATE} 15:05:52.923

     sig:                     {_VERIFY_FILE_SIGNATURE} 15:05:52.938

     sig:                          Key      = cyusb3.inf

     sig:                          FilePath = C:\Windows\System32\DriverStore\Temp\{d9cc87ee-7a40-8e40-a164-42bda793414e}\cyusb3.inf

     sig:                          Catalog  = C:\Windows\System32\DriverStore\Temp\{d9cc87ee-7a40-8e40-a164-42bda793414e}\CYUSB3.cat

     sig:                          Success: File is signed in catalog.

     sig:                     {_VERIFY_FILE_SIGNATURE exit(0x00000000)} 15:05:52.943

     sto:                {DRIVERSTORE IMPORT VALIDATE: exit(0x00000000)} 15:05:52.946

     sig:                Signer Score  = 0x0D000005 (WHQL)

     sig:                Signer Name   = Microsoft Windows Hardware Compatibility Publisher

     sig:                Submission ID = 30050720_14489650985276613_1152921504627182486

     sto:                {Core Driver Package Import: cyusb3.inf_amd64_3cbe0fc516f1d770} 15:05:52.949

     sto:                     {DRIVERSTORE IMPORT BEGIN} 15:05:52.950

     sto:                     {DRIVERSTORE IMPORT BEGIN: exit(0x00000000)} 15:05:52.950

     cpy:                     {Copy Directory: C:\Windows\System32\DriverStore\Temp\{d9cc87ee-7a40-8e40-a164-42bda793414e}} 15:05:52.950

     cpy:                          Target Path = C:\Windows\System32\DriverStore\FileRepository\cyusb3.inf_amd64_3cbe0fc516f1d770

     cpy:                     {Copy Directory: exit(0x00000000)} 15:05:52.951

     idb:                     {Register Driver Package: C:\Windows\System32\DriverStore\FileRepository\cyusb3.inf_amd64_3cbe0fc516f1d770\cyusb3.inf} 15:05:52.952

     idb:                          Created driver package object 'cyusb3.inf_amd64_3cbe0fc516f1d770' in SYSTEM database node.

     idb:                          Created driver INF file object 'oem54.inf' in SYSTEM database node.

     idb:                          Registered driver package 'cyusb3.inf_amd64_3cbe0fc516f1d770' with 'oem54.inf'.

     idb:                     {Register Driver Package: exit(0x00000000)} 15:05:52.957

     idb:                     {Publish Driver Package: C:\Windows\System32\DriverStore\FileRepository\cyusb3.inf_amd64_3cbe0fc516f1d770\cyusb3.inf} 15:05:52.957

     idb:                          Activating driver package 'cyusb3.inf_amd64_3cbe0fc516f1d770'.

     cpy:                          Published 'cyusb3.inf_amd64_3cbe0fc516f1d770\cyusb3.inf' to 'oem54.inf'.

     idb:                          Indexed 52 device IDs for 'cyusb3.inf_amd64_3cbe0fc516f1d770'.

     sto:                          Flushed driver database node 'SYSTEM'. Time = 0 ms

     idb:                     {Publish Driver Package: exit(0x00000000)} 15:05:52.967

     sto:                     {DRIVERSTORE IMPORT END} 15:05:52.969

     dvi:                          Flushed all driver package files to disk. Time = 16 ms

     sig:                          Installed catalog 'CYUSB3.cat' as 'oem54.cat'.

     sto:                     {DRIVERSTORE IMPORT END: exit(0x00000000)} 15:05:52.976

     sto:                {Core Driver Package Import: exit(0x00000000)} 15:05:52.976

     sto:           {Stage Driver Package: exit(0x00000000)} 15:05:52.977

     sto:      {Setup Import Driver Package - exit (0x00000000)} 15:05:52.985

     dvi:      Searching for hardware ID(s):

     dvi:           usb\vid_04b4&pid_00f1&rev_0000

     dvi:           usb\vid_04b4&pid_00f1

     dvi:      Searching for compatible ID(s):

     dvi:           usb\class_ff&subclass_00&prot_00

     dvi:           usb\class_ff&subclass_00

     dvi:           usb\class_ff

     dvi:      Class GUID of device changed to: {36fc9e60-c465-11cf-8056-444553540000}.

     dvi:      {Plug and Play Service: Device Install for USB\VID_04B4&PID_00F1\5&38E97A59&0&17}

     dvi:           Driver INF Path: C:\Windows\INF\oem54.inf

     dvi:           Driver Node Name: cyusb3.inf:2a47871f8139ab0c:CyUsb3:1.2.3.20:usb\vid_04b4&pid_00f1

     dvi:           Driver Store Path: C:\Windows\System32\DriverStore\FileRepository\cyusb3.inf_amd64_3cbe0fc516f1d770\cyusb3.inf

     dvi:           Searching for hardware ID(s):

     dvi:                usb\vid_04b4&pid_00f1&rev_0000

     dvi:                usb\vid_04b4&pid_00f1

     dvi:           Searching for compatible ID(s):

     dvi:                usb\class_ff&subclass_00&prot_00

     dvi:                usb\class_ff&subclass_00

     dvi:                usb\class_ff

     dvi:           Class GUID of device changed to: {36fc9e60-c465-11cf-8056-444553540000}.

     dvi:           {Core Device Install} 15:05:53.014

     dvi:                {Install Device - USB\VID_04B4&PID_00F1\5&38E97A59&0&17} 15:05:53.014

     dvi:                     Device Status: 0x01806400, Problem: 0x1c (0xc0000490)

     dvi:                     Parent device: USB\ROOT_HUB30\4&5375334&0&0

     dvi:                     {Configure Device - USB\VID_04B4&PID_00F1\5&38E97A59&0&17} 15:05:53.018

     dvi:                          Device Status: 0x01806400, Problem: 0x1c (0xc0000490)

     dvi:                          Parent device: USB\ROOT_HUB30\4&5375334&0&0

     sto:                          {Configure Driver Package: C:\Windows\System32\DriverStore\FileRepository\cyusb3.inf_amd64_3cbe0fc516f1d770\cyusb3.inf}

     sto:                               Source Filter  = usb\vid_04b4&pid_00f1

     inf:                               Class GUID     = {36fc9e60-c465-11cf-8056-444553540000}

     inf:                               Class Options  = Configurable BootCritical

     inf:                               {Configure Driver: Cypress FX3 USB StreamerExample Device}

     inf:                                    Section Name = CyUsb3.NTamd64

     inf:                                    {Add Service: CYUSB3}

     inf:                                         Start Type    = 3

     inf:                                         Service Type  = 1

     inf:                                         Error Control = 1

     inf:                                         Image Path    = \SystemRoot\System32\Drivers\CYUSB3.sys

     inf:                                         Display Name  = Cypress Generic USB3.0 Driver

     inf:                                         Group         = Base

     inf:                                         Updated service 'CYUSB3'.

     inf:                                    {Add Service: exit(0x00000000)}

     inf:                                    Hardware Id  = USB\VID_04B4&PID_00F1

     inf:                                    {Configure Driver Configuration: CyUsb3.NTamd64}

     inf:                                         Service Name  = CYUSB3

     inf:                                         Config Flags  = 0x00000000

     inf:                                    {Configure Driver Configuration: exit(0x00000000)}

     inf:                               {Configure Driver: exit(0x00000000)}

     flq:                               Copying 'C:\Windows\System32\DriverStore\FileRepository\cyusb3.inf_amd64_3cbe0fc516f1d770\CYUSB3.sys' to 'C:\Windows\System32\Drivers\CYUSB3.sys'.

     cpy:                               Existing file 'C:\Windows\System32\Drivers\CYUSB3.sys' remains unchanged.

     sto:                          {Configure Driver Package: exit(0x00000000)}

     dvi:                          Install Device: Configuring device (oem54.inf:usb\vid_04b4&pid_00f1,CyUsb3.NTamd64). 15:05:53.042

     dvi:                          Install Device: Configuring device completed. 15:05:53.045

     dvi:                          Device Status: 0x01806000, Problem: 0x0 (0x00000000)

     dvi:                          Install Device: Starting device 'USB\VID_04B4&PID_00F1\5&38E97A59&0&17'. 15:05:53.046

     dvi:                          Install Device: Starting device completed. 15:05:53.053

     dvi:                     {Configure Device - exit(0x00000000)} 15:05:53.054

     dvi:                {Install Device - exit(0x00000000)} 15:05:53.056

     dvi:           {Core Device Install - exit(0x00000000)} 15:05:53.056

     ump:      {Plug and Play Service: Device Install exit(00000000)}

     ndv:      {Install Related Drivers} 15:05:53.059

     ndv:      {Install Related Drivers: exit(0x00000000)} 15:05:53.060

     dvi:      {DIF_NEWDEVICEWIZARD_FINISHINSTALL} 15:05:53.075

     dvi:           Default installer: Enter 15:05:53.075

     dvi:           Default installer: Exit

     dvi:      {DIF_NEWDEVICEWIZARD_FINISHINSTALL - exit(0xe000020e)} 15:05:53.076

     ndv: {Update Driver Software Wizard exit(00000000)}

<<<  Section end 2019/10/21 15:05:54.663

<<<  [Exit status: SUCCESS]

With regards,

Maksim

0 Likes
lock attach
Attachments are accessible only for community members.

Hello Maksim,

- Please try programming the attached firmware.This will show Cypress Fx3 USB Streamer Device with an warning (yellow mark). You need to uninstall the device with checking the option for Delete the Driver software for this Device.

- Program the FX3 again with the same firmware.

        - Now you might see FX3 under other devices.

        - And one COM Port

- Now you need to manually bind the cyusb3 driver to the FX3. The COM Port might be binded to Windows driver.Bind the COM Port to Cypressserial driver.

- If you don't want to bind the drivers manually, you would need to change .inf file. On doing so the signature would be lost and you would need to get it signed again. You can refer to these thread CyUSB3 : Cypress VID/PID allowed in third party INF ?   Driver Resell - CyUSB3.sys

Please let me know the results.

Regards,

Rashi

Regards,
Rashi
0 Likes

Rashi,

it works as you described and creates 2 COM ports after manual binding to Cypress driver, but there is no actual data transfer through them: the first one cannot be opened, while the second one opens, but there is no signal on FX3 UART output when I'm trying to send something.

By the way, I get two ports also when I use modified .inf - one is unusable, but another one works great.

So, some issue still exists.

Thank you!

With regards,

Maksim

0 Likes
lock attach
Attachments are accessible only for community members.

Hello Maksim,

I had not added the CDC functionality in firmware that i had attached in my previous response. I had just changed the descriptor file. For CDC functionality .c file need to be changed accordingly to handle the CDC

You shouldn't get two Com Ports when FX3 is programmed: One should be as Cypress Fx3 Streamer Device and one Serial Com Port. Please use fresh driver files before testing and not the one that you modified.

I have tested this firmware on both High speed and Super speed

These are the steps you need to follow:

- Please load the attached firmware (with CDC functionality added). I have combined usbuart sdk example with slavefifosync firmware.

the #define cdc enables switching between slavefifo and slavefifo + cdc

- Check the Device manager - uninstall the device (with yellow mark)

- Program the FX3 again  - FX3 will be seen under other devices - and a serial port will be seen under Port (COM & LPT)

- You need to bind FX3 with Cyusb3 driver  (choose Cypress Fx3 Streamer Device)  and serial port with Cypressserial driver

- You can see FX3 as Cypress Fx3 Streamer Device and one Serial Com Port

-Now as per the functionality of usbuart SDK example and Slavefifo:

  -The fx3 will have functionality of Slavefifo

  - The second functionality will be as serial com port

The UsbUart example is have channel from usb to uart and uart to usb. So connect the uart pins or use int integrated debugger (if using CyUSB3Kit-003 explorer kit).

- Open two windows of teraterm : one with FX3 as CDC and other with the uart lines.

- Try transferring data.

Please find the attached results of my tests

Regards,

Rashi

Regards,
Rashi
0 Likes

Rashi,

many thanks for your help! Now it works good.

Manual binding is better than .inf modification.

By the way, are there any method to change device name in the Dispatcher without .inf modifying/signature loss?

Thanks again!

With regards,

Maksim

0 Likes

Hello Maksim,

You cannot change VID or the device name without doing changes in .inf file.

Regards,

Rashi

Regards,
Rashi
0 Likes

您好!请问下1594719764(1).png这一步是重新上电用control center烧写到RAM吗?

0 Likes

Hello,

Please create a new thread for a new query.

Regards,

Rashi

Regards,
Rashi
0 Likes