XMC™ Forum Discussions
We have a project using Keil MDK environment and have just updated XMC4000DFP to 2.14.0. Several header files needed updating - no problem. The project now compiles and links, but will not run. It 'stalls' at the following lines in XMC4_SCU.c:
/* API to configure USB PLL */
void XMC_SCU_CLOCK_StartUsbPll(uint32_t pdiv, uint32_t ndiv)
{
/* Go to bypass the USB PLL */
SCU_PLL->USBPLLCON |= (uint32_t)SCU_PLL_USBPLLCON_VCOBYP_Msk;
while ((SCU_PLL->USBPLLSTAT & SCU_PLL_USBPLLSTAT_VCOBYST_Msk) == 0U)
{
/* wait for prescaler mode */
}
Can anyone suggest what we have missed please ?
Show LessWhen building a project I found that both the lwip and the FATFS implementations have conflicting symbols. Is there an easy way around this or am I going to have to meddle with the linker?
'Building target: ETHCAT_SSC_XMC48.elf'
./Dave/Generated/SYSTIMER/systimer.o: In function `SysTick_Handler':
'Invoking: ARM-GCC C Linker'
C:\Infineon\Tools\DAVE IDE\4.5.0.202105191637\eclipse\workspace\ETHCAT_SSC_XMC48\Debug/../Dave/Generated/SYSTIMER/systimer.c:319: multiple definition of `SysTick_Handler'
"C:/Infineon/Tools/DAVE IDE/4.5.0.202105191637/eclipse/ARM-GCC-49/bin/arm-none-eabi-gcc" -T"../linker_script.ld" -nostartfiles -Xlinker --gc-sections -specs=nosys.specs -Wl,-Map,"ETHCAT_SSC_XMC48.map" -mfloat-abi=softfp -mfpu=fpv4-sp-d16 -mcpu=cortex-m4 -mthumb -g -gdwarf-2 -o "ETHCAT_SSC_XMC48.elf" "@objects.rsp" -lm
./Libraries/lwip/port/nosys/sys_arch.o:C:\Infineon\Tools\DAVE IDE\4.5.0.202105191637\eclipse\workspace\ETHCAT_SSC_XMC48\Debug/../Libraries/lwip/port/nosys/sys_arch.c:38: first defined here
makefile:82: recipe for target 'ETHCAT_SSC_XMC48.elf' failed
Show Less
Hi,
Because position2go doesn't have the CAN Bus,so I made a CAN Bus output interface based on position2go.I try to use CAN_XMC47.zip code to add in position2go P2G_FM main.c .But It error CAN_NODE1_RXD_P1_13 But it occurred error as CAN_NODE1_RXD_P1_13. Should I have to configure the pins?What do I need to set in APP Dependency Tree ,APP Dependency and HW Signal Connectivity?
Is there anything to pay attention to in the construction of the CAN Bus or any such step-by-step document that I can refer to?
Thanks
Show LessIt worked at first, but I couldn't connect it after debugging several times without changing BMI.
The 'DBG'LED is On.
I try some step are follows:
1.Jlink
SEGGER J-Link GDB Server V7.80a GUI Version
JLinkARM.dll V7.68c (DLL compiled Jul 28 2022 15:45:26)
-----GDB Server start settings-----
GDBInit file: none
GDB Server Listening port: 2331
SWO raw output listening port: 2332
Terminal I/O port: 2333
Accept remote connection: localhost only
Generate logfile: off
Verify download: off
Init regs on start: off
Silent mode: off
Single run mode: off
Target connection timeout: 5000 ms
------J-Link related settings------
J-Link Host interface: USB
J-Link script: none
J-Link settings file: none
------Target related settings------
Target device: XMC1302-0200
Target device parameters: none
Target interface: SWD
Target interface speed: 100kHz
Target endian: little
Connecting to J-Link...
J-Link is connected.
Selected loader 'Default' for flash bank no. 0 ('Internal flash' @ 0x10001000).
Firmware: J-Link Lite-XMC4200 Rev.1 compiled Mar 1 2019 11:28:26
Hardware: V1.00
S/N: 591142256
Checking target voltage...
Target voltage: 3.30 V
Listening on TCP/IP port 2331
Connecting to target...
ERROR: Could not connect to target.
Target connection failed. GDBServer will be closed...
--------------------------------------------------------------
2.
SEGGER J-Link Commander V7.80a (Compiled Sep 14 2022 15:44:07)
DLL version V7.68c, compiled Jul 28 2022 15:45:26
Connecting to J-Link via USB...O.K.
Firmware: J-Link Lite-XMC4200 Rev.1 compiled Mar 1 2019 11:28:26
Hardware version: V1.00
J-Link uptime (since boot): N/A (Not supported by this model)
S/N: 591142256
VTref=3.300V
Type "connect" to establish a target connection, '?' for help
J-Link>GetBMI
Current BMI mode: Error, ErrorCode: -1.
J-Link>
---------------------------------------------------------------
3.XMC Flasher
Debugger Exception
INFO-com.infineon.XMCFlasher.MainAppController-main: Logger Name: com.infineon.XMCFlasher.MainAppController
INFO-com.infineon.XMCFlasher.SeggerLibLoad-configureLoad: Not Found property: xmcFlasher.JLink.dllPath Searching in registry key
INFO-com.infineon.XMCFlasher.SeggerLibLoad-configureLoad: Setting property: bridj.JLinkARM.library to: C:\Program Files\SEGGER\JLink\JLink_x64.dll
INFO-com.infineon.XMCFlasher.SeggerLibLoad-configureLoad: Not Found property: xmcFlasher.JLink.dllPath Searching in registry key
INFO-com.infineon.XMCFlasher.SeggerLibLoad-configureLoad: Setting property: bridj.JLinkARM.library to: C:\Program Files\SEGGER\JLink\JLink_x64.dll
INFO-com.infineon.XMCFlasher.SeggerDLL-checkAvailabilityAndLoad: Loaded JLink DLL 7.68.c
INFO-com.infineon.XMCFlasher.MainAppController-start: Starting Application in process ...
WARNING-com.infineon.XMCFlasher.view.RootLayoutOverviewController-handleConnect: com.infineon.XMCFlasher.DebuggerExceptions: Error get BMI value
Show Less
Hi everyone,
I want to use my XMC4700 MCU to communicate with other module using SPI protocol (I want use USIC hardware in the MCU, I don't want to use bit banging by software to create SPI pulses). Can I be able to do that?
Show LessHi,
I am running two Ether CAT boards simultaneously . I followed through XMC4800 Ether CAT One cycle Client2ClientCommunication document. In the document they mention that we will get two boxes for sending slave(connected to PC(master) )and receiving slave. I am getting only one box for sending slave.
1.So do i have to make any changes in Twin CAT?
2. I make two projects and i have two xml files for sending and receiving. So do i have to place these two xml files in twincat folder?
Thanks and Regards
Anirudh.
Show LessHello,
I´m looking for best solution to start. I need to use one XMC4300 device in two modes: ethercat or ethernet (not together). Is it possible to just switch (by SW) one Ethercat port to Ethernet (second could be down in this mode)? But only two connectors are constrains.
下午好:
当我使用XMC闪光灯更新距离2Go的MCU程序时,我遇到了一个问题:
当我断开微型USB电缆与“调试”端口的连接并将其连接到“默认”端口时,PC无法识别串行端口。
我该怎么办?
谢谢!
I am calling SPI_MASTER_StartTransmitDMA() to transfer from memory to peripheral device.
Host is XMC4700 and Peripheral is a radio device.
I can sniff the packets out of the radio and see that the 2nd byte is always missing and a garbage byte is inserted at the end.
If I call SPI_MASTER_Transmit() to do a direct transfer all the bytes are transmitted correctly.
The DAVe generated code shows the following.
XMC_DMA_CH_CONFIG_t SPI_MASTER_RADIO_dma_ch_tx_config =
{
.src_transfer_width = (uint32_t)XMC_DMA_CH_TRANSFER_WIDTH_8,
.dst_transfer_width = (uint32_t)XMC_DMA_CH_TRANSFER_WIDTH_8,
.src_address_count_mode = (uint32_t)XMC_DMA_CH_ADDRESS_COUNT_MODE_INCREMENT,
.dst_address_count_mode = (uint32_t)XMC_DMA_CH_ADDRESS_COUNT_MODE_NO_CHANGE,
.src_burst_length = (uint32_t)XMC_DMA_CH_BURST_LENGTH_8,
.dst_burst_length = (uint32_t)XMC_DMA_CH_BURST_LENGTH_1,
.transfer_flow = (uint32_t)XMC_DMA_CH_TRANSFER_FLOW_M2P_DMA,
.transfer_type = XMC_DMA_CH_TRANSFER_TYPE_SINGLE_BLOCK,
.dst_handshaking = XMC_DMA_CH_DST_HANDSHAKING_HARDWARE,
.dst_peripheral_request = DMA_PERIPHERAL_REQUEST(2, 12),
.enable_interrupt = true
};
And in SPI_MASTER_RADIO_lInit()
XMC_USIC_CH_SetInterruptNodePointer(XMC_SPI1_CH1,
XMC_USIC_CH_INTERRUPT_NODE_POINTER_TRANSMIT_BUFFER,
(uint32_t)SPI_MASTER_SR_ID_1);
XMC_USIC_CH_TriggerServiceRequest(XMC_SPI1_CH1, (uint32_t)SPI_MASTER_SR_ID_1);
Any ideas of what could be happening here that can cause the second byte to be dropped?
Show Less