USBFS does not work when optimization is enabled in ImageCraft Compiler

Answer:

Question: When I use USBFS in project and optimization is enabled, either condensation or sublimation or both, project does not work anymore. Why is it so?

Response: Unfortunately there are some issues with USBFS user module and it does not work with condensation and sublimation optimization enabled. Following is the workaround to make it work:

Open following file:

C:\Program Files\Cypress\Common\CypressSemiDeviceEditor\Data\Stdum\USBFS\CY8C24090\GenDescr.xsl 

First take this backup of this file. This file can be opened using notepad or wordpad. Now in this file, AREA func_lit has to be changed to AREA UserModule to avoid erroneous optimizer undate. To do so, just search for all func_lit and replace them with UserModules.

Open following file:

C:\Program Files\Cypress\Common\CypressSemiDeviceEditor\Data\Stdum\USBFS\HID\USB_cls_hid.asm

First take the back up of this file. Now in this file, USBFS_bGetProtocol and USBFS_UpdateHIDTimer functions have to be updated not to get optimized out. To do so, remove .SECTION and .ENDSECTION for these functions. 

This issue will be fixed in PSoC Designer 5.1 Beta 2.