PSoC™ 6 Forum Discussions
I would like to confirm my observation when calling the Cy_Crypto_Core_ECC_SignHash() and Cy_Crypto_Core_ECC_MakeKeyPair() functions. The Cy_Crypto_Core_ECC_MakeKeyPair() returns the public key (X & Y) in little endian format, same for the signature (R & S) returned by the Cy_Crypto_Core_ECC_SignHash() function. I verified this by using Mbedtls to generate the public key from a private key created by Cy_Crypto_Core_ECC_MakeKeyPair().
Show Less
PSoC 6 MCU: CY8C62x6,
CY8C62x7 Datasheet
I think that it was printed incorrectly in Address Map. Page 12 of 77
0xE010 0A000 – 0xFFFF FFFF Device Device-specific system
registers.
PSoC 6 MCU: CY8C62x6, CY8C62x7 Datasheet (infineon.com)
Show LessHello,
I have questions about Flash and Emulated EEPROM.
1. The flash endurance is described in the datasheet as 100k cycles.
Does each row of flash individually have 100k cycle endurance?
2. I'm using the Emulate_EEPROM example in modus toolbox. (CY8CKIT-062-WIFI-BT)
Please let me know how it works internally when using Em_EEPROM.
I want to know about the case of repeatedly writing a few bytes of data to the same address.
For example, when only a few bytes are to be written, will the entire line (512 bytes) including this address be erased and re-written?
Does the Em_EEPROM algorithm read the entire existing row of data into RAM before it is deleted, then modify only a few bytes and write it to flash?
Thanks and Regards,
YS
Dear Receiver,
I practice "PSoC™ 6 MCU: MCUboot-based basic bootloader" by using the example code in the following GitHub link...
https://github.com/Infineon/mtb-example-psoc6-mcuboot-basic
I follow the steps and I can run boot, app (boot mode), and app (upgrade mode), separately.
But I feel confused about...
when I reset the board, there are no any response in the UART communication. Besides, LED blinking is also no response.
I think every time I reset MCU, it should enter boot mode. If no new image be found, it will enter app mode automatically.
in my test, it seems no any other response if I reset the board. I am sure boot code is in the CM0+ and app code is in the
CM4. Once I reset the board, boot code and app code seem disappear.
Could you please explain this phenomenon for me ?!
Thank you so much.
Show Less
Hello,
I'm trying to program a hex file to CY8C6136 using Segger J-flash (V7.66a).
Q1. Which one should I choose from the list below in the Target Device Settings?
Q2. What is the difference between CY8C6xx6_CM4 and CY8C6xx6_CM4_sect256KB?
Q3. Should I only program to the M4 because it's single core?
Thanks and Regards,
YS
Hi,
I am developing a low-power application using CY8CKIT-062-BLE board.
I followed the application note "PSoC 6 MCU Device Firmware Update Software Development Kit Guide" and configured a "map A" BLE DFU Memory Maps.
On the basis of above configuration, I am trying to use the non-volatile memory of PSoC by following the example code : CE220120
So, In the App1, I declare a const value before the "main()" function:
CY_ALIGN(CY_FLASH_SIZEOF_ROW)
const uint8_t flashData[CY_FLASH_SIZEOF_ROW] = {0}; /* The array will be placed in Flash */
Then in the the "main()" function, I write the following code:
uint8_t ramData[CY_FLASH_SIZEOF_ROW];
Initial_finished=false;
/* Initialize the data in RAM that will be written into flash */
for(uint16_t index = 0; index < CY_FLASH_SIZEOF_ROW; index++)
{
ramData[index] = (uint8_t)index;
}
cy_en_flashdrv_status_t flashWriteStatus;
flashWriteStatus = Cy_Flash_WriteRow((uint32_t)(flashData), (const uint32_t *)ramData);
The App1 properly works after updating the App0 to App1.
However, after I powered off the board and powered on again (or put RESET button ), the system cannot execute App1 properly; it keeps in App0 and waiting for updating image.
I called printf to check what is wrong, and found after resetting, in App0 "status = Cy_DFU_ValidateApp(1u, &dfuParams)", the status is not "CY_DFU_SUCCESS".
If I remove the "Cy_Flash_WriteRow()" function in App1, the App1 can be normally executed after resetting the system.
So my question is:
1. What makes "Cy_DFU_ValidateApp(1u, &dfuParams)" failed after calling "Cy_Flash_WriteRow()" in App1?
2. How to make sure "Cy_DFU_ValidateApp(1u, &dfuParams)" not failed after calling "Cy_Flash_WriteRow()" in App1?
Thank you very much for your kind help!!
Best regards,
Jiabin
Show LessHello,
I'm investigating either PSoC64 family is certified FIPS 140-3 or not.
If not, please tell me type of other certified FIPS .
Please check and answer this.
Best regards,
Yuki Aikawa
Show LessI'm just trying to get some I2C comms going on a CY8C6247FDI-D32 as SCB0. SCL is on P0[2] and SDA is on P0[3]. Ive tried setting the pin mux for them to be GPIO and I can see the pins toggling so our wiring is OK.
Running the code, SCL is high and stays that way. And I get timeout errors on the I2C calls. I dont see where I'm doing anything other than the examples I stole the code from.
What am I missing?
static cy_stc_scb_i2c_context_t i2cContext;
const cy_stc_scb_i2c_config_t i2cConfig =
{
.i2cMode = CY_SCB_I2C_MASTER,
.useRxFifo = false,
.useTxFifo = false,
.slaveAddress = 0U,
.slaveAddressMask = 0U,
.acceptAddrInFifo = false,
.ackGeneralAddr = false,
.enableWakeFromSleep = false,
.enableDigitalFilter = false,
.lowPhaseDutyCycle = 8U,
.highPhaseDutyCycle = 8U,
};
Cy_SCB_I2C_Init(SCB0, &i2cConfig, &i2cContext);
/* Connect SCB0 I2C function to pins */
Cy_GPIO_SetHSIOM(I2C_SCL_PORT, I2C_SCL_NUM, P0_2_SCB0_I2C_SCL);
Cy_GPIO_SetHSIOM(I2C_SDA_PORT, I2C_SDA_NUM, P0_3_SCB0_I2C_SDA);
/* Configure pins for I2C operation */
Cy_GPIO_SetDrivemode(I2C_SCL_PORT, I2C_SCL_NUM, CY_GPIO_DM_OD_DRIVESLOW);
Cy_GPIO_SetDrivemode(I2C_SDA_PORT, I2C_SDA_NUM, CY_GPIO_DM_OD_DRIVESLOW);
Cy_SysClk_PeriphAssignDivider(PCLK_SCB0_CLOCK, CY_SYSCLK_DIV_8_BIT, 1);
Cy_SysClk_PeriphSetDivider(CY_SYSCLK_DIV_8_BIT, 1, 31);
Cy_SysClk_PeriphEnableDivider(CY_SYSCLK_DIV_8_BIT, 1);
uint32_t inputClockFrequency = Cy_SysClk_PeriphGetFrequency(CY_SYSCLK_DIV_8_BIT, 1);
uint32_t currentDataRate = Cy_SCB_I2C_SetDataRate(SCB0, 100000, inputClockFrequency);
if ((currentDataRate > 100000) || (currentDataRate == 0)) {
CY_ASSERT(0);
}
Cy_SCB_I2C_Enable(SCB0);
Cy_SCB_I2C_MasterSendStart(SCB0, 0x48, CY_SCB_I2C_WRITE_XFER, 1000, &i2cContext);
Cy_SCB_I2C_MasterWriteByte(SCB0, 0xAA, 1000, &i2cContext);
Cy_SCB_I2C_MasterSendStop(SCB0, 1000, &i2cContext);
I use PSOC Creator 4.4 and in the display section I did not find the normal LCD, I have found Graphical only.
Show Lessi debug the program, the program enters the Cy_Syslib_ProcessingFault function.
when the program runs to the
, The program will sure enter cy_ Syslib_ Processingfault function.
When I use a certain value instead of uitemp0, the program will not enter the fault function.
what's the reason? Thanks!
Show Less