Embedded Software Development: Spottbillige Hardware + OSS = Zum Spielen zu Schade!



Similar documents
NFC Near Field Communication

2.0 Command and Data Handling Subsystem

User s Manual of Board Microcontroller ET-MEGA2560-ADK ET-MEGA2560-ADK

Arduino ADK Back. For information on using the board with the Android OS, see Google's ADK documentation.

Chapter 13. PIC Family Microcontroller

Android, Bluetooth and MIAC

Arduino Due Back. Warning: Unlike other Arduino boards, the Arduino Due board runs at 3.3V. The maximum. Overview

Computer Automation Techniques. Arthur Carroll

Cypress Semiconductor: Arduino Friendly PSoC Shield

Board also Supports MicroBridge

Android Controlled Based Interface

Microcontrollers and Sensors. Scott Gilliland - zeroping@gmail

Lab Experiment 1: The LPC 2148 Education Board

Prototyping Connected-Devices for the Internet of Things. Angus Wong

Soft processors for microcontroller programming education

Yun Shield User Manual VERSION: 1.0. Yun Shield User Manual 1 / 22.

Complete Integrated Development Platform Copyright Atmel Corporation

Tutorial for MPLAB Starter Kit for PIC18F

Java Embedded Applications

IRON-HID: Create your own bad USB. Seunghun Han

MediaTek LinkIt Smart 7688 FAQ

USB OTG and Embedded Host Microchip Technology Incorporated. All Rights Reserved. Slide 1

WIZ-Embedded WebServer User s Manual (Ver. 1.0)

Example Connection between USB Host and Android

ET-BASE AVR ATmega64/128

7a. System-on-chip design and prototyping platforms

A 5 Degree Feedback Control Robotic Arm (Haptic Arm)

PN532 NFC RFID Module User Guide

UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

PART I: WELCOME TO THE WONDERFUL WORLD OF ACCESSORIES CHAPTER 1: INTRODUCTION TO ANDROID OPEN ACCESSORY 3

ENGI E1112 Departmental Project Report: Computer Science/Computer Engineering

The Future of IoT. Zach Shelby VP Marketing, IoT Feb 3 rd, 2015

INTRODUCTION TO SERIAL ARM

Selection Criteria for ZigBee Development Kits

Android Application Development and Bluetooth Technology

USB 3.0 Connectivity using the Cypress EZ-USB FX3 Controller

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

FLYPORT Wi-Fi G

Ingar Fredriksen AVR Applications Manager. Tromsø August 12, 2005

Our innovation, Your Applications. Your Own Custom Embedded Board in 5 weeks!

Fondamenti su strumenti di sviluppo per microcontrollori PIC

Embedded Development Tools

TURBO PROGRAMMER USB, MMC, SIM DEVELOPMENT KIT

Embedded Systems on ARM Cortex-M3 (4weeks/45hrs)

Atmel Norway XMEGA Introduction

Smart Home System Using Android Application

Secure My-d TM and Mifare TM RFID reader system by using a security access module Erich Englbrecht (info@eonline.de) V0.1draft

DESIGN AND IMPLEMENTATION OF ONLINE PATIENT MONITORING SYSTEM

PROJECT PRESENTATION ON CELLPHONE OPERATED ROBOTIC ASSISTANT

C Programming. for Embedded Microcontrollers. Warwick A. Smith. Postbus 11. Elektor International Media BV. 6114ZG Susteren The Netherlands

LEGO NXT-based Robotic Arm

DKWF121 WF121-A B/G/N MODULE EVALUATION BOARD

Developing an Application on Core8051s IP-Based Embedded Processor System Using Firmware Catalog Drivers. User s Guide

STLinux Software development environment

DSO138 oscilloscope program upgrade method

Chapter 1 Hardware and Software Introductions of pcduino

UG103.8: Application Development Fundamentals: Tools

How To Use An Atmel Atmel Avr32848 Demo For Android (32Bit) With A Microcontroller (32B) And An Android Accessory (32D) On A Microcontroller (32Gb) On An Android Phone Or

