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

XMC 2Go - I2C - RGB Sensor

$
0
0
Hi Min Wei,

Thank you very much for your response I've solved the problem!
As you said the first acknowledgement in the read command must be "I2C_TDF_MRxAck0".
Further, the device address (0x10) must be shifted by 1 bit to the left, because it is a 7-bit address, so it became 0x20 -> the additional zero is used as indicator for a write command.
The communication worked after these changes.

Kind regards,
schmidi

SPI clock generation problem

$
0
0
Hello Min Wei,

25MHz is not a hard requirement. But it would be nice if it was above 20MHz.
With 120MHz it should be possible then to use a SPI clock frequency of 24MHz or even 30MHz as this is a whole number. But the jitter also happens there...I can't seem to use a frequency above 20MHz without jitter.

Regards,
Milad

lwip hangs in "release" build

$
0
0
Hello

I managed to get working UDP protocol with lwip app stack (ETH_LWIP, version 4.0.4) on Relax Kit.
But when I build it as "Release" target, it does not work. So I tried to simplify the program to isolate the problem.

Just now I have only two task blinking LED and a os timer. Nothing more.

1) In debug build:
LEDs are blinking and I can to ping the Relax kit.

2)In release build:
LEDs are blinking if the Ethernet cable is disconnected from Relax kit. When I connect the cable, Relax kit does not answer to ping.
Moreover after a while (let say 5s) program crashes - LED stop blinking.

Any idea what to try next?

how to use the ambient light sensor(XMC1200 RGB LED Light)

How to monitor CMSIS_RTOS_RTX stack size?

$
0
0
Hi,

Yes, System and Thread viewer is only supported in Keil-MDK environment. To migrate your project to the Keil-MDK, you can enable the gpdsc option in the DAVE CE preferences.

DAVE generates code that can be debugged with µVision. To exchange project data with µVision, DAVE is capable of creating Generator Package Description Files (GPDSC). These files contain the description of the software components generated by the DAVE project configuration.They will be picked up and included into the µVision project.

Here's how you can prepare DAVE to generate the GPDSC file. You need to configure DAVE to create a GPDSC file when using the Generate Code button.
1. Click on Window – Preferences
2. Click on Dave – DAVE CE Preferences
3. Select Generate gpdsc file

[Reference: http://www.keil.com/appnotes/files/apnt_258.pdf]

Regards,
Daryl

XMClib SDMMC example

$
0
0
HI,

Yes, there is an SDMMC_BLOCK APP (beta version) released in Feb. It is available in the latest version DAVE.

In the APP Help documentation, you can refer to the Section "Usage". There are 2 examples provided in this section and is made using XMC4500 hexagon board with HMI interface card.
Try it today! :)

Regards,
Daryl

XMC4500 CCU4 / CC4. Set the 'Compare Register' without stopping the timer ?

$
0
0
Hi everyone,

I am using the an XMC4500 CCU4 / CC4 counter / timer slice for the Position Interface (POSIF) and I need to set the 'Compare Register' while the timer is running without having to wait for the Period to expire.

I need to set the 'Compare Register' regularly (for example every 1mS) and I can't risk losing encoder counts (position) while the CC4 counter / timer is stopped.

Is there a solution for this ? Maybe using an external signal ?

Thank you in advance for any suggestions.

Best regards
Aaron

Reset types

$
0
0
Hello,

PV refers to power validation, which monitors for the core supply voltage VDDC. Power-on reset is triggered if it falls below a specific threshold.
SWD refers to Supply Watchdog, which monitors for the supply voltage VDDP. In this case, power-on reset is triggered if it falls below the reset threshold voltage VOR.

This information can be found from the RM page 11-20.

Sorry that the above is not obvious from the register definitions table. I will feedback accordingly to the relevant colleagues for a future RM improvement.
Thank you for your valuable feedback.

Regards,
Min Wei

XMC™ demo on Multichannel Lighting Control

$
0
0
XMC™ demo on Multichannel Lighting Control

