USB superspeed peripherals Forum Discussions
I have FX3 connected to a main application processor via the asynchronous SRAM interface with 8 address and 16 data bits. I am trying to access the FX3 internal MMIO space from the application processor(AP).
I am able to access the P-port registers from the AP by reading and validating the PP_IDENTIFY register value(0x81). Now the next step is to access the internal MMIO registers(specifically the S-port register to configure and use the SDIO peripheral).
Seeing the registers, it seems easy. I can access the PP_MMIO_* register to program but I'm unable to do so. This is my sequence to access the SDCMD0 register.
WRITE32(PP_MMIO_ADDR, register_address_of_sdcmd0); // Write the address of the MMIO register to be accessed to the PP_MMIO_ADDR register.
WRITE16(PP_MMIO, PP_RD); // Write to the MMIO Control register to the enable the read from the address programmed in PP_MMIO_ADDR register.
WAIT(); // Wait until the read operation has been completed.
I can write to the PP_MMIO_ADDR register and have verified it by reading it back. However, I'm unable to program the PP_MMIO register. It reads back 0 every
time.
My register value for PIB_CONFIG is 0xC8000000.
My register value for GPIF_CONFIG is 0xC0000A12.
Both these values indicate that the Read operation should succeed, but it isn't and I'm not sure why. Can anyone help me here quickly ? Am I on the right path or do I need to do something else here ? Any help would be appreciated.
Show LessHi,
I am using CX3 and cyusb_linux in Linux for flashing. In my setup, I have additional I2C EEPROMs. Can I modify the source code of cyusb_linux Qt source base and write my own function which performs I2C flash write to my I2C EEPROMs? My EEPROM will have different slave addresses and I need to write to different memory locations in it.
If so, please help me what to do with the function 'i2c_write' in file fx3_download.cpp?
Show LessHello, I want to know the bit ordering of FX3
======================================================
Update : Sorry, I mean CyU3PDmaBufferInit actually, not CyU3PDmaBufferDeInit.
======================================================
at the function CyU3PDmaBufferInit the source file cyfxtx.c,
there is a comment says
"make those bits beyond valid memory range as unavailable."
========================================================
For example :
If I set my heap size to 2292 byte , then
2292/32 =71 bit , 71 status bits are required , and also
71 mod 32 = 7 .
7 bits are in glBufferManager.usedStatus[size - 1]
and there is a local variable
temp = 32 -7 = 25,
so i have 25 bits beyond valid memory range.
and finally the masking
glBufferManager.usedStatus[size - 1] = ~((1 << 25) - 1)
then i set the highest 7 bits of
glBufferManager.usedStatus[size - 1] to 1.
========================================================
please correct me if I'm wrong.
訊息由此人編輯:學人 楊
Show LessHi,
where can i find an endpoint number associiated with UIB sockets?
example USB socket 1(consumer) is associated with endpoint 0x81 and USB socket 1(producer) is associated with endpoint 0x01.
what about remaining UIB socket endpoint?
thank you.
Show LessHi,
i am using j link segger debugger to debug fx3 codes,i am checking program execution step by putting breakpoint,i am new to segger debugging,any documents regarding this debugging steps?i have successfully setup the j link segger.
how to check data inside the buffer using this segger?
when i connect segger,endpoints are not enumarating in the control centre,please solve this.
thank you.
Show LessHI,
Our custom board(fx3s) is some times failed to enumerate as usb device.some times it works pretty,some times its require power off and on.what is the reason?
thank you.
Show LessHello.
I have a "denebola" video cameras.
I plan to add additional features to the board (to expand the control capabilities of the video camera).
For example, I want to send signals to the camera to be able to move it to the right and left (to include the motors through the available gpios) using only one physical usb cable.
How is this best done? There are several possible solutions.
1. You can extend and redefine the UVC interface.
2. Add a new cdc device (interface) to the uvc device (interface).
3. Add a new hid device (interface) to the uvc device (interface).
Tell me how to add a hid device (interface) to the uvc device (interface)?
Show LessIn UVC firmware, when a GPIO key pressed, in the GPIO interruption function I want to send a code like 0xFF to PC Host software, So it can take some action like turn on the LED. So how can I realized the function.I want some example application code for this.
Show LessI have an application where I would like to output single words of data (16bit or 32bit) from the FX3 to its output pins.
DQ0..31 can be configured as GPIO and controlled "manually" using the CPU, one pin at a time, by writing to GPIO_SIMPLE.
But on most other MCU's such port pins will also be directly memory mapped so that a single 16bit or 32bit CPU write will control all pins with a single write.
Is this kind of functionality possible on FX3, or must I always use DMA to control the GPIF outputs in a synchronous way?
Show LessHello,
we need an application that will run on android plateform(like andriod mobiles,tablet),Is there any source code available for fx2lp in application side (control centre or streamer)for this android application.if any let me know.
or can i modified fx2lp control center for android application?
thank you.
Show Less