PSoC™ 6 Forum Discussions
Hi
The PSoC-6 PDL lists some Clock functions, but when I use them in PSoC Creator, they are not identified or declared.
these include:
Cy_SysClk_ClkPathGetFrequency() and Cy_SysClk_ClkHfGetFrequency()
I am using PDL 3.1.5
Do I have to include certain headers or libraries to the project ?
thanks
Show LessExcuse me.
There is a problem that has been bothering me for a long time.
I would like to know how to set the code optimization level in Modus Tool.
Thank you .
Show LessIn case some budys is going to use PSoC6 and FreeRTOS implement tickless idel, i would like to post my experience here.
I use creator 4.4 found CE223508_PSoC6_BLE_MultiSlave_RTOS already implemented tickless idel. Key 2 points are:
defined #define configUSE_TICKLESS_IDLE 1 //in FreeRTOSConfig.h
implmented void vApplicationSleep(TickType_t ) in tickless_idle.c
Whith these implementation. when OS get into idel task, it set MCWDT's counterMatchValue according xExpectedIdleTime.
then put PSoC in deepsleep mode. waiting MCWDT's interrupt. After exit from deepsleep, it Correct the RTOS Kernel's tick count to account for the time spent in the Deep Sleep mode
Use this CE223508, the default/maximum deepsleep time is (0xffff/32kHz) is about 2 second.
if you want a longer deepsleep time. you can modify the MCWDT. I use cascade C0C1. get a 1kHz Counter1. (this is equal to current 1ms systick in OS)
Then modify the relate code in tickless_idle.c (attachment) . As this we get a maximum deepsleep time 65 second.
Show Less
Setup: PSoC Creator 4.4, PDL 3.1.5, CY8KIT-062-BLE
I am using PDL 3.1.5 and am trying to get CE220960 working as the first step in implementing OTA DFU in my project, but I have been having a lot of trouble with it. Right now the issue I'm stuck on is an overlapping sections error when compiling App1. Haven't seen anyone else with this issue. My process was as follows:
1. Create workspace and import DFU_BLE_Upgradable_Stack_Apps removing the parasitic "01" that PSoC Creator always tries to add to the default project names.
2. Make sure I have the correct PDL selected in Tools>Options>Project Management and in Build Settings>Peripheral Driver Library
3. Check Build Settings for all projects to make sure the correct Custom Linker Script and Post Build .bat files are referenced for CM0 and CM4 (dfu_cm0p.ld and dfu_cm4.ld).
4. Change post_build_core*.bat files to reference PDL 3.1.5 on line 11
5. Build App0 successful
6. Build App1 failed with the following error:
ERROR: section .cy_app_signature loaded at [10040ffc,10040fff] overlaps section .data loaded at [10040f90,100412e3]
collect2.exe: error: ld returned 1 exit status
The command 'arm-none-eabi-gcc.exe' failed with exit code '1'.
I'm guessing this has something to do with the flash_app*_core definitions in dfu_common.ld, but I'm having trouble figuring out how the file works. It seems like there are multiple definitions of flash_app*_core variables.
Any help is greatly appreciated!
Show Less
Hi,
I wanted to use CY8CPROTO-062-4343W to develop a trackpad with 4 Tx * 37 Rx spec. I broke all the peripheral parts from the board except for the KitProg3 USB connector.
1. I noticed in the documentation that it's necessary to remove/remount specific resistors to disconnect from peripheral parts. Is that necessary to manipulate resistors since I broke and disconnected all of the peripheral parts from the main board?
2. is there any other thing I have to do to get 41 pins (4 Tx * 37 Rx) ready to work correctly with touchpad?
Thanks,
Show Less
Hello!
About a month ago I did a project that would return some ADC values to a computer through UART using printf(). Fast forward this week, I am doing a similar project and the printf() no longer works (but UART_putstring() does).
After a bit of troubleshooting, I notice that the new projects I create with UART do not generate the files retarget.c and stdio_user.h/c which seem to be necessary to have printf() working.
Any idea on how I can force PSoC creator to generate these? And what could I have possibly done to cause this issue?
Hardware used: [CY8CPROTO-063-BLE (CYBLE-416054-02 + KitProg2)]
Thanks!
Marc
Show LessHi.
I'm using the Em_EEPROM library to emulate a 2 KB EEPROM, with wear-leveling factor of 2, plus a redundant copy, for a total of 16 KB of the EE Emulation flash region of the PSoC 6.
I'd also like to implement the kv-store library. I would prefer to use the remainder of the EE Emulation flash region to store kv-store data, as well, rather than the main user flash. I presume that configuring kv-store with the appropriate addresses will accomplish that, but will Em_EEPROM and kv-info play nicely together?
For example, if I continue to use the first 16 KB of EE Emulation flash for EEPROM emulation via the Em_EEPROM library, can I then configure the kv-store library to use the upper 16 KB of the EE Emulation flash region and expect both libraries to function properly?
Thanks,
-Nick
Show LessI have been slogging through getting my FreeRTOS system to go into and come out of deep sleep. Of course, the system works perfectly when connected to the debugger (which makes the system only go into sleep instead of deep sleep). But things go wonky when the debugger is not connected. Since I can't use the debugger to the debug the problem, I've had to resort to using LEDs on my board to give me some clues as to where the system is going off the rails.
TurnOnYellowLed();
// Go into low-power deep sleep state. The only thing that can wake us
// back up is an expander interrupt.
Cy_SysPm_CpuEnterDeepSleep( CY_SYSPM_WAIT_FOR_INTERRUPT );
vTaskDelay(3000);
TurnOffYellowLed();
Pushing the on/off button creates an "expander interrupt" that wakes up the system. Now (extra weirdness) the system seems to wake up correctly the very first time it goes to deep sleep after a cold start and the yellow LED stays on for about 3s after the wake-up interrupt. But on subsequent trips through this code, the vTaskDelay does not work and the yellow LED turns off immediately after the interrupt starts the system (and a see lots of other timing-related misbehavior in the code that follows).
I have experimented with setting configUSE_TICKLESS_IDLE to 1 because it seemed like it could be related to the problem, that that didn't fix anything.
Anybody have any ideas as to what I am doing wrong here?
Thanks,
Ed H.
Show LessI am new to the Infineon/Cypress ecosystem. Please be patient with me.
I have a CY8PROTO-062-4343W PSoC 6 board and am using Eclipse IDE for ModusToolbox.
What I am trying to create is a composite USB device based on PSoC 6. I need two in/out audio channels and two CDC ports. I think I know what I have to do. I get the general idea of a composite device. I need to remove the HID part, add two CDCs, and add three IADs: one for the audio part and one for each CDC.
I found a post that is related to what I am trying to do: https://community.infineon.com/t5/PSoC-6/USB-Composite-device-Audio-CDC/m-p/290605 I am also trying to use USB_Audio_Device_FreeRTOS as a starting point, and while I need two CDCs, even one would be a good starting point. The proposed solution was a descriptor in an XML format. I tried manually copying it to the USB Configurator and, sadly, failed:
1) In the top level descriptor, the XML contains the following values:
<bDeviceClass>0x00</bDeviceClass>
<bDeviceSubClass>0x00</bDeviceSubClass>
<bDeviceProtocol>0x00</bDeviceProtocol>
The USB Configurator complains (as far as I can tell, correctly) that the values should be 0xEF, 0x02 and 0x01, respectively. It does not let me save the configuration until I enter the required values.
2) Both audio and CDC try to use endpoint EP2 IN and the USB configurator complains again. I had to change the CDC endpoint to EP5
Even with these changes, it does not work. Windows 10 says "This device cannot start. (Code 10){Operation Failed} The requested operation was unsuccessful."
What am I doing wrong?
Thanks!
Bart
Show Less
I am developing on a CYBLE-416045 BLE module. CM0 is just running the BLE stack and responds to pipe commands from the CM4 to wake up or go to sleep. Right now CM0 is going to DeepSleep.
Now, when if I put the CM4 into Sleep, everything works fine. CM4 wakes up when a GPIO interrupt is generated by a push button.
If I put the CM4 into DeepSleep, CM4 still works fine as long as the debugger is connected. The system kicks on when the button is pushed (as expected). Once the system has started-up with the debugger connected, I can even pull the plug to the debugger and the system will still sleep/wake up like it should.
But... If I then do a cold start WITHOUT the debugger connected, the push button interrupt will NOT wake up the system.
I don't have a clue why the system will wake-up from deep sleep when it is started up using the debugger and will not wake up when started without the debugger. Has anybody else seen this? Any tips on how to fix the problem?
And I'm pretty sure its not a problem with an individual module. I've seen it in multiple different units.
Thanks,
Ed H.
Show Less