Embedded Component Based Programming with DAVE 3

Workshop Intel Galileo Board

AC-PG-USBASP USBASP AVR Programmer

Controlling a Dot Matrix LED Display with a Microcontroller

Microcontrollers in Practice

High Performance or Cycle Accuracy?

Embedded Display Module EDM6070

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

STM32 F-2 series High-performance Cortex-M3 MCUs

KTA-223 Arduino Compatible Relay Controller

Embedded Software development Process and Tools:

Atmel Power Line Communications. Solutions for the Smart Grid

An introduction to nxpusblib. March 2012

Palaparthi.Jagadeesh Chand. Associate Professor in ECE Department, Nimra Institute of Science & Technology, Vijayawada, A.P.

ARM Cortex -A8 SBC with MIPI CSI Camera and Spartan -6 FPGA SBC1654

Adding WiFi to Your Embedded System. WPG Americas & Gainspan Titus Wandinger (WPG) & Su Li (Gainspan) April 23, 2013

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

SMARTCARD XPRO. Preface. SMART ARM-based Microcontrollers USER GUIDE

ZigBee Technology Overview

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

WinCon Programmable Automation. Controller

Ways to Use USB in Embedded Systems

ontroller LSI with Built-in High- Performance Graphic Functions for Automotive Applications

SmartFusion csoc: Basic Bootloader and Field Upgrade envm Through IAP Interface

STM32L. Ultra-low-power Cortex -M3 devices

IT-AMS. Course Overview. Applied Microcontroller Systems (5 ECTS, Q3, E/IKT/EP) Version: , Henning Hargaard

Chapter 2 Features of Embedded System

Chapter 5 Busses, Ports and Connecting Peripherals


Arduino project. Arduino board. Serial transmission

Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes:

Surveillance System Using Wireless Sensor Networks

Andreas Läng. Hilscher Gesellschaft für Systemautomation mbh Intelligent solutions for industrial communication.

SBC6245 Single Board Computer

SBC8600B Single Board Computer

MX PIC24F Educational Module User Manual

Data Transfer between Two USB Devices without using PC

IRT84. Irt84. Datasheet. EMV L1 compliant terminal with ISO14443A/B. 1

Transcription:

Embedded Software Development: Spottbillige Hardware + OSS = Zum Spielen zu Schade! Gregor Hohpe www.eaipatterns.com OOP 2012 1

Microcontrollers CPU core, memory, and I/O (analog, digital) on one chip Counters, timers, interrupts, PWM, watchdog monitor, 4+Billion 8-bit microcontrollers sold in 2006 (Semico) This is nothing new! We had We had this in the 80ies! OOP 2012 2

Yes, we did! Intel 8048 (1977) 8-bit timers, 27 I/O ports, RAM (64 Bytes), EPROM IBM Keyboard Intel P8051 (1980) 16-bit Timers, UART, I/O, RAM, register banks NEC upd7810 (198x) Timers, UART, 44 I/O, A/D, RAM Games, printers What Is Different Now, Then? FLASH, EEPROM iterative development Memory capacity programming model Price $1 gets you started Open Source sharing and reuse USB integrate with PC and Phone Mobile phones computing power on the go Make Magazine mainstream audience Community particularly non-engineers OOP 2012 3

http://www.instructables.com/id/led-throwies/ Hardware is Art and Freedom of Expression http://www.adafruit.com Wearables OOP 2012 4

Do This at Home! 32KB Flash, 2 KB RAM, 1KB EEPROM Up to 20 MIPS Counters, A/D converters, Parallel & Serial I/O, PWM, BOD Libraries, GCC targets Programming and debug tools $2 $0 Turning hardware problems into software problems Priceless Chose Your Weapon - Arduino $25 Plug and Play USB Bootloader Open source Hardware: Creative Commons Attribution IDE GPL, firmware LGPL IDE w/ C-like language Vast collection of shields, e.g. USB, Ethernett Countless clones and variations: Uno, Mega, NetDuino, OOP 2012 5

