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

Open Source CAN Stack with C-Code API generated from Vector CANdb++ *.dbc Files

$
0
0
Just one comment:

The above and all webpages/documentations linked in there are walls of text. No one image/graph which helps to understand the idea/function.

Very hard to follow.

memcpy() from uncached flash

$
0
0
Is it safe to read data from the uncached internal flash (PFLASH) using memcpy()?

It seems to work, but the reference manual for XMC4800 (ch. 8.4.4) only says that "The PMU allows [...] single 32-bit
read accesses to the non-cached address space of the PFLASH". It doesn't say that e.g. byte accesses are safe.

ADC_MEASUREMENT_ADV not working on XMC4400 Hexagon board

ETH_LWIP problem to send UDP in RTOS mode

$
0
0
Hi everyone,

With this project, I am able to ping the xmc4500 board.

but by using python or any other socket test app I am not able to receive the message. "Hello Word"
I am using a switch with normal Ethernet cables.
Am I doing something wrong?
did any one successfully run this code? I want to establish a send/receive UDP communication between xmc4500 and a PC.
any help is highly appreciated.

Thanks.

Settings for DC-syncronous (or SM+SYNC0) mode

$
0
0
Hello,

I was looking into getting the DC synchronization working for XMC4800 and I came across this thread. Is there any update regarding this? Can you direct me as to how to observe this feature of EtherCAT on XMC?


Best Regards,
Dhanashree

XMC4400: How to recover from E_EEPROM_XMC4_STATUS_ERROR_OLD_DATA ?

$
0
0
Quote:

Originally Posted by jferreira View Post
Hi,

We have tried to reproduce your issue without success.
1. Save data in the first block in EEPROM
2. Use and corrupt second block artificially. Reset. DAVE_Init returns E_EEPROM_XMC4_STATUS_ERROR_OLD_DATA
3. Save data in the third block in EEPROM. Reset. DAVE_Init returns no error.

The error should vanish after the next valid data being stored in FLASH.

What do you mean by "but after an unexpected power off and a restart"? Did this happen during the update of the flash contents?

In this sentence, "The operation is carried out without mistakes and a new call to E_EEPROM_XMC4_Init returns no error.".
Did you do a reset after the call to E_EEPROM_XMC4_UpdateFlashContents(); or did you just call the E_EEPROM_XMC4_Init()?

Best regards,
Jesus

What do you mean when you say that you write in three different EEPROM sectors? Is it something that is selected by user code or it is managed automatically? What happens if you use again the corrupted sector, i.e. sector number 2? I always use the same location of the EEPROM, hence i need to recover it after data corruption (no matter if I lose data). Any ideas? Thank you!

DAVE TIP of the day: DAVE Optimization settings

Application Note: XMC1000 S-series device

$
0
0
The XMC1000 S-series device Application Note is available at the Infineon Technologies website:
http://www.infineon.com/cms/en/produ...a0029#ispnTab3

Application Note

About this document
The XMC1000 S-series device provides Intellectual Property (IP) protection for your application code. The device has a boot mode which handles the download of the encrypted application code.
In this document, we give an overview of the IP protection scheme and the command set, we describe the flash programming flow of the XMC1000 S-series device, and provide instructions for encryption and downloading the application code to the S-series device using the Secure Download Manager tool provided by Infineon.

Access to compiler command options for a pre build command

$
0
0
Dear support engineer,

in a DAVE project, i want to use the Compiler command options as a parameter for a prebuild command batch script.

This should look like:

...\buildsteps.bat ${FLAGS}

Unfortunately the ${FLAGS} variable is always empty.

Is there a way to access the compiler options at the the pre-builkd step stage?

Or am i doing something wrong?

The attached pictures further emphazise the problem.

Thanks and best regards

Felix

Attachment 2416Attachment 2417
Attached Files

software datasheet for XMC4500f100k1024ac

$
0
0
Hello,

I am using Infineon relax board to work on usb module. I am unable to find correct data sheet which usb microcontroller settings rather i found data sheet that has only timing and electrical characteristics.

