PSoC™ Creator & Designer Forum Discussions
text.format{('custom.tabs.no.results')}
In every project on line 12 I give error #include <project.h> or #include "device.h". Thank.
I am trying to write a mass programmer for production.
The PSoC4/SWD/Cpp-EX Example code provided for erase flash dose not seam to actually be able to clear chip protection.
The code as written in the original example did not erase a protected chip.
I then thinking the chip needed rebooted added a release command before the acquire, No Effect
I then added a erase operation after the writeProtection(), No effect.
I then had it hit the writeProtection() 3 times in a row, Also no effect.
The chip is a CYBLE-014008-00.
The PSoC Programmer software is able to program and erase the protected chip with no issues.
The example code before and after moving it to C++ was/is able to program and erase unlocked chips with no issues. Only the unlocking portion of the example fails.
long c_cypCom::PSoC4_EraseAll()
{
long hr;
//Check chip level protection here. If PROTECTED then move to OPEN by PSoC4_WriteProtection() API.
//Otherwise use PSoC4_EraseAll() - in OPEN/VIRGIN modes.
//TODO do we need to detect no chip and not run any further if none is there??? ppPSoC4_WriteProtection crashes if there is no chip in its default state.
hr = PSoC4_IsChipNotProtected();
if (SUCCEEDED(hr)) //OPEN mode
{
//Erase All - Flash and Protection bits. Still be in OPEN mode.
hr = ppPSoC4_EraseAll(sErrorMsg);
if (!SUCCEEDED(hr))
{
printf("ERROR:%s\n",sErrorMsg.c_str());
return REC_DEVICE_ERASE*-1;
}
}
else
{ //Move to OPEN from PROTECTED. It automatically erases Flash and its Protection bits.
std::vector<byte> flashProt; // do not care in PROTECTED mode
std::vector<byte> chipProt; //move to OPEN
chipProt.push_back(CHIP_PROT_OPEN);// Set as 0x01 value in memory is 1 for the first element of chipProt.
hr = ppPSoC4_WriteProtection(flashProt, chipProt, sErrorMsg);// FAILS TO UNLOCK AND ERASE CHIP
if (!SUCCEEDED(hr))// No errors present here
{
printf("ERROR:%s\n",sErrorMsg.c_str());
return REC_DEVICE_ERASE*-1;
}
//Need to reacquire chip here to boot in OPEN mode.
//ChipLevelProtection is applied only after Reset.
hr = ppDAP_Acquire(sErrorMsg);
if (!SUCCEEDED(hr))
{
printf("ERROR:%s\n",sErrorMsg.c_str());
return REC_DEVICE_ERASE*-1;
}
}
if (!SUCCEEDED(hr)) return REC_DEVICE_ERASE*-1;
return REC_GOOD;
}
I am looking for suggestions.
Show LessIs there any way to silently install PSoC Programmer? We have another tool that depends on it, and would like to be able to automatically install Programmer from our tool without the user having to click through multiple setup windows. Currently, we can only install via the included wizard.
Show LessHi,
I am trying to use the emWin library with a PSoC 5. However, at build time, I get the error: "undefined symbol `RomVectors' referenced in expression" from the compiler it what I think is the final compile step (creating the final hex file).
It is loading up the cm3gcc.ld file when I double click on the error, which has references to the RomVectors symbol (e.g. "PROVIDE(__cs3_interrupt_vector = RomVectors); *(.romvectors).") This file is the "Linker script for ARM M-profile Simulator".
I have successfully used the emWin library with the PSoC 3 before and have not had this error. The project compiled fine before I started installing the emWin library, although this error doesn't seem directly related to the emWin library anyway.
A google search on this error brings up almost no useful information.
Show LessHello,
I want to create a pcb with CY8CMBR3108 and some proximity sensors
I was planning in following the same design as the CY8CKIT-024, with modification, and hace some questions:
-Is it possible to achieve the same fonctionnality as the kit when plugged on a CY8CKIT-042 with a CY8CMBR3108 connected through I2C to a microcontroller?
-Can I have the components on the same side as the sensors, maybe with a ground fill between sensors and components, if so, what hatched ground should I use?
-Can I place the components at the center of the PCB, with the sensors "surrounding"
-After reading the datasheet for the 024 kit, I am not sure about the connection of the ground/shield trace, it seems to be connected to the smaller copper loop, and the hatched pattern at the bottom of the card. If I want this kind of shield, the hatched pattern must not be connected to the ground, am I right? Do I have to connect it to the hatched pattern on the side of the components & sensors?
Thanks in advance
Show LessHow can I see how much memory use the program from the MCU - flash and RAM ?
When rotating an AMux component in the software, most of the wires disconnect or switch connections to other wires. This also happens when increasing the number of channels on the ADC.
Steps to reproduce
- Add AMux
- Set 4 channels to the component
- connect 4 pins
- either rotate the component 90 degrees or add a 5th channel.
Also, a bug with your website, please fix the SSL cert for https://origin-www.cypress.com Its not configured correctly.
Environment:
PSoC Creator 4.1 Update 1 (4.1.0.3210)
Culture: English (United States)
OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
CLR Version: 4.0.30319.1
Installed CyInstaller Products:
Peripheral Driver Library 2.1.0
PSoC Programmer 3.26.0
PSoC Creator 4.1 Update 1
Loaded Plugins:
Name: Feedback Plugin
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Add a feedback page to the framework
Name: Customizer Loader
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Loads component customizers.
Name: Addin Discovery
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Discovers PSoC Creator addins (kits, language packs, etc)
Name: Device Catalog
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Device Catalog Plugin
Name: Documentation
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Adds the topics available in the documentation.
Name: Start Page
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Adds a start page to the framework.
Name: Output Window Plugin
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Adds the output window
Name: SCC Manager
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: The Source Code Control Manager is the central class used for SCC actions within PSoC Creator.
Name: Symbol, Schematic and SchMacro Factory
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: The Symbol and Schematic Factory is used to load, cache, and retrieve symbols and schematics.
Name: Project Manager Plugin
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Adds project management related functionality.
Name: GDE Plugin
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Loads the Symbol and Schematic editors
Name: Language Plugin
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Supports user files in multiple languages
Name: Workspace Factory
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: The Workspace Factory is used to retrieve instances of PSoC Creator workspaces.
Name: Project Factory
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: The Project Factory is used to retrieve instances of PSoC Creator projects.
Name: Toolchain Manager
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: PSoC Creator Toolchain Manager
Name: ARM GCC Generic
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: ARM GNU Generic
Name: ARM MDK Generic
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: ARM MDK Generic
Name: ARM IAR Generic
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: ARM IAR Generic
Name: DP8051 Keil Generic
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: DP8051 Keil Generic
Name: Device Selector
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Adds a dialog that allows the user to select a device.
Name: File Editor Factory Plugin
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Add file editors to the framework.
Name: Transport Framework
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Provides a generic device communication framework for use by other plugins.
Name: Debugger Core
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: The Core Debugger provides an architecture independent framework for the common debug features.
Name: PSoC Debugger
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Provides debugging support for the different PSoC families through a GDB back end.
Name: FM Debugger
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Provides debugging support for FM device families
Name: Device IO Transport
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Provides device IO support for Cypress devices though PSoC Programmer APIs.
Name: Serial Transport
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Provides basic serial device support for the rest of the tool.
Name: Bootloader Host
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Provides a host tool to perform bootloading operations.
Name: Background Elaborator
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: PSoC Creator Background Elaborator.
Name: TypeCache Factory
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: The TypeCache Factory is used to retrieve instances of TypeCaches.
Name: PSoC Fitter
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: PSoC Fitter Plugin
Name: FM Fitter
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: FM Fitter Plugin
Name: DWR Plugin
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Registers resource editors with devices.
Name: DMA Wizard
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Enables quick and correct development of applications that use DMA.
Name: Tuner Plugin
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: Manages custom component tuner executables
Name: Notice Window
Version: 4.1.0.3210
Company: Cypress Semiconductor
Description: The Notice Window displays notices (status messages / errors with managed lifetimes).
Show LessI have archived a PSOC Creator 4.1 project using the "Minimal" setting in order to create the minimal amount of files that I need to create a GIT repository. I then opened the archived zip file and copied the top level directory and its entire contents to a separate directory. In that new directory, I deleted the path ".\CortexM0\ARM_GCC_541\Release" which contains the output hex file. I also deleted the path ".\Generated_Source\PSoC4" which contains all of the generated source code. I then opened up this new project and clean and built the code. I then compared the original Intel hex file to the new hex file and discovered that the 2 files are significantly different.
So I started again with the archive file and copied the entire contents to another new directory. In this new directory, I again deleted the path ".\CortexM0\ARM_GCC_541\Release" which contains the output hex file. But now, what I did was delete all of the files in the path ".\Generated_Source\PSoC4" which contains all of the generated source code but i did NOT delete the path (an empty directory ".\Generated_Source\PSoC4" still exists). I then opened up this new project and clean and built the code. I then compared the original Intel hex file to the new hex file and discovered that the 2 files are IDENTICAL.
Can someone explain. Since our project will eventually become an FDA medical device, we need to be able to identically reproduce the Intel Hex file
NOTE: I did not touch any of the default project settings.
Show LessI would like to know how to do multiple controller outputs through a single loop. I have 16 capacitive buttons on one board and would like to control the leds according to the touch of the buttons. Since there are 16 buttons I do not want to write line by line. I would like to use a loop loop to save computational effort. Attached is my coda. I am using the CY8CKIT-042-BLE-A kit.
Show Less
#include <project.h>
#include <stdio.h>
int main()
{
uint32 button[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* Current button state */
uint32 button_down[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* Previous button state */
const void *myleds[]={LED_1_Write,LED_2_Write,LED_3_Write,LED_4_Write,LED_5_Write,LED_6_Write,LED_7_Write,LED_8_Write,LED_9_Write,LED_10_Write,LED_11_Write,LED_12_Write,LED_13_Write,LED_14_Write,LED_15_Write,LED_16_Write};
int i=0;
CyGlobalIntEnable; /* Enable global interrupts */
/* Start the components */
CapSense_Start(); /* Initialize Component */
CapSense_ScanAllWidgets(); /* Scan all widgets */
CapSense_InitializeAllBaselines();
CapSense_ScanAllWidgets();
for(;;)
{
if( ! CapSense_IsBusy() )
{
while(i<16)
{
/* Read the buttons */
button[0] = CapSense_IsWidgetActive(CapSense_BUTTON0_SNS0_ID);
button[1] = CapSense_IsWidgetActive(CapSense_BUTTON1_SNS0_ID);
button[2] = CapSense_IsWidgetActive(CapSense_BUTTON2_SNS0_ID);
button[3] = CapSense_IsWidgetActive(CapSense_BUTTON3_SNS0_ID);
button[4] = CapSense_IsWidgetActive(CapSense_BUTTON4_SNS0_ID);
button[5] = CapSense_IsWidgetActive(CapSense_BUTTON5_SNS0_ID);
button[6] = CapSense_IsWidgetActive(CapSense_BUTTON6_SNS0_ID);
button[7] = CapSense_IsWidgetActive(CapSense_BUTTON7_SNS0_ID);
button[8] = CapSense_IsWidgetActive(CapSense_BUTTON8_SNS0_ID);
button[9] = CapSense_IsWidgetActive(CapSense_BUTTON9_SNS0_ID);
button[10] = CapSense_IsWidgetActive(CapSense_BUTTON10_SNS0_ID);
button[11] = CapSense_IsWidgetActive(CapSense_BUTTON11_SNS0_ID);
button[12] = CapSense_IsWidgetActive(CapSense_BUTTON12_SNS0_ID);
button[13] = CapSense_IsWidgetActive(CapSense_BUTTON13_SNS0_ID);
button[14] = CapSense_IsWidgetActive(CapSense_BUTTON14_SNS0_ID);
button[15] = CapSense_IsWidgetActive(CapSense_BUTTON15_SNS0_ID);
// 1 = OFF ; 0 = ON
/* If button was not down and is now down, it was pressed */
if( !button_down && button )
{
LED_i_Write(0); // i want to drive the outputs using some kind of index here.
button_down = 1;
}
/* If button was down and is now not down, it was released */
if( button_down && !button )
{
LED_1_Write(1);
button_down = 0;
}
CapSense_UpdateAllBaselines();
CapSense_ScanAllWidgets();
i++;
}
}
}
}
/* [] END OF FILE */
Hello friends,
I want to run CAN BUS interface with car.so I dont know how can i do that.if there anybody that know please help me to do?
and if there anybody have any example please realese here?
thanks for regard...
Show Less