Getting started with Infineon XMC for Arduino

Infineon created the ARM Cortex M Series "XMC" in 2012 to give their users access to a rich portfolio of different AMR Cortex M0+ and M4 MCUs. These Microcontrollers, being supported by powerful peripherals had support for two different IDEs: Keils MDK and Infineons DAVE. While Keil is the definitive choice for most professionals (and expensive...), DAVE was an self-developed plug-and-play kind of programming tool, using Eclipse as framework. However, both tools were directed towards professional endusers and developers, while hobbyists and makers with less experience in ARM Cortex programming would have a sturdy learning curve. Seeing that, and the first tests of the fanproject XMC-to-Arduino - Infineon decided to create an own boards package for the Arduino IDE. And thats what finally arrived some days ago :)!

Here is the link with all information: https://www.infineon.com/cms/en/tools/landing/infineon-for-makers/#microcontroller-boards

And the Github Link: https://github.com/Infineon/XMC-for-Arduino

 

And now we start with installing this package and Arduino 🙂

 

0.) Download the Arduino IDE: https://www.arduino.cc/en/Main/Software

1.) After downloading, unpack or install the Software and start it.

2.) Go to File -> Preferences and click on the Button right at the End of "Additional Boards Manager URLs" to open the dialog.

3.) Enter the URL of the XMC Repository ( https://github.com/Infineon/Assets/releases/download/current/package_infineon_index.json )  into the dialog and save it by clicking on OK - also closing the Preferences Menu via OK.4.) Goto Tools -> Board -> Boards Manager and search for XMC. Then install the XMC package:

5.) After installation, close the dialog and close Arduino.

6.) Download and install the Segger J-Link Software from this link: https://www.segger.com/downloads/jlink

7.) Start Arduino again, go to Tools -> Boards and chose your board, mine is the XMC2Go:

8.) Also chose the right port under Tools -> Port

9.) I started with a blink example which I choose from File -> Examples -> 01. Basics -> Blink

10.) Click on the Upload arrow just over the name of the Sketch "Blink".

11.) If you got an older XMC2Go module, Arduino / Segger J-Link will ask wheter it should update the Firmware on the XMC2Go. Confirm that.

12.) Arduino should successfully end the upload proccess and you' ll have your XMC2Go blinking 🙂

13.) Already done - that was easy, wasn't it :)?

 

As an additional feature I decided to throw in a short graphic of the different ports of the XMC2Go and the mapping between Arduino IDE and MCU:

 

[Win7+] Arduino 1.6.4+ Portable Installation

In the last months, a lot of new updates arrived from the Arduino front. The latest installment of the Arduino IDE is now 1.6.4 and got some really nice additions, i.e. an Board Manager to install board definitions from the net via one click, the Library Manager, line numbers and much more. However, given the nature of the Board Manager, it always installed the files somewhere on the Computer, i.e. the AppData folder - which not really made the Arduino IDE portable. However, with 1.6.3, this was fixed.

Preparation
1.) Download the latest Arduino IDE (1.6.4 here) from http://www.arduino.cc/en/pmwiki.php?n=Main/Software
We took the "Windows ZIP file for non admin install" Version.
2.) Unpack the Arduino IDE somewhere
3.) In the Main Arduino IDE Folder, create an Folder named portable

Installation of Board Support Packages
4.) Start Arduino IDE
5.) Go to File -> Presettings
6.) In the Line "Additional Boards Manager URLs" you can enter as many URLs as you want, seperated by comma.
You can find a list of the URLs at https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls
Click Ok if you're done
(i.e. enter http://arduino.esp8266.com/package_esp8266com_index.json for the ESP8266 Package)
7.) Go to Tools -> Board -> Boards Manager
Arduino will refresh its boards list from the URLs you entered. You can now click on every entry you want and install it with a click on install.
You can also uninstall and change versions using that menu.

Installation of Libraries
8.) Go to Sketch -> Include Library
Here you can a) Install a Library with the Library Manager in the same way as the Boards Manager, b) Install a Library from a ZIP File
Just install the libraries you need and close the window.
i.e. MQTT

elektor Live 2013

You can find my slides from the elektor Live 2013, Raspberry Pi 101 Workshop here: elektor_RPi_2013_Maas.pdf [ 6,1 MB ]

The handout or "cheat-sheet" can be downloaded here: elektor_RPi_2013_Maas_Cheat_Sheet.pdf [ 0,4 MB ]

... and finally, you find the Sourcecode of the Sample Projects here: elektor_RPi_2013_Maas_Sourcecode.zip [ 0,03 MB ]

Videorecording of the talk can be found here