This setup offers flicker free dimming and supports multiple protocols (DMX512 and DALI).
Syafii explains how XMC™ Microcontrollers help you design multichannel LED lighting solutions with a shorter BOM and flickerless dimming.

Watch this video to see it in action:
Attachment 2244


If you want to learn more, watch our webinar on "LED lighting with XMC™":
http://infineon-community.com/LP=260?src=FB
Attached Images

DMA Problems

Modifying DAVE generated source

$
0
0
Hi,

In DAVE3, there is a template source code which you can edit and make changes to the template.

However so sorry, at the moment I do not know how to do this for DAVE4, so I suggest below solution.

1. Copy out the XXXX.c file which you had modified out of the project folder.
2. Everytime you do an update to the DAVE4 apps compare your XXXX.c file with the latest for any required changes
3. Overwrite the latest XXXX.c if there is no new updates.

XMC 4700 and CAN FD

Ref. manual of XMC 4800: Where to find link between pin (e.g. LED1 - P5.9) and IOCR?

Dave 4.2 64-bits unable to open projects

$
0
0
I formatted my computer yesterday.
After reinstalling Dave 4.2 64-bits I found that I am unable to open previously created projects.
This projects were created using the same version of Dave (4.2 64-bits). During format these projects were left untouched.
I have suffered from same problem previously when I was unable to open Dave 4.1 32-bits project in Dave 4.2 but the I created the new version project in Dave 4.2 64-bits.
Kindly advice.

About Boot loader

$
0
0
Hi Min Wei,

Thanks for your reply and as per my knowledge to write or read some data into the SD card, Supoorted FAT file system is needed. I am trying to implement that FAT file system for this communication.

But i am not able to reach it exactly.Please guide me to implement this thing first for communication between SD card and XMC 1400.

Thanks & Regards,

M.Ramarao.

QSPI chip select question

$
0
0
Hi all,

I have trying QSPI with iLLD library 1.0.0.0.7. I want using QSPI0 with manually driven CS pin. Here is SPI the initialization code part:

Code:

//********************************************************************************
//  Function Name  : init_SPI
//  Author          :
//  Date            :
//  Parameters      : NONE
//  Returns        : NONE
//  Notes          : Initializes the SPI Interface
//********************************************************************************
void init_SPI(void)
{
        uint32                          i;

    /* disable interrupts */
    boolean interruptState = IfxCpu_disableInterrupts();


            IfxQspi_SpiMaster_Config        spiMasterConfig;
            IfxQspi_SpiMaster_ChannelConfig spiMasterChannelConfig;

            {
                /* create module config */
                IfxQspi_SpiMaster_initModuleConfig(&spiMasterConfig, &MODULE_QSPI0);



                /* set the maximum baudrate */
                spiMasterConfig.base.maximumBaudrate = 10000000;


                /* ISR priorities and interrupt target */
                spiMasterConfig.base.txPriority  = ISR_PRIORITY_QSPI0_TX;
                spiMasterConfig.base.rxPriority  = ISR_PRIORITY_QSPI0_RX;
                spiMasterConfig.base.erPriority  = ISR_PRIORITY_QSPI0_ER;
                spiMasterConfig.base.isrProvider = (IfxSrc_Tos)IfxCpu_getCoreIndex();



                /* pin configuration */
                const IfxQspi_SpiMaster_Pins pins = {&IfxQspi0_SCLK_P20_11_OUT,                              /* SCLK */
                                                    IfxPort_OutputMode_pushPull,
                                                    &IfxQspi0_MTSR_P20_14_OUT,                              /* MOSI */
                                                                                                IfxPort_OutputMode_pushPull,
                                                    &IfxQspi0_MRSTA_P20_12_IN,  IfxPort_InputMode_pullDown,  /* MISO */
                                                    IfxPort_PadDriver_cmosAutomotiveSpeed3                  /* pad driver mode */
                };
                spiMasterConfig.pins = &pins;

                /* initialize module */
                IfxQspi_SpiMaster_initModule(&g_QspiCpu.drivers.spiMaster, &spiMasterConfig);
            }

            {
                /* create channel config */
                IfxQspi_SpiMaster_initChannelConfig(&spiMasterChannelConfig,
                    &g_QspiCpu.drivers.spiMaster);

                /* set the baudrate for this channel */
                spiMasterChannelConfig.base.baudrate = 3000000;

                const IfxQspi_SpiMaster_Output slsOutput = {
                                                            &IfxQspi0_SLSO9_P20_3_OUT,
                                                            //NULL_PTR,  // if this option is used then got jump to intrisic code part !!!!!
                                                            IfxPort_OutputMode_pushPull,
                                                            IfxPort_PadDriver_cmosAutomotiveSpeed1};

                spiMasterChannelConfig.sls.output.pin    = slsOutput.pin;
                spiMasterChannelConfig.sls.output.mode  = slsOutput.mode;
                spiMasterChannelConfig.sls.output.driver = slsOutput.driver;
                spiMasterChannelConfig.base.mode.autoCS = 0;  // HERE I SET AUTO CS DISABLED, BUT CS STAYS ENABLED!!!!!

                /* initialize channel */
                IfxQspi_SpiMaster_initChannel(&g_QspiCpu.drivers.spiMasterChannel, &spiMasterChannelConfig);
            }

            /* init tx buffer area */
            for (i = 0; i < SPI_BUFFER_SIZE; i++)
              g_QspiCpu.qspiBuffer.spi0RxBuffer[i] = (uint8)(0);

            IfxCpu_restoreInterrupts(interruptState);

} //end init_SPI

