PSoC™ 4 Forum Discussions
Dear Mr\Mrs,
I tried to create a project starting of Modustoolbox for IAR embedded. Compiling is failing with this issue:
"Error[Li005]: no definition for "__iar_Initlocks" [referenced from C:\Users\emanuelebelpanno\mtw\Empty_PSoC4_App\Debug\Obj\TOOLCHAIN_IAR_13573725619442129044.dir\cy_clib_support_iar.o]"
I've tried to look for this function and it isn't present in the project. How Cam I solve this issue?
I'm using Windows 10, IAR embedded ARM 9.50.2.
Kind Regards,
EB
Show LessHello. I have an IRQ for my serial device that looks similar this:
CY_ISR(uart_isr) {
if (h_UART_CHECK_INTR_RX_MASKED(h_UART_INTR_RX_NOT_EMPTY))
{
uint32_t data = h_UART_UartGetByte();
uint8_t byte = data & 0xFF;
// Ignore any errors.
if ((data & 0xFFFFFF00) != 0) {
return;
}
queue_data(&queue, byte);
h_UART_ClearRxInterruptSource(h_UART_INTR_RX_NOT_EMPTY);
}
}
But I get an issue where I will occasionally get an underflow error. Which is to say on the `((data & 0xFFFFFF00) != 0` will be true. It is not a framing or parity error, but the underflow error. But I don't understand how that could happen since I am specifically checking for the FIFO not being empty. Alright, so I made an alternative.
CY_ISR(uart_isr) {
if (h_UART_CHECK_INTR_RX_MASKED(h_UART_INTR_RX_NOT_EMPTY))
{
for (uint32_t count = h_UART_SpiUartGetRxBufferSize; count > 0; count--) {
uint32_t data = h_UART_UartGetByte();
uint8_t byte = data & 0xFF;
// Skip errors
if ((data & 0xFFFFFF00) != 0) {
continue;
}
queue_data(&queue, byte);
}
h_UART_ClearRxInterruptSource(h_UART_INTR_RX_NOT_EMPTY);
}
}
And this ends up being even worse somehow. Count will be a positive number, but then it will skip each byte received.
Basically what I'm asking if, how can it be possible for
h_UART_CHECK_INTR_RX_MASKED(h_UART_INTR_RX_NOT_EMPTY)
to be true, but then there be an underflow error in the byte read? I did a test and every error it received was an underflow. If I inspect the values that get received upon this underflow, some are actual data sent (aka not an underflow) and some are just junk.
This has been a thorn in my side for months but so far my solution has been "about one in fifty messages fail for some reason," but that is getting old.
Show LessHello,
The Bootloader is defined as Dual-Application.
I want to upgrade the image applications through UART and cyflash.
Upgrading of the Application1 (the valid and active) is failed with the message from cyflash:
The application is currently marked as active or golden image
Can you please advise what should I perform to upgrade the Applications in Dual-Application configuration through cyflash?
I use the product CY8C4247AZI-M485.
Thanks in advance.
Yacob.
Show Less
hello, we develop a project with CY8C 4149 and project go very well, we switch the chip cy8c4149 to cy8c4148 and program cyc84148, it got failure. we understand the cy8c4148 has flash memory of 256kb, our firmware size is 235kb, it should allow to be programmed in cy8c4148. following image is the programmer programming result.
Could you help me out to successfully program in cy8c4148
Thank you
Show LessHello everyone,
I purchased a multi-function shield to expand my Cy8ckit-046, but as soon as I plug the shield into one of the two positions on the 046 board, the power to the entire board drops. It seems like a short circuit is occurring, and the USB port is being blocked.
Has anyone else experienced this issue or does anyone know how I can resolve it?
Show LessIn PSoC Creator 4.4, I have declared variables in assembly in .bss and would like to add them to a watch window. When adding to a watch window, I get that the variable name does not exist in the current context. When stepping through assembly code, how do I establish its context? Thanks very much.
Frank
Show Less