Please share the datasheet with respect to the uc XMC4500f100k1024ac.
Also are there any example codes to communicate via usb with Infineon relax board and PC?

I2C-bus stops responding

$
0
0
Dear support,


I would really need support with the I2C-bus.


Have a system with XMC4500 up and running, it can operate for several weeks until suddenly the I2C-bus stops responding.

The XMC4500 is master, and have two slave pheriperals: a IO-expander and a RTC.


It uses I2C001-app 1.0.28 with FIFO buffers for both RX and TX.
I queue up all TDF-codes and data to the FIFO. The interrupt handler counts ack-interrupts and sets a semaphore when the stop condition is transfeered. I can therefore verify a successful write without doing "busy wait".

It works great until a fault conditon occurs. I have in the past already implemented a fail recovery mechanism which is called once before i issue a new I2C start condition:


if(I2C001_Handle0.I2CRegs->TCSR & USIC_CH_TCSR_TDV_Msk){
//Recover from an error state

I2C001_Handle0.I2CRegs->PSCR |= 0x3FF;

// Flush FIFO buffer
USIC_FlushTxFIFO(I2C001_Handle0.I2CRegs);
USIC_FlushRxFIFO(I2C001_Handle0.I2CRegs);

// Modify Transmit Data Valid
I2C001_Handle0.I2CRegs->FMR |= (((uint32_t) 2) << USIC_CH_FMR_MTDV_Pos) & USIC_CH_FMR_MTDV_Msk;
}


This has proven to not be sufficient - the I2C-bus still stays in a non responding state.

Have read the reference manual, and I belive that it must be due to out of synch with one of the pheriperals. Maybe the bus has switched direction, and the
bus is not idle once i issue a new start condition. It can also be out of synch with the state machine of the pheriperal - the TDF-code is not accepted at the current state.

But how do i recover from this state? By the reference manual it seems like i need to act different depending on current state. But this is quite complicated when using a FIFO - What command did it go wrong? How to react? ...


Isn't there a fool-prof way of resetting the bus forceing it back to idle?

XMC4500 Relax, a driver for USBLIB_VIRTUALSERIAL_XMC45

$
0
0
Dear,

installed it and got connection thru VCOM with terminal software.
Thank you.

XMC4500 Hibernate - run only RTC

$
0
0
Hello,

I want the XMC to run in hibernate domain when no VDDP is supplied. I want to run only the RTC and nothing else. I assume by setting some of the system control registers when the XMC is running I can configure what runs in the hibernate domain when VDDP is turned off. Is that correct? What do I need to set?

Displaycontrolling via Epson S1D13781 using XMC1300

$
0
0
Hi,

I'm trying to control a 800x280 pixel TFT-display using an XMC1300 together with the S1D13781 controller from Epson.
As far is I saw in the graphics library available from epson it relies on the two apps "SPI_MASTER" and "DIGITAL_IO".

All available sample projects use the XMC4700, which is far to powerful for my application, therefore I decided to try it with the XMC1300.

I configured the necessary apps according to the "xmc4700_s1d13781_withapps"-project, except for the pin-mapping.

Unfortunately on initializing the Displaycontroller using the "void S1d13781::init()"-Method, the code loops forever at the point where it requests the PLL-lock. *
I always receive "0" for an answer, independent of the requested register, so it seems like SPI-Communication fails. Shouldn't this be possible using the XMC1300?

Thanks,
Domi


*while(!(regRead(REG10_PLL_0) & 0x8000)){
continue;
}

Copter Simulator

$
0
0
Ich habe jetzt eine neue Version vom Quadrocopter Simulator entwickelt:
http://www2.futureware.at/~philipp/K.../Copter9.blend