As you see I set up the autoCS disabled but it was not took effect, CS stays automatically driven. Also if I set NULL_PTR for spiMasterChannelConfig.sls.output.pin, then I get intrisic entry, debugger jumps to here :

( file IfxCpu_Inrtinsics_Gnuc.h )

Code:

/** Insert DEBUG instruction
 */
IFX_INLINE void __debug(void)
{
    __asm__ volatile ("debug" : : : "memory");
}

What the problem could be please ?

Thank you in advance !

Best regards,
Born

Problems after MemTool Erase

$
0
0
Hi,

yesterday I was able to execute the LcdDemo of the free tricore entry tool chain on my TC275TF-64F200W.
Today I used the Erase Button of the UDE Programming Tool (on PFLASH0) and now it does not work anymore.
I follow the exact same steps as yesterday but the LCD just remains black.
One of my colleagues guessed that I might have killed the bootloader, but I am very new to microcontroller programming and therefore don't know if that is right.
Any help would be appreciated.

Best regards
Hubert

DAVE TIP of the Day: Understanding the resources used by your application

$
0
0
For each microcontroller, Infineon provides a software model describing the device in terms of all physical resources along with top level connectivity implemented on the chip.

When you request for code generation, DAVE:
  • Retrieves from APPs in the project, the list of all virtual resources and signal connections amongst them
  • Forwards the list to a resource manager known as the Solver.
  • The Solver tries to find a solution by looking up the software model. Once a solution has been found, the solver returns a list of physical resources fulfilling the needs of application back to DAVE which stores them in the application data model.

To know the resources consumed by the APP, DAVE provides a way to quickly find out the resources that are assigned by the solver. After code has been generated, please click on the resource mapping information icon as shown next.
Attached Images

lwip hangs in "release" build

USBD_WINUSB PC application

$
0
0
Hello

In the help section for USBD_WINUSB (Dave 4) it says that there should be a PC application built on Visual Studio. Where can I find this?

"Infineon provides the Windows PC application built on Visual Studio with the USBD_WINUSB device example. The Windows host application
uses winusb.dll APIs to interact with winusb.sys driver. Through winusb.sys and host USB stack, the host application communicates with
the XMC4000 USB0 hardware."

Many thanks
Elin
Viewing all 9892 articles
Browse latest View live


Latest Images

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