XMC1200 Boot Kit Getting Started Agenda (1/2) 1 Kit Overview 2 Hardware Overview 3 Tooling Overview 4 – Boot Modes 5 – DAVETM 6 Getting Started 7 – Example – Blinky based on XMC Lib 8 – Example – Blinky based on DAVETM APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 2 Agenda (1/2) 1 Kit Overview 2 Hardware Overview 3 Tooling Overview 4 – Boot Modes 5 – DAVETM 6 Getting Started 7 – Example – Blinky based on XMC Lib 8 – Example – Blinky based on DAVETM APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 3 Agenda (1/2) 1 Kit Overview 2 Hardware Overview 3 Tooling Overview 4 – Boot Modes 5 – DAVETM 6 Getting Started 7 – Example – Blinky based on XMC Lib 8 – Example – Blinky based on DAVETM APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 4 Agenda (1/2) 1 Kit Overview 2 Hardware Overview 3 Tooling Overview 4 – Boot Modes 5 – DAVETM 6 Getting Started 7 – Example – Blinky based on XMC Lib 8 – Example – Blinky based on DAVETM APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 5 Agenda (1/2) 1 Kit Overview 2 Hardware Overview 3 Tooling Overview 4 – Boot Modes 5 – DAVETM 6 Getting Started 7 – Example – Blinky based on XMC Lib 8 – Example – Blinky based on DAVETM APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 6 Agenda (1/2) 1 Kit Overview 2 Hardware Overview 3 Tooling Overview 4 – Boot Modes 5 – DAVETM 6 Getting Started 7 – Example – Blinky based on XMC Lib 8 – Example – Blinky based on DAVETM APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 7 Agenda (1/2) 1 Kit Overview 2 Hardware Overview 3 Tooling Overview 4 – Boot Modes 5 – DAVETM 6 Getting Started 7 – Example – Blinky based on XMC Lib 8 – Example – Blinky based on DAVETM APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 8 Agenda (1/2) 1 Kit Overview 2 Hardware Overview 3 Tooling Overview 4 – Boot Modes 5 – DAVETM 6 Getting Started 7 – Example – Blinky based on XMC Lib 8 – Example – Blinky based on DAVETM APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 9 Agenda (1/2) 1 Kit Overview 2 Hardware Overview 3 Tooling Overview 4 – Boot Modes 5 – DAVETM 6 Getting Started 7 – Example – Blinky based on XMC Lib 8 – Example – Blinky based on DAVETM APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 10 Kit Overview (1/2) › XMC1200 Boot Kit – Consists of an XMC1200 CPU Card – Supported Application Card examples: Colour LED Card, White LED Card (Application Cards are orderable separately or as part of another Application Kit) Colour LED Card White LED Card XMC1200 CPU Card 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 11 Kit Overview (2/2) › XMC1200 CPU Card Micro USB 5 User LEDs On-board COM and Segger J-Link debugger Connectors according to pin-out XMC1200 Edge connector for Application cards Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 12 Hardware Overview › Connect XMC1200 CPU Card to PC via USB cable › CPU Card is powered up (as indicated by LED on the card) CPU Card powered via USB cable › Note: Supported Application Card may be additionally connected to the CPU card Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 13 Tooling Overview – Boot Modes › Boot Modes available – – – – UART Bootstrap-Loader Mode User Mode (Halt After Reset) User Mode (Debug) Default Mode of device on Boot Kit User Mode (Productive) › Boot Modes can be configured via: – DAVETM – Download DAVETM DAVETM v4.1.2 download – MemTool – Download MemTool MemTool v4.65.exe download › For more information on how to configure the BMI value, please refer to the XMC1000 Tooling Guide. Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 14 Tooling Overview – DAVETM (1/5) › DAVETM download package is available at: http://infineon-community.com/LP=400 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 15 Tooling Overview – DAVETM (2/5) › After registration, download and unzip the installer package › Run DAVE-4.1.2-Setup.exe to install DAVETM IDE and SEGGER J-Link drivers › Open DAVETM › Update DAVETM and DAVETM libraries – Help Check for Updates – Help Check for DAVE APP Updates 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 16 Tooling Overview – DAVETM (3/5) › Install DAVETM APPs libraries and Device Description – Help Install DAVE APP/Example/Device Library › Note: You may skip the above step if you are not using DAVETM APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 17 Tooling Overview – DAVETM (4/5) › Select DAVE Apps Library Manager in the drop-down menu › Select DEVICE_PACK, Library_DAVEDeviceDescriptions (XMC1200 Device) and DAVE APPs 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 18 Tooling Overview – DAVETM (5/5) › Accept terms of the license agreements and click Finish › DAVETM APPs libraries and Device Description are installed Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 19 Getting Started – Example – Blinky based on XMC Lib (1/6) 1. Open DAVETM 3. Select the device accordingly 2. Create a new “Simple Main” project: – File New DAVE Project – Enter project name e.g. “XMC1200_Blinky” – Select “Simple Main Project” as Project Type 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 20 Getting Started – Example – Blinky based on XMC Lib (2/6) › For this project, we will use – System clock frequency of 8MHz – LED on Port pin 0.0 – System timer, SysTick, as the time base for interrupt › Next, we will show you how to 1. Set up the System or Main Clock (MCLK) 2. Configure Port pin 3. Configure SysTick and define its exception service routine 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 21 Getting Started – Example – Blinky based on XMC Lib (3/6) 1. Set up System or Main Clock (MCLK) using XMCLib – Include the header files required for MCLK and GPIO configuration – MCLK configured via IDIV and FDIV bit fields in XMC_SCU_CLOCK_CONFIG data structure – Initializes clock generators and clock tree in Main.c 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 22 Getting Started – Example – Blinky based on XMC Lib (4/6) 2. Configure Port pin – GPIO to toggle the LED is configured via mode and output_level of XMC_GPIOC_CONFIG structure. – Initializes port pin P0.0 as general purpose output pin in Main.c 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 23 Getting Started – Example – Blinky based on XMC Lib (5/6) 3. Configure SysTick and define its exception service routine – SysTick exception handler is defined in startup_XMC1200.s – Initialize the SysTick in Main.c – Define the SysTick exception handler routine in Main.c 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 24 Getting Started – Example – Blinky based on XMC Lib (6/6) › Build project 1. Click 2. Wait for Build to finish › Download code 1. Click 2. Switch to Debug perspective 3. Click to run code › LED blinks every 0.2s Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 25 Getting Started – Example – Blinky based on DAVETM APPs (1/7) 1. Open DAVETM 3. Select the device accordingly 2. Create a new “DAVE CE” project: – File New DAVE Project – Enter project name e.g. “XMC1200_Blinky_withApps” – Select “DAVE CE Project” as Project Type 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 26 Getting Started – Example – Blinky based on DAVETM APPs (2/7) › For this project, we will use – System clock frequency of 8MHz – LED on Port pin 0.0 – System timer as the time base for interrupt – Time base of 0.2s › Next, we will show you how to 1. Set up the System or Main Clock (MCLK) 2. Configure Port pin 3. Configure System Timer and define its exception service routine 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 27 Getting Started – Example – Blinky based on DAVETM APPs (3/7) 1. Set up System or Main Clock (MCLK) – Click to add new APP – Double-click CLOCK_XMC1 APP and close window – Open APP configuration editor – In APP Dependency view, double-click CLOCK_XMC1 – Configure APP instance – In APP configuration window, set Main clock (MCLK) to 8MHz 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 28 Getting Started – Example – Blinky based on DAVETM APPs (4/7) 2. Configure Port pin – Click to add new APP – Double-click DIGITAL_IO APP and close window – Open APP configuration editor – In APP Dependency view, doubleclick DIGITAL_IO – Configure APP instance – In APP configuration window, set Pin direction to Input/Output and set Initial output level to High – Assign pin to P0.0 – Click to open Manual Pin Allocator – Set Pin Number (Port) to #17 (P0.0) – Solve and Save 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 29 Getting Started – Example – Blinky based on DAVETM APPs (5/7) 3. Configure System Timer and define its exception service routine – Click to add new APP – Double-click SYSTIMER APP and close window – Open APP configuration editor – In APP Dependency view, double-click SYSTIMER – Configure APP instance – In APP configuration window, under General Settings tab, set System timer tick interval to 100000us (0.1s) 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 30 Getting Started – Example – Blinky based on DAVETM APPs (6/7) – Create software timer using SYSTIMER Apps. – Define exception handler routine in Main.c – Define the toggle interval (in usec) 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 31 Getting Started – Example – Blinky based on DAVETM APPs (7/7) › Generate code 1. Click › Build project 1. Click 2. Wait for Build to finish › Download code 1. Click 2. Switch to Debug perspective 3. Click to run code › LED blinks every 0.2s Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 32 General Information (1/2) › Where to buy kit: – http://ehitex.com/starter-kits/for-xmc1000 – Order Number: KIT_XMC12_BOOT_001 › Infineon parts utilized on kit: Infineon Parts Order Number XMC1200 Microcontroller XMC1200-T038F0200 XMC4200 Microcontroller XMC4200-Q48F256 3V3 regulator IFX25001MEV33 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 33 General Information (2/2) › Kit documentation: – Boot Kit XMC1200 – Video Series: XMC1000 Boot Kit Getting Started – Introduction – DAVE™ Setup – Boot Mode Index Configuration via DAVE or MemTool – XMC1200 Hardware Setup – Simple Blinky Example – Blinky Example based on DAVE™ Apps – Example Projects Download Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 34 References – Where to find XMC Lib documentation? 1. Go to DAVETM Version 4 website 4. Click on Modules or Files http://www.infineon.com/dave/v4 2. Download XMC Lib and unzip file 3. Open XMC1_Peripheral_Library Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 35 References – Where to find DAVETM APP documentation? 1. In DAVETM, go to Help Help Contents 2. Expand DAVE Apps Click on CLOCK_XMC1 Overview Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 36 References – Where to download DAVETM Example Projects? 1. Example Project library within DAVETM 2. DAVETM website 3. Example from XMC Lib package Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 37 References – How to load Example Project in DAVETM? (1/4) › Example Project library within DAVETM 3. Select Examples in the Libraries window Click Next 1. Help Install DAVE APP/Example/Device Library 4. Accept terms of the license agreements Click Finish 2. Select DAVE Project Library Manager 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 38 References – How to load Example Project in DAVETM? (2/4) › DAVETM website 1. Go to DAVETM Version 4 website 5. Select Archive File Browse to downloaded project zip file http://www.infineon.com/dave/v4 2. Download DAVETM EXAMPLES 3. In DAVETM, go to File Import 4. Select DAVE Project Next 2015-05-22 6. Click Finish Copyright © Infineon Technologies AG 2015. All rights reserved. 39 References – How to load Example Project in DAVETM? (3/4) › Example from XMC Lib package 3. Example code (main.c) can be found within XMC Lib package 1. Go to DAVETM Version 4 website http://www.infineon.com/dave/v4 2. Download XMC Lib and unzip file 2015-05-22 4. Create new “Simple Main Project” in DAVETM Copyright © Infineon Technologies AG 2015. All rights reserved. 40 References – How to load Example Project in DAVETM? (4/4) 5. Select target device of selected main.c example 7. Click to Build project 8. Click to download and run project on target board 6. Delete main.c in the newly created DAVE project 7. Copy main.c from XMC Lib example into DAVE project Home 2015-05-22 Copyright © Infineon Technologies AG 2015. All rights reserved. 41