Cypress EZ-USB® FX3™ SDK Quick Start Guide, Version 1.3.1 30
CyU3PUsbSetLinkPowerState(CyU3PUsbLPM_U0) API periodically to ensure that
the link does not get stuck in a low power mode.
5.5 Support for different FX3 parts
The EZ-USB FX3 product family includes multiple parts as shown in the table
below.
The FX3 SDK supports firmware development for each of these parts. The storage
driver and API are packaged as a separate library (cyu3sport.a) that needs to be
linked with FX3S applications alone. FX3 applications do not need to link with this
library.
The SDK identifies the part that is in use and returns appropriate error codes to the
init APIs to indicate that specific functions are not supported by the part. For
example, calling any of the Storage APIs when using the FX3 part will result in a
CY_U3P_ERROR_NOT_SUPPORTED return code. These checks ensure that the
application does not lock up the device by trying to access non-existent
functionality.
When using the FX3 parts which have limited (256 KB) RAM available, the
application memory map needs to be modified to fit all code, data and buffers
within the available memory. The SDK provides separate linker scripts that are
targeted for these parts. Please refer to the boot_fw/src/cyfx3_256k.ld and
firmware/common/fx3_256k.ld files when using the Boot Firmware and the full
firmware libraries respectively.
The following changes are required to update the firmware examples to work on
the CYUSB3011 or CYUSB3013 parts:
1. If using the full firmware library:
i. Copy the contents of the fx3_256k.ld file into the fx3.ld file. The
original linker settings will still be available in the fx3_512k.ld
file.