PSoC™ 6 Forum Discussions
Hi, in mqtt client anycloud is there a way to change the publishInfo.pPayload value in publisher_task.c file so that I can send numerical value instead of string or turn on ....
Show LessIs there a way to install Eclipse Marketplace in Modus Toolbox?
I want to install some theme plugins with DevStyle
Hi all,
I am trying to send some BLE notifications from PSoC6 MCU (peripheral) to android. Using nrfconnect ble scanner app as central. Whenever I send a notification out, I get CY_BLE_ERROR_INVALID_PARAMETER error code on the device side for Cy_BLE_GATTS_Notification . BLE stack runs on CM0.
The characteristic size is 512 bytes but I am only sending 50 bytes in this notification. Could this be the problem?
Thanks,
Vimal
Show LessHi,
I have a basic question. I'm using PSoC Creator and WICED for some of my projects. I know these two IDEs automatically generate and verify the checksum for the binary files but I can't find a way to view the actual value of checksum after the binary files are generated during the build. Does anyone know how I can see the actual value of checksum in each of the IDEs?
Thanks.
Show LessDear Cypress.
I have some question of Cypress BLE.
How fast role Switching possible?
(Central <--> Peripheral)
How fast Bt classic Audio / Video Maximum transfer support speed?
And I to be curious PSoc 4 / 6 Bluetooth through-put, Could you provide data?
Best Reard.
BRK.
Show Less
I want to implement an automatic bootloader.
I'm using CY8C6247BZI-D54 MCU and ModusToolbox.
I was able to follow the tutorial, and modify to do it via USB here: https://cypresssemiconductorco.github.io/dfu/dfu_sdk_api_reference_manual/html/index.html#section_dfu_quick_start
but I need to push a button to run my application, or reset to run the bootloader.
In my application, I will have a computer connected via USB, and at startup I need to have a batch on the PC to send a command to check the firmware version, and if it's not the latest, to download the new firmware, all done automatically.
How can I do that? I'm thinking setting a variable in the "EEPROM" and then reset, the bootloader checks for that variable, and if it's not set jumps directly to the application or goes to the bootloading part of the code...
Is there an easier way? is there an example for ModusToolbox that implements an "automatic" bootloader (without pushing buttons or setting jumpers)?
With this approach I see one problem, what happens if the bootloadable app doesn't set that variable... the bootloader will never be called again.
What considerations do I need for initialization of the USB (once in bootloader and once in the application)
Thank you!
Show Less
I'm using PSoC 63, running BLE dual core (Controller on CM0+, Host and Profiles on CM4). I don't use CM0+ for anything else -- the bulk of my application is running on CM4. I'm looking at the linker script cy8c6xx7_cm0plus.ld and I see:
ram (rwx) : ORIGIN = 0x08000000, LENGTH = 0x24000
which is more memory than the CM4 gets. From cy8c6xx7_cm4_dual.ld:
ram (rwx) : ORIGIN = 0x08024000, LENGTH = 0x23800
I have to wonder if the BLE Controller really needs all of that RAM. Could I move the line down to devote more RAM to CM4? Just how much RAM does the Controller on CM0+ need?
Show Less
Hi,
I would like to program the PSOC6 BLE Pioneer kit external flash part number S25FL512S for XIP use..I can program this S25FL512S for XIP using PSOC Creator 4.4 with no issue. All good.
However, I can't program this part for XIP using PSOC Programmer software if the PSOC6 MCU has never been programmed to see the external flash.
It looks to be that the PSOC Creator 4.4 adds the XIP functionality that I have in the code based on PSOC6 Example Project CE224285 and hence External flash is visible to the PSOC Programmer.
But if I don't use the PSOC Creator, the the PSOC programmer itself can't create the XIP toc2 structure and hence can't program it.
I get the following error from PSOC programmer. The view shows the load from hex view where the image hex file has the external flash visibility but I also provided "load from device" view where it does not have SMIF because the MCU has not been programmed by PSOC Creator.
Failed SMIF CMSIS algorithms initialization for address: 0x18000000
Failed executing CMSIS API: Failed executing "Init" API;
CPU is in lockup state after Flash Loader API execution
My question is that I can program the external flash for XIP using PSOC Creator but not the PSOC Programmer.
How can I program with PSOC programmer?
Is there anything else I need to do beside adding the following toc2 as per code example SOC6 Example Project CE224285?
/*******************************************************************************
* Point to the SMIF block structure in the table of contents2 (TOC2).
* The TOC2 structure supports user application validation. See
* AN221111 for more information about the TOC2 and its use.
*
* This enables memory reads using Cypress Programmer, without this
* structure, external memory access from Cypress Programmer will not work
*******************************************************************************/
CY_SECTION(".cy_toc_part2") __attribute__((used))
const int cyToc[(512 / 4)] =
{
0x200-4, /* Offset=0x00: Object Size, bytes */
0x01211220, /* Offset=0x04: Magic Number (TOC Part 2, ID) */
0, /* Offset=0x08: Key Storage Address */
(int)&smifIpBlocksArr, /* Offset=0x0C: This points to a null terminated array of SMIF structures. */
0x10000000u, /* Offset=0x10: App image start address */
0, /* Offset=0x14: Application Format */
0, /* Offset=0x18: App #2 image start address */
0, /* Offset=0x1C: App #2 App Format */
0, /* Offset=0x20: Number of the next objects to add to SECURE_CMAC */
0, /* Offset=0x24: Public Key address */
0, /* Offset=0x28-1F4: … (additional objects if needed or 0’s if none) */
/* Offset=0x1F8: */
[(512 / sizeof(int)) - 2] = (0x00 << 2) | /* Bits [4:2]: Listen Window Time index: */
/* 0 = 20ms (default), 1 = 10ms, 2 = 1ms, 3 = 0ms, 4 = 100ms, 5-7 = reserved */
(0x01 << 0), /* Bits [1:0]: IMO/FLL clock frequency index: */
/* 0 = 8MHz, 1 = 25MHz (default), 2 = 50MHz, 3 = Reserved */
/* Offset=0x1FC: CRC16-CCITT (the upper 2 bytes contain the CRC and the lower 2 bytes are 0) */
};
Thanks in advance,
Shahram Amini
Show LessHello there,
I want to create a interrupt botton in my project, using FreeRTOS, but the botton is not working. Someone can help me?