Recent discussions
Hi,
I used two SPI's (SPI 1 and SPI 2) to communicate with two different flashes(Flash 1 and Flash 2) which are same IC make. I configured both SPIs identically. I may able to communicate with SPI 1 and Flash 1 but not with SPI 2 and Flash 2. I used four SPIs in my code. Is there any setting which i have to do to communicate with the SPI 2 and Flash 2?
So please help me to resolve this issue.
Thanks
Show LessHi, I am using an XMC-Link debugger and it happens very often, that I disconnect the power of my microcontroller board while a debug session is still running. As a consequence, the debugger is failing to read registers. But there are no timeout or abortion criteria, so it just keeps running, causing high CPU load, which is annoying because the fans will spin up after a while and if I want to start a new debug session later, I have to terminate the running one manually.
Is there a way to automatically terminate a debug session if power/connection loss occurs?
Is it possible to automatically terminate a running debug session if I start a new one? If I remember correctly, it worked that way with DAVE 3.
Under DAVE 4.4.2 I tried unsuccessfully to change the CAN baudrate with: "CAN_NODE_ConfigBaudrate()".
It turned out that the struct:
static const XMC_CAN_NODE_NOMINAL_BIT_TIME_CONFIG_t CAN_BUS_1_BitTimeConfig = {
.can_frequency = (uint32_t)1.44E8,
.baudrate = (uint32_t)(250 * 1000),
.sample_point = (uint16_t)(80 * 100),
.sjw = (uint16_t)1
};
from the file "can_node_conf.c" was created in Flash,
and therefore could not be changed at runtime.
After changing to:
"static XMC_CAN_NODE_NOMINAL_BIT_TIME_CONFIG_t CAN_BUS_1_BitTimeConfig = {.."
(without "const"),
the struct was created in RAM,
and I was able to change the baudrate with "CAN_NODE_ConfigBaudrate()".
Best Regards,
Hans
Hello, I use a XMC45 with save the value of the crc in this flash.
I use J flash to read the value and I find :
I decided to read this value in my soft project to check if the CRC is correct between the way of Srecord(generate a hex file with CRC) or calculate by soft (directly in xmc45)
The problem is that I don't arrived to catch my CRC in Flash.
#define APP_BASE_ADDR (0x0C000000U)
#define END_PTR_ADDR (0x1CU)
void CRC_Init(void)
{
{ // Reads size of loaded app to determine where the CRC is stored
// Address where App code size is written
const uint32_t *pAppSize = (uint32_t *)(APP_BASE_ADDR+ END_PTR_ADDR);
// Reads serial which is just after the CRC at the end of code
uint32_t uAppSize = (*pAppSize);
uint32_t uEOC = (APP_BASE_ADDR + uAppSize);
uint32_t u32AppCRC = *(uint32_t *)uEOC;
Input_Register->CRC_APP = u32AppCRC;;
}
Adresses are good : but it return 0 here : uint32_t u32AppCRC = *(uint32_t *)uEOC;
To catch value I configure .long __text_size in Startup_XMC4500.s
.align 2
.globl __Vectors
.type __Vectors, %object
__Vectors:
.long __initial_sp /* Top of Stack */
.long Reset_Handler /* Reset Handler */
Entry NMI_Handler /* NMI Handler */
Entry HardFault_Handler /* Hard Fault Handler */
Entry MemManage_Handler /* MPU Fault Handler */
Entry BusFault_Handler /* Bus Fault Handler */
Entry UsageFault_Handler /* Usage Fault Handler */
.long __text_size /* Reserved */
Someone can explain me my error ?
Already thank you
Pierre
Show LessUżywam dwa pakiety DAVE 4.4.2 i Vim 8.2.2871 ("vi" editor). Po krotkotrwałym zablokowaniu dostępu do wspólnych plików. DAVE odrzuca opcję -z stacksize=...
Znajdzie się jakaś rada?
I am using the two packages DAVE 4.4.2 and Vim 8.2.2871 ("vi" editor). After briefly blocking access to shared files. DAVE rejects the -z stacksize = ... option.
Will there be any advice?
then i couldn't select the same clock input for all channels:
and then I have to configure three different clock inputs, and they could not be the same.
Is there some way to use only one clock input with three data channels?
Thanks. Show Less
after some trouble I was able to build up an Echo Server with RTOS and LWIP from scratch. I added the project. In the second step I wanted to exchange the Keil-RTX RTOS by Free-RTOS. But the server is not running anymore. What I am doing wrong Show Less
For testing this I use the XMC2go board.
It is originally
MEMORY
{
FLASH(RX) : ORIGIN = 0x10001000, LENGTH = 0x10000
SRAM(!RX) : ORIGIN = 0x20000000, LENGTH = 0x4000
}
and afterwards:
MEMORY
{
FLASH(RX) : ORIGIN = 0x10005000, LENGTH = 0x5000
SRAM(!RX) : ORIGIN = 0x20000000, LENGTH = 0x4000
}
I now change the Debug-Configuration in the tab "Startup" and set the field "Set program counter at (hex)" to 10005000 as in the linker script.
After an flash-erase I'm not able to load, run and debug the Project any more. The flash seems to be programmed,
but debugging fails.
How can I run and debug an application from another Flash-Start adress than 10001000 ? Show Less
i try to implement a simple GPIO-Interrupt on a 1404 but I have so Idea how to configure ERU and SSC via XMClib.
Any hints/examples?
The 1403-example does not work because the 1404 ERU seems to be totally different...
Best
Lars Show Less