- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Rashi