Als Umgebung habe ich jetzt das Roboter-Challenge Szenario nachgebaut (2 Stangen, Schleife am Boden).
Dann habe ich noch ein paar Kameras eingebaut, mit den Tasten 1,2,3,4 kann man während der Simulation
zwischen den verschiedenen Kameras wechseln.
Eine der Kameras ist unten am Quadrocopter befestigt und schaut direkt nach unten, um die Kanupolo Boote zu beobachten
oder der RoboChallenge Schleife zu folgen.
Am hinteren Rand des Feldes habe ich 2 Bildschirme aufgestellt, die die Kamerabilder von 2 der Kameras anzeigen.
Über den Namen der Bildschirme wird gesteuert, welche Kamera dargestellt wird, wenn ihr eine andere Kamera darstellen wollt, einfach den Bildschirm umbenennen.

Zum Trainieren der Bildverarbeitung kann die Simulation die Bilder einer Kamera per HTTP POST an die Bildverarbeitungs-Software schicken.
(Server-seitig habe ich zur Zeit Code, der das Bild speichert und in PNG konvertiert, falls jemand Beispielcode braucht)
Um das schicken zu aktivieren und deaktivieren, bitte die Taste 'I' drücken.

Blender hat zur Zeit eine Einschränkung: Wenn man Kamerabilder speichern will, müssen sie auf eine Textur projeziert werden (also auf einem Bildschirm dargestellt werden)

Die Copter Physik habe ich um die Rotation um die Z Achse erweitert, und für die Copter Steuerung
die Tasten WASD zusätzlich zu den Cursortasten definiert, damit man mit 2 Händen gut steuern kann.
W: Nach oben, S: Nach Unten, A: Drehung nach links, D: Drehung nach Rechts

Bluetooth Communication

$
0
0
Ich hab mir jetzt den Bluetooth Teil der Widefield Software näher angeschaut, und einige Probleme und Sicherheitslücken gefunden:

Beim Empfangen von Bluetooth Control Packages wird nicht kontrolliert, wieviele Bytes empfangen wurden,
dadurch ist das ein logischer Buffer-Overflow. (Physisch ist es ein fixer mit 0 befüllter Puffer, also nicht ganz so schlimm)
Die Checksummen sind nur simple ungesalzene XORs die nicht kryptographisch abgesichert sind.
Wenn der ganze Puffer nur mit 0 gefüllt ist, ist die Checksumme gültig.
Das verwendete Bluetooth Protokoll hat keinerlei Start-Bytes, Stop-Bytes oder sonstige identifizierbare Header,
und wird über serielle Leitungen Byte für Byte übertragen. Daher ist eine korrekte Identifizierung wann ein Kontroll- oder Datenpaket anfängt
und wann es aufhört nur durch große FIFOs (die meisten FIFOs die ich kenne haben nur 14 oder 16 Bytes, dieses Protokoll hat 19 Bytes)
und genügend lange Zeitabstände zwischen den Paketen (die schlecht für die Latenz sind) erreicht werden.
Im Falle einer falschen Start/Stop Erkennung der Pakete wirft die Widefield Software einen Checksummen oder Kommunikationsfehler,
der dann in der Steuerungs-software die Motoren ausschaltet! Sollte es nur ein kaputtes Paket gewesen sind, werden die Motoren dann beim nächsten erfolgreichen Paket
vielleicht gleich wieder eingeschaltet.
Aus meiner Sicht sollten einzelne kaputte Pakete ignoriert werden und die Motoren erst beim Timeout abgedreht werden.

Rafael meinte, daß schon jemand an der Bluetooth Kommunikation arbeitet.
Ich würde mich auf Pull-Requests für https://github.com/thesourcerer8/Flying-PCB freuen.

XMC4500 Tip of the day: BootROM on-chip firmware

$
0
0
Hi Travis,
Thanks for Useful Information, i need more information on What is Test Firmware? how can i find information Regarding This.

Thanks and Regards,
Harshan.

Influence of Runtime Performance due to Debugger (Segger J-Link)

$
0
0
Can anyone confirm this behaviour? For me it is still unclear.

Simple Example to receive Datas

$
0
0
Hello,
Is there any example to receive datas via Rs245 to my XMC1200 bootkid?

Tanks for every help!
BerndB

RTOS aware debugging!

$
0
0
check with stm, there is wrapper.
Viewing all 9892 articles
Browse latest View live


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