Fixing Bugs in a Component | Cypress Semiconductor
Fixing Bugs in a Component
It turns out that even the PSoC Sensei makes mistakes. A customer was using the Transmit UART component and tried to build it for the PSoC 3 ES3 silicon. They found that it generated compiler errors. Shame on me for not testing the component with both ES2 and ES3. The fix was easy to implement and I've created a new version of the component with this fix. I’ll discuss in this post the process that is used to create a component version.
PSoC Creator has versioning built into the tool. This allows me to release the fix for those customers that are in a place in their product development that they are able to integrate fixes. It also allows customers that are currently using the existing version to continue to use that version, just in case my fix breaks something else. The original version was version 1.0. That is designated by naming the component with “_v1_0” at the end. The new version is version 1.10. The 1 is referred to as the major version and the 10 is referred to as the minor version.
The creation of the new version is handled mostly by Creator. Here are the steps:
- Select the existing component in the Component tab
- Copy the component
- Select the project
- Paste the component
- This creates a new copy of the component
- Rename the component as desired
Creator automatically updates the names within the component files automatically. For example the Verilog module name is updated for you without requiring any manual changes. Now the functional changes can be made on this new version.
From the user perspective the availability of the new component will not change the existing usage of the component. The library has both versions available for use. Any new instance placed from the catalog will be the latest, but existing instances are left as they are. Since there are now two versions the catalog shows the version number of the latest version.
To update the existing instances the Component Update Tool should be launched from the menu Project->Update Components. This will provide the opportunity to select the version for each component instance that has multiple versions available. UARTTx_1 is the instance of interest in this example. Note that the Component Update Tool allows both upgrading and reverting to an older version if issues are found.
It also includes a link to the datasheet for the selected “Available Version”. The datasheet has a section that describes the changes made.
I’ve updated the library and made it available here: PSoC Sensei Library 01/27/2011.
We’ve added a new capability to our