Quantcast
Channel: Infineon Forums
Viewing all 9892 articles
Browse latest View live

Using BMI-String located in XMC4500 Flash UCB area during Normal Boot mode

$
0
0
Hello,

i want to use the 32-bit USB Serial Number located in the BMI-String (XMC4500-1024 UCB2 area).
I've used the FLASH002-App offered by DAVE.
The only available boot mode for my application is Normal Boot (booting from internal FLASH).

After configuring the UCB with Flash002_EraseUCB(2) and Flash002_ConfigureBMI(...) their is only the USB-SN-Valid bit set (BMI-Word) in DRAM copy after RESET but the USB serial number was not transferred.

Normally the complete BMI-String is expected at DRAM address 0x20000090 (see XMC4500 reference manual).

Is it possible to use the BMI-String data for "Normal Boot" mode?
Why does it not work during normal boot?

can't create dave project's in a a windows 7 virtual machine

Default Handler disrupting FreeRTOS program

$
0
0
Checking in...

Has anybody experienced similar problems?

adriano

How to write data of arbitrary type to FLASH of XMC4400?

$
0
0
Hi all,

I am trying to save a single instance of a typedeffed data type to the flash of the XMC4400 for later use (only an example here, in reality it is a larger configuration struct, but not larger than the page size of 256 bytes). As a target, I chose the first page of the user configurable block 0 (UCB0) of the flash of XMC4400, starting address is 0xc000000.

Here is a portion of sample code that I tried - loading the data is not a problem as the flash can be accessed as RAM, but saving the data does not work - though I'm using the latest version of the XMClib -> <xmc_flash.h> and <xmc4_flash.h>. The codes executes without exceptions, the flash status indicates programming mode after save_data(..), but if I look at 0xc000000 with the debugger I notice nothing has happened. Consequently, after load_data() the variable reads random data.

Can anyone help? Provide some code that will succeed to write this variable to the flash?

Thanks,
Niklas

Code:

#include <DAVE.h>
#include <XMC4400.h>
#include <core_cm4.h>
#include <xmc_flash.h>

#define FLASH_ADDRESS XMC_FLASH_UCB0

typedef struct my_type {
        bool foo;
        void (*foo_handler)(void);
        float bar;
        //etc...
}TYPE_t;

TYPE_t data;

void save_data(uint32_t* address)
{
        uint32_t page[XMC_FLASH_WORDS_PER_PAGE];
        TYPE_t* data_ptr = &data;

        //initialize a buffer of the size of one flash page
        for (uint32_t i=0; i<XMC_FLASH_WORDS_PER_PAGE; ++i)
                page[i]=0;

        //copy the target data word by word into the buffer
        for (uint32_t i=0; i<sizeof(TYPE_t)/4; ++i)
                page[i]= *(uint32_t*)data_ptr++;

       
        XMC_FLASH_ClearStatus();
       
        //attempt to write the buffer (=one page) to the flash -> executes but does not do anything???
        XMC_FLASH_ProgramPage(FLASH_ADDRESS, page);
}

void load_data(void)
{
        data = *((TYPE_t*)FLASH_ADDRESS);
}

int main(void)
{
        SystemInit();
       
        data.foo = true;
        data.foo_handler = NULL;
        data.bar = 100e-9;

        save_data(FLASH_ADDRESS);
       
        data.foo = false;
        data.bar = 0;

        load_data();

        while(1U);
}

Webcast: XMC1400/XMC4800 High performance realtime Cortex M0 and M4 EtherCAT MCU

$
0
0
Would you like to have a ARM Cortex M0 with performance better than M3? Are you looking for an M4 MCU with EtherCAT built in?
We would like to invite you to watch the on demand version of the latest webcast on "Infineon XMC1400 and XMC4800-High performance realtime Cortex M0 and M4 EtherCAT MCU".

In this webcast you will learn about:
  • XMC1400 major applications, system block
  • XMC4700/XMC4800 major applications, system block
Attachment 1953
Click on image to view video, or go to: http://bit.ly/XMC_32-bit_Industrial_MCUs
Attached Images

XMC1400 - Preliminary Data Sheet available

clock control unit(CCU) configuration

$
0
0
Hello Srikanth,

Can you elaborate on specifically which clocks do you want to configure and to which frequency?

Are you using DAVE4 without APPs?

Regards,
Min Wei

ADC example in documentation - not working

$
0
0
Hi All,

Thanks for all the replies. I just got back to playing with my new toys. I will give this example a try and let you know how it goes.

Regards
Enigma

possible XMC bug : CCU4 unable to re-start

$
0
0
Hi Travis,

Sorry for the late replies, just got back.

Setup:
1) XMC1300 boot kit.
2) DAVE 4.1.4

It still does not seem to work for me. Is there a basic project for showing this, it is not obvious to me how to get this working. Currently only my hacky method seems to work.

Regards
Ludwig

AURIX TC233L About Adc_GetGroupStatus

$
0
0
Did you check with the debugger the other ADC registers? Maybe some clock is missing? Did you double/triple-check the initialization?

UART - streaming data

$
0
0
Hi All,

I have been trying to stream data from the xmc1300 boot kit using DAVE4 to the PC. The micro controller is streaming data, but often it seems to mess up what it is streaming. I tried something I though should be very basic and simply working

