Programming Embedded Systems Hands on Experience with AVR32 By: Stefan Persson stefan.persson@miun.se amir.yousaf@miun.se Mazhar Hussain Muhammad Amir Yousaf mazhar.hussain @miun.se amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 1 Tutorial Overview Introduction to Development Board µ-Controller Sensors Display Peripherals AVR Studio Getting Started Workspace creation Project creation Project building Target creation and Loading Program Course Objective Live Demonstration amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 2 Introduction to Development Board µ-Controller Sensors Display Peripherals EVK1100 Evaluation kit and development system for the AVR32UC3A family EVK1100 is a fully functional embedded computer system. Circuit board has a flexible power system that accepts 8-20V DC input and can be operable via USB port. The EVK1100 embeds an Atmel Data flash (8MBytes) and a SDRAM (32MBytes). Several communication interfaces are available on the EVK1100: RS232, USB and ETHERNET. amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 3 µ-Controller Sensors Display Peripherals A JTAG connector is provided to interface JTAGICE mkII (Programmer and debugger) . EVK1100 provides three clock inputs for controller Main clock Oscillatior i.e 12MHz A spare clock Oscillator i.e 12MHz RTC clock at 32.768 KHz Block Diagram EVK1100 amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 4 µ-Controller Sensors Display Peripherals Published BY ATMEL amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 5 Lowest power Consumption (2xAA battery=19years) µ-Controller Sensors Display Peripherals Support High data throughput. High Speed Communication Interfaces – – – – – – – USB up to 480 Mbit/s Ethernet up to 100 Mbit/s SPI up to 33 Mbit/s SSC up to 33 Mbit/s (I2S) USART up to 33 Mbit/s UART up to 4 Mbit/s I/O pin toggle up to 33 MHz amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 6 µ-Controller Sensors Display Peripherals • Support Provided : – – – – Optimized drivers for all peripherals to speed up development. Floating point and DSP arithmetic USB and TCP/IP stacks Optimized audio, picture and video codec's, display drivers, TCP/IP services, web server, FAT12/16/32 file system, plus a complete freeRTOS Real Time OS amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 7 µ-Controller Sensors Display Peripherals Published BY ATMEL amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 8 µ-Controller Sensors Display Peripherals amir.yousaf@miun.se mazhar.hussain@miun.se Sensor Name GPIO Names Alt. Function Used Light PA 23 ADC2 Temperature PA21 ADC0 Potentiometer PA22 ADC1 2015-04-13 9 4x20 LCD to Design Human to Machine Interface for Soft. Development amir.yousaf@miun.se mazhar.hussain@miun.se µ-Controller Sensors Display Peripherals LCD Pin GPIO Name Alt. Function 5 PA16 SPI1_MOSI 7 PA17 SPI1_MISO 6 PA15 SPI1_CLK 4 PA19 SPI1_CS2 18 PA18 PWM_6 2015-04-13 10 On Board Peripherals: USB (2.0 mini A-B receptacle) Ethernet (External Ethernet Phy 10/100 and RJ45 connector) Atmel DataFlash (8 MBytes) SDRAM (32 MBytes) USARTs (Dual) LEDs on board (Six) Push Buttons (Three excluding Reset Push button) Joystick SD/MMC slot SPI (Two SPI interface one is dedicated for LCD one free) TWI (Two wire Interface) amir.yousaf@miun.se mazhar.hussain@miun.se µ-Controller Sensors Display Peripherals 2015-04-13 11 Expansion Connectors: >>SSC, PWM output 0 to 6,Timer A and timer B,TWI,ADC inputs line 0 to 7, SPI 0 to 1,USART 0 to 3,MAC,GPIO amir.yousaf@miun.se mazhar.hussain@miun.se µ-Controller Sensors Display Peripherals 2015-04-13 12 Tutorial Overview Introduction to Development Board µ-Controller Sensors Display Peripherals AVR Studio Getting Started Workspace creation Project creation Project building Target Creation and Loading Program Course Objectives Live Demonstration amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 13 AVR Studio Getting Started Start -> Program -> Atmel AVR Tools -> AVR32 Studio amir.yousaf@miun.se mazhar.hussain@miun.se Workspace creation Project creation Project building Target Creation & Loading program 2015-04-13 14 amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 15 Running an Example Project – Workspace creation Project creation Project building Target Creation & Loading program Click File >> New >> Project >>AVR32 Example Project amir.yousaf@miun.se mazhar.hussain@miun.se • Running your own Project • Click File >> New >> Project >>AVR32 C Project From Template 2015-04-13 16 Building a Project Select the project from the project plan (on left side of the window) and right click Click ‘Build Project’ Workspace creation Project creation Project building Target Creation & Loading program Build complete for project ’myproject’ ’Debug’ directory will be added in the workspace myproject.elf will be created in the Debug directory and is ready to be loaded in the controller amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 17 For Programming EVK1100 there are three listed methods available, (Note: we can use two among them) – – – In system Programming (ISP) Programming Via JTAG port Self Programming via One chip BOOT program Workspace creation Project creation Project building Target Creation & Loading program Tool for using programming is JTAG or USB cable (for ISP) – JTAG ICE mkII amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 18 For Programming EVK1100 we need to add a Target – Scan the target as shown in Picture amir.yousaf@miun.se mazhar.hussain@miun.se Workspace creation Project creation Project building Target Creation & Loading program 2015-04-13 19 Configure the target device i.e JTAGICE mkII for downloading your program amir.yousaf@miun.se mazhar.hussain@miun.se Workspace creation Project creation Project building Target Creation & Loading program 2015-04-13 20 Loading Code in the Micro-controller Loading through USB DFU Loading through JTAG Workspace creation Project creation Project building Target Creation & Loading program On EVK1100 Press the joystick downwards and hold it. Now press the re-start button to put the device in programming mode On AVR Studio Right-click on target for USB-programming and click program. Browse the target file and press ‘ok’ in newly appeared window to start loading the program amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 21 Workspace creation Project creation Project building Target Creation & Loading program Loading Code in the Micro-controller Loading through JTAG Right click on JTAGICE mkII and click on ‘Program’. Browse the target .elf file and press ok to start loading amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 22 Tutorial Overview Introduction to Development Board µ-Controller Sensors Display Peripherals AVR Studio Getting Started Workspace creation Project creation Project building Target creation and Loading Programs Course Objective Live Demonstration amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 23 Application Our WSN Platform (Sentio) o Number of different platforms targeting different application areas SENTIO SENTIO32: a stackable platform developed in 2004 (IEEE802.15.4 compatible(Zigbee), having three layers i.e communication layer, processing layer (Atmel Mega 128L 8-bit uC), and analog/digital interfaces to sensor layer. Sufficient for short communication. A latest platform thatrange is very compact SENTIO-HP high-precision instrument that can be used for with (IEEE802.15.4 compatiblewireless (Zigbee)) characterizing processes and processor (AVR32) on the same board. SENTIO-BT for urban sensing applications. SENTIO-e2 for environmental monitoring, communicating at 433MHz at ranges up to 1 km. Global communication via GSM/GPRS or to a PC via USB It is a Development Board, can be used for variety of wireless sensor applications amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 24 Tutorial Overview Introduction to Development Board µ-Controller Sensors Display Peripherals AVR Studio Getting Started Workspace creation Project creation Target creation Project building and Downloading Course Objective Live Demonstration amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 25 Demonstration amir.yousaf@miun.se mazhar.hussain@miun.se 2015-04-13 26