Title: Programming Embedded Systems
1 Programming Embedded Systems
- Hands on Experience with AVR32
By
Stefan Persson Mazhar Hussain Muhammad
Amir Yousaf
stefan.persson_at_miun.se
mazhar.hussain _at_miun.se
amir.yousaf_at_miun.se
2Tutorial 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
3Introduction 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.
4µ-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
5µ-Controller Sensors Display Peripherals
Published BY ATMEL
6µ-Controller Sensors Display Peripherals
- Lowest power Consumption (2xAA battery19years)
- 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
7µ-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
8µ-Controller Sensors Display Peripherals
Published BY ATMEL
9µ-Controller Sensors Display Peripherals
Sensor Name GPIO Names Alt. Function Used
Light PA 23 ADC2
Temperature PA21 ADC0
Potentiometer PA22 ADC1
10µ-Controller Sensors Display Peripherals
- 4x20 LCD to Design Human to Machine Interface
for Soft. Development
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
11On Board Peripherals
µ-Controller Sensors Display 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)
12Expansion Connectors
µ-Controller Sensors Display Peripherals
gtgtSSC, 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
13Tutorial 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
14AVR Studio Getting Started
Workspace creation Project creation Project
building Target Creation Loading program
- Start -gt Program -gt Atmel AVR Tools -gt AVR32
Studio
15(No Transcript)
16- Running an Example Project
- Click File gtgt New gtgt Project gtgtAVR32 Example
Project
Workspace creation Project creation Project
building Target Creation Loading program
- Running your own Project
- Click File gtgt New gtgt Project gtgtAVR32 C Project
From Template
17- 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
18- 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
- Tool for using programming is JTAG or USB cable
(for ISP) - JTAG ICE mkII
Workspace creation Project creation Project
building Target Creation Loading program
19- For Programming EVK1100 we need to add a Target
- Scan the target as shown in Picture
Workspace creation Project creation Project
building Target Creation Loading program
20 Workspace creation Project creation Project
building Target Creation Loading program
- Configure the target device i.e JTAGICE mkII for
downloading your program
21- 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
22- Loading Code in the Micro-controller
- Loading through JTAG
Workspace creation Project creation Project
building Target Creation Loading program
- Right click on JTAGICE mkII and click on
Program. - Browse the target .elf file and press ok to start
loading
23Tutorial 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
24Application
- Our WSN Platform (Sentio)
- Number of different platforms targeting different
application areas - SENTIO 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
range communication. - SENTIO-HP high-precision wireless instrument that
can be used for characterizing processes - 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 -
- SENTIO32
- A latest platform that is very compact with
(IEEE802.15.4 compatible (Zigbee)) and processor
(AVR32) on the same board. - It is a Development Board, can be used for
variety of wireless sensor applications
25Tutorial 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
26Demonstration