Chose Your Weapon Bare Bones $1 Atmel AVR ATMEGA, ATTINY Cheap: $1-$3. Up to 20 MIPS. Open source tool chain: AVR-gcc, WINAVR Requires programmer. Can be built w/ AVR: e.g., HIDSPX Atmel AVR Studio live debugging g Variation Almost Bare Bones $15 Teensy: AVR w/ Built-in USB Cheap: $3 for chip, $15 for board USB boot loader, no programmer needed d AVR-gcc or Teensyduino sketch Board not open hardware OOP 2012 6

Chose Your Weapon ARM Power $59 mbed mbed.org, supported by ARM NXP Cortex-M0 running @ 96MHz, 512KB FLASH, 32KB RAM Cloud-based compiler, C/C++ Proprietary boot loader Chose Your Weapon UNIX $89 Beagle Bone Texas Instruments, based on ARM ARM Cortex A8, 720MHz, 256MB RAM, Ethernet Enough power for image processing Angstrom Distribution w/ OpenEmbedded CC share-alike node.js OOP 2012 7

Embedded Development Cycle Firmware Development Debugging / Testing Circuit Design Prototyping PCB Design Manufacturing Firmware Development OOP 2012 8

Firmware Development Limited stack space in place manipulation Event loops Short interrupts timing constraints Beware of printf and floating point (on 8 bit) Massive manuals for I/O registers (550 pages for ATMEGA328) Power considerations No busy loops Peripheral usage Libraries LCD Drivers (common controller chips) Encryption, e.g AES-128 SD Card reader, FAT support I 2 C / TWI OOP 2012 9

Debugging & Testing Techniques LED On / Off LCD (Many Drivers) Serial to USB+ http://www.aitendo.co.jp/product/2890 JTAG Live Debugging (e.g., AVR Studio / Dragon) Hardware breakpoints View and modify registers, i.e. I/O ports Embedded TDD Mock out hardware dependencies Compile and run on host Compile and run on host system OOP 2012 10

On Chip Unit Testing Allows hardware interaction, incl. EEPROM Simple asserts, drive LCD Need to flash device for each run Serial Debugging Serial2USB: SILCON LABS CP2102 FTDI FT232BL OOP 2012 11

Circuit Design EAGLE CAD Light Edition: dual layer, 100x80mm. Free for hobby (non-profit), $69 for professional use. Many component libraries, e.g. sparkfun.lbr Widely used by community Prototyping - No Solder Solution OOP 2012 12

PCB Design - EAGLE Custom component layouts in libraries Auto router sometimes helpful, but mostly by hand Positioning mechanical parts / connectors Special parts: light pipes, threaded studs, etc Manufacturing - Printed Circuit Boards Sparkfun BatchPCB $20 + $2.50 / sq. in. 4pcb.com $33/each (1+) P-ban (Japan) 50 boards $270 Leiton (Germany) PCB Pool (Germany) 1. Design schematic with EAGLE 2. Create board layout from schematic 3. Export as Gerber files 4. Upload to manufacturer http://www.ladyada.net/library/pcb/costcalc.html OOP 2012 13

Embedded + Mobile: Android ADK Based on Arduino Mega 2560 + USB Host Shield (Circuits@Home) Connects to Android mobile device as USB Host Many clones, Creative Commons Attribution Android SDK Android Device 2.3.4+ Arduino IDE App I/O USB Host USB Host Firmware Peripherals LED, Switch, PWM, Servo, Sensor, Arduino ADK (Arduino Mega 2560 + USB Host) Android Open Accessory Development Kit OOP 2012 14

IOIO ( Yo-yo ) Android 1.5 and up USB or Bluetooth to Android Microchip PIC Controller Hardware Creative Commons Attribution Share-Alike 3.0 Firmware permissive with Attribution Glowing Orb OOP 2012 15

NFC Smart Tag AVR ATMEGA 328 Connects to Sony NFC module via serial (USART) Li-Poly charger w/ power source switch Firmware USB emulation (V-USB) NFC Handheld OOP 2012 16

Electronic Money Balance Reader http://www.ask-embedded-world.de OOP 2012 17