Microcontrollers Forum Discussions
Browse the Community
PSoC™ 6
Discussion forum regarding PSoC™ 6 - 32-bit Arm Microcontroller (MCU) Forum, discusses the 40-nm technology - best combination of ultra-low-power consumption, flexibility, security and high-performance topics.
PSoC™ 4
PSoC™ 4 - Arm®-based Forum, discusses the low-power Cortex®-M0 and Cortex®-M0+ cores, CapSense®, and Bluetooth® Low Energy
PSoC™ 5, 3 & 1
The PSoC™ 5LP, PSoC 2 and PSoC 1 Forum discusses - 24-bit Digital Filter Block (DFB), 24 UDBs, DMA controller and integrating AFE, digital logic with user interface ICs with an Arm Cortex-M3 CPU solutions.
CAPSENSE™ & MagSense
The Sensing Technology Forum discusses CAPSENSE™ - capacitive-sensing and MagSense inductive-sensing for consumer, industrial, automotive, and Internet of Things (IoT) applications.
XMC™
AURIX™
In this forum you can post your questions, comments and feedback about the 32-bit AURIX™ TriCore™ Microcontroller. The AURIX™ offers the highest scalability in performance, memory & peripherals across application. It is a safe and secure companion chip, meeting both the ISO functional safety standards and EVITA full security standards. Here you can also find the links to the latest board pages, SW and Tools GitHub, trainings, documents and FAQs
TRAVEO™ T2G
Discussion forum regarding 32-bit TRAVEO™ T2G Microcontroller - based on ARM® for automotive body electronics applications; cutting-edge performance, safety, and security features topics.
MOTIX™ MCU
The MOTIX™ MCU forum is designed for you to post your questions, comments and feedback about the famous Embedded Power ICs at anytime. Ask your technical questions or explore existing content!
Legacy microcontrollers
Featured Discussions
Hi 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 LessHello,
I am developing a program that executes the XMC Flasher .exe, and programs a board using said flasher.
However, I would like to be able to program/set BMI of multiple boards at the same time by having multiple programmers connected into my PC. If multiple XMC programmers are connected to my PC at once, is there a way to identify, select, and control a specific programmer, perhaps through the programmer's COM port or serial number?
If not possible through XMC Flasher, is there is other software that would accomplish what I'm trying to do?
Thank you,
Alex
Show LessHi,
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
大家好。
TLE9879开发板,官方自带程序,调节速度使用电位器设定,电机能够正常工作。但是如果设定一个固定转速,比如Emo_SetRefSpeed(1000 ),那么电机启动的时候,需要用手转一下,电机才能够正常启动运转,否则就不转动。
已经试着调试过启动占空比,给定的速度,以及PID参数,都不管用。
问下能够得到指点一下,感谢!
Show Less
1.TLE9879 _Evalkit_v1.4 What are the main functions of swdio R46 and swclk R50 and how are these values selected?
2.tle987x series power up swd part power up timing have a detailed explanation?
--------
Infineon-Z8F80032532_HW_Design_Guideline-ApplicationNotes
-----
Infineon-BLDC_shield-UserManual-v01_02-EN
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/MOTIX-MCU/SWD/td-p/716438
Show LessI own Rev11 of PSoC6 BLE PIONEER KIT.
What kind of support can I get?
Hello, I would like to know what are TSN standards does the Aurix TC399 microcontroller supports?
Hello,
I encountered a strange problem regarding the heap memory - if I increase the UART transmit buffer size from 256 to 1024 bytes, the heap seems to get corrupted. The first call to malloc() returns NULL. However there's no relationship between the UART component and the heap as far as I know because the UART component doesn't use dynamic memory. I wonder how I can get this debugged.
I'm using two UARTs with redirection of printf() to UART_1 and stderr to UART_2 in the application, but the call to malloc() is done before doing any prints and the requested size is way below heap size. Here are my project settings:
SRAM used: 7601 of 65536 bytes (11,6 %). Stack: 2048 bytes. Heap: 2048 bytes.
I tried to figure out if the Tx buffer somehow is within the heap section, but that doesn't seem to be the case:
extern uint8_t __cy_heap_start;
extern uint8_t __cy_heap_end;
extern uint8_t __cy_stack;
extern uint8_t __cy_stack_limit;
extern volatile uint8 UART_1_txBuffer[UART_1_TX_BUFFER_SIZE];
extern volatile uint8 UART_2_txBuffer[UART_2_TX_BUFFER_SIZE];
int main(void) {
CyGlobalIntEnable; /* Enable global interrupts. */
/* Place your initialization/startup code here (e.g. MyInst_Start()) */
setvbuf(stdin, NULL, _IONBF, 0);
setvbuf(stdout, NULL, _IONBF, 0);
setvbuf(stderr, NULL, _IONBF, 0);
UART_1_Start();
UART_2_Start();
//doing some other initialization, etc including the 1st malloc()
printf("Heap start at %p, heap end at %p\n", &__cy_heap_start, &__cy_heap_end);
printf("Stack start at %p, stack end at %p\n", &__cy_stack, &__cy_stack_limit);
printf("UART1 Tx buffer start at %p, end at %p, size %d bytes\n", &UART_1_txBuffer, &UART_1_txBuffer[UART_1_TX_BUFFER_SIZE - 1], UART_1_TX_BUFFER_SIZE);
printf("UART2 Tx buffer start at %p, end at %p, size %d bytes\n", &UART_2_txBuffer, &UART_2_txBuffer[UART_2_TX_BUFFER_SIZE - 1], UART_2_TX_BUFFER_SIZE);
while(1);
}
This is with a TX buffer size of 256 bytes which works correctly and gives the following output:
Heap start at 0x1fff8db8, heap end at 0x20007800
Stack start at 0x20008000, stack end at 0x20007800
UART1 Tx buffer start at 0x1fff8b94, end at 0x1fff8c93, size 256 bytes
UART2 Tx buffer start at 0x1fff8cb4, end at 0x1fff8db3, size 256 bytes
The stack size equals the setting from the system design settings exactly and the linker script seems to provide all the unused RAM for the heap: 0x20007800 - 0x1FFF8DB8 = 0xEA48 => 59976 bytes.
If I increase the TX buffer size of UART_2 (stderr) to 1024 bytes, the 1st malloc() with a request for 256 bytes fails. If I left out the malloc() request, the stack/heap information is:
Heap start at 0x1fff8f98, heap end at 0x20007800
Stack start at 0x20008000, stack end at 0x20007800
UART1 Tx buffer start at 0x1fff8a70, end at 0x1fff8b6f, size 256 bytes
UART2 Tx buffer start at 0x1fff8b90, end at 0x1fff8f8f, size 1024 bytes
So, I can't see anything wrong here. There's still no overlap. I can successfully request 76 byte, anything above fails if the TX buffer size is 1024. If I reduce it to the original 256 bytes it works again. I have not checked at which Tx buffer size the original request of 256 bytes fails.
Since there's no obvious relation between the UART buffers which are simply global arrays and the heap memory I'm a bit lost on how to debug and fix this. Ideas are welcome. Currently I'm trying to setup a minimum working example project to track it down and I'll provide it if I can manage to reproduce the issue.
Regards
Show Less
Hello,
I am currently trying to use the ASCLIN module as UART in the KIT_A2G_TC399_5V_TRB development kit, but having problems with TX. The examples I have found always use interrupts, which I do not want to use. I want to transmit data via polling instead.
I was able to receive data, but not sending anything. I have monitored the TX pin with an oscilloscope, and it remains always in VDD level.
Currently, I am using the following steps to initialize the ASCLIN module and to send data:
Initialization steps:
1) Reset EndInit
2) Enable the module via CLC.DISR
3) Set EndInit
4) Disable the clock via CSR.CLKSEL
5) Set INIT Mode in FRAMECON.MODE
6) Flush TXFIFO via TXFIFOCON.FLUSH
7) Set TXFIFOCON.INW=1 and TXFIFOCON.ENO=1
8 ) Flush RXFIFO via RXFIFOCON.FLUSH
9) Set RXFIFOCON.INW=1 and RXFIFOCON.ENO=1
10) Configure BITCON, DATCON, BRG and FRAMECON with desired baudrate and data bits parameters
11) Set ASC Mode in FRAMECON.MODE
12) Disable all flags in FLAGSENABLE
13) Clear all flags in FLAGSCLEAR
14) Configure the pins (Rx as input, Tx as output - pushpull and function 2)
Send data steps:
1) Wait for TXFIFOCON.FILL = 0
2) Copy data to send via TXDATA = data
Is there anything else needed to enable TX?
Thank you in advance,
Alisson Furlani
Show Less-
TraveoII
UART buadrate Setting
by chandan1995 Jun 19, 2023