my main while loop
Code:

  while(1U)
  {
            //Check if transmit buffer is idle
            if(UART_GetFlagStatus(&UART_0, XMC_UART_CH_STATUS_FLAG_TRANSMISSION_IDLE))
            {
              //Check if receive request is successful

              if(UART_Receive(&UART_0, rec_data, 10) == UART_STATUS_SUCCESS)
              {
                //Wait for reception of 10 bytes
                while(UART_0.runtime->tx_busy)
                {
                }
                //Transmit the received data.
                        if (rec_data[0] == '1') {
                                UART_Transmit(&UART_0, rec_data, sizeof(rec_data));
                        }
              }
            }
  }

and an end of transmit interrupt
Code:

//Callback functin for "End of transmit" event.
void EndofTransmit()
{
        uint8_t Data[4] = {};
        uint8_t message[6] = {};

    Data[0] = result / 1000        +48;
    Data[1] = (result % 1000) / 100 +48;
    Data[2] = (result % 100)  / 10  +48;
    Data[3] = (result % 10)  / 1  +48;

    message[0]  = Data[0];
    message[1]  = Data[1];
    message[2]  = Data[2];
    message[3]  = Data[3];
    message[4]  = (int)13; // CR
    message[5]  = (int)10; // NL

        if(result>1){
                UART_Transmit(&UART_0, message, sizeof(message));
                result--;
        } else {
                UART_Transmit(&UART_0, message, sizeof(message));
            result = 4095;
        }

}

The idea is for the code to count down from 4095 and stream each result to a PC. This happens, but the results I get when examining the stream is that sometime it sends the wrong number of bytes, this I checked with Hterm.

Is there anyone that has gotten streaming to work with an XMC controller to the PC without using xpsy? Is there any example project that someone is willing to share? I just want to stream the ADC data to the PC, see it on the scope and save the scope data.

Regards
Ludwig

Website Dave 4 Download

$
0
0
Hi Stefan,

Thank you for your feedback. We have removed the text "Infineon Privacy Policy". You will not have this problem any more.

Best regards
Luxun

XMC2go UART slipped multiple characters problem.

$
0
0
I applied it to flush TxFIFO in Dave, and I also tried to flush TxFIFO&RxFIFO in the computer GUI (MFC) with the function called PurgeComm(m_hComm, PURGE_ABORT|PURGE_RXCLEAR),
but the problem still happens..
In debug mode of Dave, everything are fine Rx&Tx, but in MFC debug mode, I found a pattern before the problem showed up.
Before the problem happened, when wByte (sending buffer from GUI) sent "012345", for example, then rByte (receiving buffer from Kit) received "" (empty string),
and then the slipped character problem showed up again.

Could you give me any other advice? The way you gave me was helpful, but I still couldn't solve the problem...

Regards
Sean

INFINEON Microcontroller and DRR3 bus interface

$
0
0
Hello,
I'm looking for an INFINEON Microcontroller which includes a DDR3 bus, whatever the family of the micro (TRICORE, AURIX...).
Could you please tells me what are the INFINEON micro that includes such interface?

Thanks
Regards
Gilles KLIPFEL

XMC4500 - SW Trap Exit - Register handling

$
0
0
Hi everybody,

i'm using the XMC4500 Relax Kit together with DAVE in order to realize an easy PWM function. With the PWMSP001 app I've managed to control one LED on the board. In the next step I want to use the Trap function with an SW exit of the PWMSP001 for save switching off the LED.
The Trap-Function and SW Exit are activated in my app, that after flashing the board my PWM controlled LED is off. Now in order to activate the PWM (and the LED) I have to clear the Trap state bit, right?
As picture "22-32 Trap control diagram" from xmc4500 reference manual tells me to clear the CC4ySWR.RE2A and CC4ySWR.RTRPF bitfields to activate the PWM I'm using the following code:
CCU40_CC43->SWR|=0xC00;
Unfortunately my LED does not start to blink... what am I doing wrong?

Thank you in advance
Best regards,

Michael

XMC 2Go UART receive problem

$
0
0
Hai

yes, i made the receiver's ready from the first frame.

anyway, i have solved my problem, i disable RX Fifo on xmc 2go.

but my next question, can i make my xmc 2go reset by an APP?
because when i combine the receiver code with data process code, the next frame received doesn't match with sender frame data.

If i can reset xmc 2go, i think the frame data will match.

Thanks :D

ERROR : 'ERU0_2_IRQHandler' redeclared as different kind of symbol XMC1302

$
0
0
Hello,

I configurate a XMC1300 Boot Kit for LLC converter.

There are two different input signals, which should trigger different interrupt rutines.
As external trigger I use two instances of DIGITAL_IO. For each DIGITAL_IO I use one instance of Event_Detector and Event_Generator to trigger the interrupt.
But when I connect the second Event_Generator in the "HW Signal Connections" this Error occurs during building:

ERROR : 'ERU0_2_IRQHandler' redeclared as different kind of symbol

When I undo this connections new Errors occur like:

ERROR : 'CCU8_1_IRQHandler' redeclared as different kind of symbol

How ca I fix this?

kind regards Marcel

Vbat monitor LPAC

$
0
0
RTC periodic event wakeup mechanism must be used instead of sub-second timer in hibernate mode.

High side switches reverse battery protection

$
0
0
It would be nice to have some more comments ... :)


Marco

TLE987x CSA GAIN Setting

$
0
0
Hi

Now I testing CSA(Current Sense Amplifier) peripheral.

as I know, their has gain setting and it is 4 levels.

but I`m not sure this setting level really applied it because current sensing value always same even changed this gain factor.

and in User_Manual, it has 4 level for gain, but in KEIL Complier has 15 level for it.(In debugging and watching this SFR)

so, what is the correct it?

Is there errata for TLE987X?

Thanks.
Viewing all 9892 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>