PSoC™ 4 Forum Discussions
Hi,
is there any solution or workaround available to install miniprog3 drivers on Windows 11 arm based machines, to be able to use the latest PSoC Programmer.
This is also related to:
https://community.infineon.com/t5/PSoC-4/Has-anyone-successfully-used-miniprog3-with-an-Arm-based-host/m-p/378995
Thanks and best regards,
Rico
Hi,
My code was written on PC #1, a Intel-base Win11 system. I copied the code to PC#2, a virtual machine (Vmware fusion) running Windows 11 ARM Edition on MacBook M3.
Both PC#1 and PC#2 have PSOC Creator 4.4. When I do Project -> Update Components, the Component Update Tool shows incorrect version numbers on PC#2, while PC#1 shows the correct versions.
On PC#2 (ie, Win11 ARM):
A similar error was reported here: https://community.infineon.com/t5/PSoC-Creator-Designer/Unable-to-update-components/td-p/360176
Since PC#1 is getting the right versions, I suppose PSoC Creator Update Server is up and running.
I suspect that PSOC Creator 4.4 was built with the Intel version of the C++ library so the creator is not compatible with the Arm64 version. Can anyone confirm?
Additional info:
PC#1 has Microsoft Visual C++ 2015-2022 Redistributable (x64) - 14.32.31326 and Microsoft Visual C++ 2015-2022 Redistributable (x86) - 14.32.31326
PC#2 has Microsoft Visual C++ 2022 Redistributable (Arm64) - 14.30.30704
Thanks!!
--Tony
Show Less
Hi, guys:
I modified AN89056_FLASH from AN89056 sample code and tried to run on PSoC4100S+256K (CY8C4148AZQ-S455). But I got error message as following:
Test Counter = 007E
Error: FLASH
FLASH CHECKSUM: D6117B4D252189BB
The test failed always on test counter 007E. But I don't understand why since it is successful between test counter 00 to 7D. Can anyone help on what's wrong.
BR, Maurice
Show LessHi Infineon.
Below is sample code for DFU(device firmware upgrade).
https://github.com/Infineon/mtb-example-psoc4-dfu-basic
This sample code explains DFU using I2C or UART.
Is there any sample code for DFU using SPI?
Is my understand correct that PSoC4 can use SPI for DFU?
Or can only I2C or UART be used in DFU and not use SPI?
Best Regards.
YuMa
Show LessAlthough it is easy to call the internal __builtin_clz(x) from C to count leading zeros, how can this internal function be called from assembly? Thanks.
Show LessHi, I am using the Psoc 4100 s max microcontroller in which CY8C4149AZI-S598 mcu used. Can you please help in finding out which pins we can configure for SPI communication in this microcontroller. I am unable to find out these and also dont have pinout diagram for that.
Show LessHi, Community,
I am trying to do an I2C communication project with CY8CKIT-041S-MAX.
I have almost finished writing the code, but when I build, I get an error about Cy_SCB_I2C_Enable (cy_scb_i2c.h).
I found a similar phenomenon in PSoC6 post.
To solve this problem, I tried to add the necessary files in the library manager, but that did not solve the problem.
If you know the best way to deal with this error, please let me know.
The error message is as below:
C:/xxx/build/APP_CY8CKIT-041S-MAX/Debug/main.o: in function `Cy_SCB_I2C_Enable':
make: *** [../mtb_shared/core-make/release-v3.2.2/make/core/main.mk:374: secondstage_build] Error 2
make[1]: *** [../mtb_shared/core-make/release-v3.2.2/make/core/build.mk:422: C:/xxx/build/APP_CY8CKIT-041S-MAX/Debug/mtb-example-psoc4-empty-app.elf] Error 1
undefined reference to `sI2C_InterruptHandler'
Best Regards,
Although the project build automatically saves the C files, it does not save any edited assembly files. Is there a way to force these files to save before building the project?
Show LessI am using Psoc Creator with cy8ckit-42 with a lengthy assembly file added to the simple blinky project. While the code has been building and running successfully and as it has gotten larger, adding an additional instance of a macro running correctly in other parts of the code causes the M0120 build error:
Build error: invalid offset, value too big (0x00000404)
The macro only accesses registers but has the instruction "ldr r1,=0x00010000" The disassembly shows the constant is accessed with a pc offset in another instance so I guess it must be this offset that is too large. Is the only way to deal with this is to declare the constant in memory? Thanks very much.
Show LessI have a product that uses a PSOC 4200 BLE. Customers complain that every couple of weeks or so, the BLE stops advertising. So it's a bug that pops up rarely. But it's pretty bad when it does! CyBle_SoftReset(); is not enough to bring the bluetooth back to life.
I don't know what it causing the bug, but I suspect the deep sleep transition. I am finding conflicting ideas regarding the allowable BLESS state for CPU Deep Sleep.
Here's the relevant part of my code:
blePower = CyBle_GetBleSsState();
if(blePower == CYBLE_BLESS_STATE_DEEPSLEEP || blePower == CYBLE_BLESS_STATE_ECO_ON)
{
st = SYS_ST_WAKE_FROM_DEEPSLEEP;
/* C11. Put system into Deep-Sleep mode*/
CySysPmDeepSleep();
}
In the auto-generated CyBle_Stack.h, I see that it is OK to put CPU to deep sleep with the CYBLE_BLESS_STATE_ECO_ON state:
/******************************************************************************
* Function Name: CyBle_GetBleSsState
***************************************************************************//...
* <td>CYBLE_BLESS_STATE_ECO_ON</td>
* <td>BLE Sub System is in process of wakeup from Deep Sleep Mode and ECO(XTAL) is turned on.
* CPU can be put in Deep Sleep Mode.</td>
* </tr>
...
* <td>CYBLE_BLESS_STATE_DEEPSLEEP</td>
* <td>BLE Sub System is in Deep Sleep Mode. CPU can be put in Deep Sleep Mode.</td>
* </tr>
...
CYBLE_BLESS_STATE_T CyBle_GetBleSsState(void);
However, I see here: https://github.com/cypress-speedycat/EasySleep/blob/master/source/EasySleep.c
that there is some controversy about using CYBLE_BLESS_STATE_ECO_ON as a valid state before entering deep sleep mode:
// NOTE: CyBle_GetBleSsState says CPU can be put to DeepSleep upon
// ECO_ON too, but that does not make sense since BLE is waking
// up then
Could an expert chime in on this? Is there a mistake in the CyBle_Stack.h file?