XMC™ Forum Discussions
DEBUG版本能够正常运行,RELEASE版本不能正常运行。
Hi,
I am currently working on a project and want using the XMC4800 microcontroller with the Zephyr RTOS.
I saw that Zephyr supports XMC4700 relax kit (xmc47_relax_kit), therefore I am seeking clarification on the compatibility between XMC4700 and XMC4800, excluding the EtherCAT module.
when they are compatible, I want adding EtherCAT functionality manually to Zephyr xmc47_relax_kit board.
Could you please confirm if XMC4800 is compatible with XMC4700?
Looking forward to hearing from you.
Show Less
Hi,
I'm working on the example BLDC_SCALAR_HALL_XMC13, specifically on the section related to Hall learning. I am utilizing the Micrium uC/Probe program to easily visualize the values of the arrays used for Hall learning. I am displaying the values of the arrays capt_hallpatt and capt_outpatt, which correspond to the values of the Hall sensors and the phases at different positions during the commutation sequence.
However, I do not comprehend how the value of the array Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern is composed in the following bold-highlighted lines,which belong to the control_hall.c file and the Motor0_BLDC_SCALAR_UpdateCloseLoopPattern function:
for (count = 0U; count < BLDC_SCALAR_HALL_LEARNING_NUM_OF_PATTERNS; count++)
{
if (Motor0_BLDC_SCALAR_HallLearning.capt_hallpatt[count] == (uint8_t)0x1)
{
/* hall pattern 1->5 transition */
if (Motor0_BLDC_SCALAR_HallLearning.capt_hallpatt[count + 1U] == 0x5U)
{
if (Motor0_BLDC_SCALAR.motor_set_direction == BLDC_SCALAR_POSITIVE_DIR)
{
Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern[0U] = (uint16_t)BLDC_SCALAR_HALL_SEQ_2;
}
else
{
Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern[0U] = (uint16_t)BLDC_SCALAR_HALL_SEQ_1;
}
}
/* hall pattern 1-> 3 transition */
if (Motor0_BLDC_SCALAR_HallLearning.capt_hallpatt[count + 1U] == (uint8_t)0x3)
{
if (Motor0_BLDC_SCALAR.motor_set_direction == BLDC_SCALAR_POSITIVE_DIR)
{
Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern[0U] = (uint16_t)BLDC_SCALAR_HALL_SEQ_1;
}
else
{
Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern[0U] = (uint16_t)BLDC_SCALAR_HALL_SEQ_2;
}
}
if (count < BLDC_SCALAR_HALL_CLOSE_LOOP_ARRAY_SIZE)
{
Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern[1U] = Motor0_BLDC_SCALAR_HallLearning.capt_outpatt[count + 2U];
Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern[2U] = Motor0_BLDC_SCALAR_HallLearning.capt_outpatt[count + 3U];
Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern[3U] = Motor0_BLDC_SCALAR_HallLearning.capt_outpatt[count + 4U];
Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern[4U] = Motor0_BLDC_SCALAR_HallLearning.capt_outpatt[count + 5U];
Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern[5U] = Motor0_BLDC_SCALAR_HallLearning.capt_outpatt[count + 6U];
Motor0_BLDC_SCALAR_HallLearning.closedloop_mc_pattern[6U] = Motor0_BLDC_SCALAR_HallLearning.capt_outpatt[count + 7U];
}
break;
}
}
The values obtained for each of the arrays according to Micrium are represented in the following tables.
I do not understand why, once the value of "count" corresponding to the captured Hall pattern=1 is found, it is shifted by 2U to be stored in closedloop_mc_pattern[1U]. I would appreciate it if you could please explain the purpose of this shift when storing it in closedloop_mc_pattern, as the values stored in this array are the ones we need to replace in user_config.c as the phase states for each of the patterns (PAT A, PAT B, ...).
If we look at the user_config.c file in the following image, we see that HALL_PAT_A corresponds to the value 1, and MC_PAT_A = 513, which does not align with the values associated according to the capt_hallpatt and cap_outpatt tables.
Therefore, I would appreciate a detailed explanation of the reasons behind the 2U shift before storing the values of cap_outpatt in closedloop_mc_pattern.
Thanks for all .
Best Regards, Pablo
Show Less
I install Dave in my Windows 11 VM with Parallel Desktop on a Macbook with M2 chip. It runs but when I plug in the KIT_XMC1X_AK_MOTOR_001 (with XMC1302) it can't find the card. In Device Manager I can see that the J-Link has no driver installed (see attached screenshot). I install Segger JLink for Windows ARM but it doesn't help. Is there any way to install J-Link driver for this card?
Show LessHi,
I used the library provided for the TLx493d sensors in DAVE and managed to create a BUS communication with 2 sensors there.
Library-Name: "Infineon-3D_Magnetic_Sensors_TLx493D_Library-Software-v01_3-EN" and in there i use the files from the
"TLx_generic_lib_xmc1100_drivers-v1.3"
I now tried to include the library in Keil uVision5 (the rest of the project is done there) and, after setting the include paths correctly, I´m being left with multiple errors in cmsis_gcc:
C:/Users/Alex/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include\cmsis_gcc.h(258): error: too many arguments provided to function-like macro invocation
C:/Users/Alex/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include\cmsis_gcc.h(258): error: 'inline' can only appear on functions
C:/Users/Alex/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include\cmsis_gcc.h(258): error: variable has incomplete type 'void'
C:/Users/Alex/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include\cmsis_gcc.h(258): error: expected ';' after top level declarator
C:/Users/Alex/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include\cmsis_gcc.h(269): error: too many arguments provided to function-like macro invocation
C:/Users/Alex/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include\cmsis_gcc.h(280): error: too many arguments provided to function-like macro invocation
Which are all erors that didnt show up before with our project and the other features we have already implemented.
It looks to me as if the is some sort of version-difference causing the error, but my understanding of this cmsis-libraries and what is used in DAVE doesnt go far enought(yet) to understand what the issue might be..
Any hints to what is needed to be set up with using this library?
BR
Alex
How To Configure The CAN ISR Function We are faced some issues in CAN Communication .
Hello,
I am using XMC4400 Platform2Go evaluation board for project development.
I am facing same problem as per @gargi1 : https://community.infineon.com/t5/XMC/Micro-USB-debugger/m-p/454394#M12877
I gone through the steps mentioned here but still not able to debug the board. Still No probes connected via USB pop-up is coming.
1. I want to know why still this message is coming?
2. Is USB drivers correctly not installed from SEGGER JLINK?
3. Is my laptop further need USB access for connection?
Regards,
Prathamesh.
Show Less