EasyManua.ls Logo

Cypress EZ-USB FX3 SDK - Porting Applications from SDK 1.2.2 to SDK 1.2.3; Porting Applications from SDK 1.2.3 to SDK 1.3

Cypress EZ-USB FX3 SDK
56 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Cypress EZ-USB® FX3™ SDK Quick Start Guide, Version 1.3.1 33
5.8 Porting Applications from SDK 1.2.2 to SDK 1.2.3
1. The return type of the CyU3PdmaBufferFree function (defined in the cyfxtx.c
file under the firmware applications) has been changed from void to int. This
change was made to allow the implementation to flag memory free failures
to the caller.
The implementation of this function in all existing application code needs to
be updated to change the return type. An updated implementation of this
function is available in the cyfxtx.c file under all examples in SDK 1.2.3.
5.9 Porting Applications from SDK 1.2.3 to SDK 1.3
Some minor changes have been made to the core API of the FX3 SDK for adding
support for the FX3S part. These changes will require the following changes to be
made to all FX3 applications when porting from the 1.2.2 SDK to the 1.3 SDK.
1. Two new members called s0Mode and s1Mode have been added to the
CyU3PIoMatrixConfig_t structure passed as parameter to the
CyU3PDeviceConfigureIOMatrix API. Both of these should be set to the
value CY_U3P_SPORT_INACTIVE for FX3 applications. The API is likely to
return the CY_U3P_ERROR_BAD_ARGUMENT error if these fields are left
un-initialized.
2. New API libraries (cyu3sport.a, cyu3mipicsi.a and cy_as0260.a) are
available under the u3p_firmware/lib/fx3_debug and
u3p_firmware/lib/fx3_release folders. These libraries needs to be added to
the Miscellaneous linker settings when compiling FX3S or CX3 firmware
applications. Please note that the these libraries need to be listed before the
cyu3lpp.a firmware library; as they have dependencies on the GPIO and I2C
functionalities provided by the cyu3lpp.a library.
3. The CyU3PusbControlVBusDetect() API has been modified to add a new
parameter which specifies whether Vbatt should be used instead of Vbus for
USB connection detection. Any calls to this API should be updated to pass in
CyFalse for the useVbatt parameter. This parameter should be set as
CyTrue only if the Vbatt supply is being derived from the Vbus input from the
USB cable.
4. The runtime stacks in the boot firmware library (cyfx3boot.a) have been
moved to the D-TCM region instead of being placed in the SYSMEM region.
This change means that buffers placed in the runtime stack can no longer be
used for DMA transfers. The
CY_FX3_BOOT_ERROR_INVALID_DMA_ADDR error code will be returned
by the CyFx3BootUsbDmaXferData, CyFx3BootSpiDmaXferData,
CyFx3BootI2cDmaXferData and CyFx3BootUartDmaXferData APIs if a
DTCM address is used for the DMA buffer.