How do I troubleshoot PSoC Creator software-related issues?
This article addresses software-related issues for PSoC Creator and PSoC Programmer™.
1. Installation process stalls with the message ‘Feature trying to use is unavailable’
The Cypress software installer for PSoC Creator (CyInstaller) could not find an earlier version of the installer (MSI) file, which does not exist in the system.
In this example, CyInstaller is looking for CDM.379.msi instead of CDM.769.msi.
Reason: Windows installer Data Base might have corrupted due to incomplete un-installation.
Workaround: Copy the required file manually to the required path (CDM.379.msi). Contact Cypress support to obtain the required files.
2. Cypress Update manager is not installed
Reason: This is caused by an incomplete installation. Try reinstalling the PSoC Creator software. If issue persists, check whether the file cyliveupdate.exe exists within the C:\Program Files (x86)\Cypress\Cypress Update Manager folder. This file can run standalone. As a workaround, copy the EXE file to the location listed earlier from another installation. Create a technical support case with Cypress support to obtain the file if you are unable to obtain it from another installation.
3. PSoC Programmer COM object failed to start
When you start PSoC Creator, you get an error message that PSoC Programmer is not installed in the system.
If you try to open the PSoC Programmer, you will get the error message as shown:
Reason: PSoC Programmer COM object is not registered correctly.
- Open Command Prompt in Administrator mode. (Right-click and select „Run as administrator‟)
- Change Directory to “C:\Program Files (x86)\Cypress\Programmer”
- Run PSoCProgrammerCOM.exe /unregserver.
- Run PSoCProgrammerCOM.exe /regserver.
- Open PSoCCreatorInstaller.exe from C:\Program Files (x86)\Cypress\PSoC Creator\X.X\Updater
- Select Installation Type as Remove and click Next.
5. More options for debugging installation issues
- Run the Installation file as an administrator (right-click the file and select Run as administrator).
- Check System Configuration
- Refer to the Release Note to verify that your system configuration meets the PSoC Creator installation requirements. You can find the Release note from PSoC Creator Landing Page, Documentation tab [Check Installation >Operating System section] or PSoC Creator Release Notes Archive.
- Reinstall PSoC Creator with the help of Registry Repair Application
Try reinstalling the PSoC Creator/Programmer after cleaning up registry entries by using this tool. CyInstaller installs several MSI files; each MSI file has its own unique registry entry. Before installing the MSI package, Windows checks whether a registry entry related to the MSI being installed is already available. If available, the installer skips the related step. Therefore, any incorrect registry entry can lead to installation issues.
- Check whether your Anti-virus is causing this issue
Some antivirus software remove certain EXE files from PSoC Creator installation due to false detection. Do the following in such cases:
- Disable the Antivirus in your system.
- Reinstall PSoC Creator.
- Enable the antivirus software again after PSoC Creator installation is completed.
- Reinstall PSoC Creator with the help of Registry Repair Application
1. Script Error
Error Message: 'An error has occurred in the script on this page'
Reason: This may be caused by the content delivered in the start page from www.cypress.com
Workaround: In PSoC Creator, select Tools > Options. In the Options dialog that appears, select the Environment section, and uncheck the Show Start Page at startup checkbox.
2. Error message while closing the PSoC Creator
Error Message: "PSoC Creator has encountered a problem and must close"
Reason: Temporary PSoC Creator configuration files are corrupted.
Workaround: Delete all PSoC Creator configuration files. These are available in the following location: C:\Users\[username]\AppData\Local\Cypress Semiconductor\PSoC Creator\X.Y.
Try deleting the X.Y folder. Deleted files are regenerated by PSoC Creator.
3. Assertion Failed
Error message: ' Expression: NextLocalOffset + FileSize +1 > NextLocalOffset && NextLocalOffset + FileSize + 1 <= CurrentLoadedOffset && "Ran out of source location" '
Reason: This happens when you run PSoC Creator on a virtual machine and access source files from a shared folder. There is a known issue with a thirdparty tool that is used to support semantic parsing features. For more information, refer to the bug report for that tool (http://llvm.org/bugs/show_bug.cgi?id=21143).
Workaround: Disable semantic parsing using the Tools > Options > Semantic Parsing. This requires a PSoC Creator restart.
Reason and Workaround: See http://www.cypress.com/knowledge-base-article/assertion-failed-clang-com...
1. PSoC Creator reports some files/paths do not exist. For example: CONFIG.HEX
Error Message: 'Unable to read the hex file (.\Generated_Source\PSoC3\config.hex). The path does not exist.'
Reason: If some files generated by PSoC Creator are deleted from outside the PSoC Creator.
- Try 'Clean and Build'
2: Delete 'Generated Source' folder from workspace explorer.
2. Pin Editor is not updated with the changes in the System tab of the CYDWR file or TopDesign
4. Error message is displayed by Semantic Parser when there is a nested function
5. Build error due to name conflict
- "undefined reference to 'main'"
- "Internal Error (aborting): An item with the same key has already been added"
- "There is a naming conflict between component instances and cyfitter. Each generated a file named ""cyfitter.h”
Reason: These errors are due to naming conflicts while giving names to TopDesign components. Pay special attention while naming the components. For example, do not use names of file PSoC Creator auto-generated files like project, cyfitter, etc.
1. How to use math functions (for example, sqrt or pow)
Error message: "undefined reference to 'sqrt'"
2. sprintf is not working properly
- Enable "newlib-nano Float Formatting" Build Settings > Linker > General > Use new lib nano Float Formatting = TRUE
Note: This step will not work in PSoC Creator 3.1 SP3 and older versions. You should use the -u _printf_float command in Linker Command Line [Build Settings > Linker > command line > Custom Flags > -u _printf_float]. This is fixed from PSoC Creator 3.2 and later.
2. Increase heap size to 0x200 or more. [*.cydwr file -> Systems tab]
Note: sprint of 64-bit integers (long long) is not supported by newlib-nano. Use newlib instead of newlib-nano. This will cause the flash usage to increase.
1. Port Settings
Q: What is the recommended port configuration in PSoC Creator for debugging?
The debugger can be configured by going to PSoC Creator > Tools > Program/Debug > Port Configuration (see the figure below)
- Power: If you are not powering the board with the debugger, then you can set this parameter as ‘External’. Otherwise, set an appropriate voltage.
- Acquire Mode: Set an appropriate Acquire mode. Note that KitProg supports only Reset mode; MiniProg3 supports both modes.
- Connector: Select the connector based on the hardware configuration.
- Clock Speed: Select the clock such that it is less than one-third of the system clock.
2. Device is disconnected during debug sessions
- Check if the Debug Select option in the DWR settings is configured properly (see the figure below). If this is configured as GPIO, then debugging will not be enabled.
- Check if the debugging clock frequency is fast. If the debug clock frequency is more than one-third of the system clock, then debugging cannot be done properly.
- Check if there is a software breakpoint in the IMO frequency initialization segment in the code startup section. The debug process needs the IMO to be initialized correctly. It is not recommended to use software breakpoints in the IMO initialization section.
- Check if you have WDT or software reset statements in the code. These reset states will cause disconnection.
3. Bootloader and Bootloadable Projects
As per the PSoC bootloader implementation, switching between a Bootloader project and a Bootloadable project uses software reset. Therefore, the debug option is disabled for Bootloadable projects. However, you can debug the project by selecting Debug > Attach to Running Target. The bootloader project can be debugged similar to any other projects, until the code hits the software reset statement. The connection to the debugger is lost when it performs a software reset.
4. Debugging BLE-based projects
There is no limitation in debugging BLE-based projects. However, most BLE projects have been configured for low-power mode operation, which means that the Debug Select option in CYDWR is set to ‘GPIO’. To enable debugging, go to CYDWR of your project (you can find this in the Workspace Explorer of PSoC Creator IDE). Select the Systems tab and set Debug Select to 'SWD'. Now, rebuild the project and use it for debugging.
BLE devices connected to other devices must execute the CyBle_ProcessEvents() once in every connection interval. This function is responsible to update the pending operations of the BLE stack. If code execution is halted while debugging the project, then CyBle_ProcessEvents() may not be executed in a timely manner. This will result in a BLE disconnect event.
1. Export to Eclipse IDE Issues
6.1.1 Toolchain is missing for PSoC Creator while creating a new C project
“Cross GCC (PSoC Creator)” is missing in the Toolchains option while creating a new C project
Response: This happens because either the PSoC Creator Eclipse Import plugin version is not compatible with PSoC Creator’s version or the Eclipse IDE installation is not proper. Also, the system must have Java 7 or later installed.
Workaround: Reinstall the correct version of the PSoC Creator Eclipse Import plugin or reinstall the Eclipse IDE. Make sure Eclipse Luna or later and Java 7 or later are installed in the system.
6.1.2 Import Error
Error message: "Project cannot be created" Reason: Internal Error. Clicking details gives “java.lang.NullPointerException"
Response: Older version of PSoC Creator Eclipse Import plugin is used with the latest version of PSoC Creator. For example, PSoC Creator 4.0 needs “PSoC Creator Eclipse Import v2.3.1.zip (Luna, Mars)” plugin.
Workaround: Use the correct version of PSoC Creator Eclipse Import plugin.
2. Export to Keil uVision IDE Issues
6.2.1 Build Error
Build Error associated with .axf file
Error Message: ‘.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'
Build Error associated with .sct file
Error Message: “sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST."
Response: The problem occurs if a wrong toolchain is selected (in versions prior to PSoC Creator 4.0) or due to incorrect linker settings.
Workaround: In versions prior to PSoC Creator 4.0, while exporting the project to Keil uVision select the toolchain as ‘ARM MDK Generic’.
Do the linker settings as shown in the figure.
Error Message: “The export has failed. Keil uVision was unable to write to the uVision project target projectName.uvproj. This file may be open in another instance of uVision or marked read only. Close uVision or make the project file writable, then try to export again."
Response: This is a known issue with ARM uVision versions between v5.16 and v5.20 as described in the following knowledge base article
Exporting PSoC Creator Project to Some Versions of ARM µVision Fails - KBA215839
Workaround: Check if the version of ARM uVision is between v5.16 and v5.20 and update to a newer version.
3. Export to IAR Embedded Workbench Issues
6.3.1 Debugging Error
Error Message: “ELF/DWARF Error: Unsupported .debug_info format version: 4.”
Response: C-SPY Debugger used in the IAR Embedded Workbench IDE can read certain DWARF 4 files, but not others.
Workaround: Set command "gdwarf-2" in the Command Line (inside Custom Flags) in Linker settings, Compiler settings, and Assembler settings in PSoC Creator Build Setting as shown in this figure.
gdwarf-version: Produces debugging information in DWARF format (if supported). The version may be 2, 3, 4, or 5; the default version for most targets is 4. DWARF Version 5 is only experimental.
Note that with DWARF Version 2, some ports require and always use some non-conflicting DWARF 3 extensions in the unwind tables
Version 4 may require GDB 7.0 and -fvar-tracking-assignments for maximum benefit.
See https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html for more details.