Embedded Linux By Gus Wirth. What makes it embedded? ● Rather nebulous, line has blurred over the years ● Limited purpose ● Small resources compared to.

Slides:



Advertisements
Similar presentations
StreamBlade SOE TM Initial StreamBlade TM Stream Offload Engine (SOE) Single Board Computer SOE-4-PCI Rev 1.2.
Advertisements

PIKA Technologies Inc. PADS for the PIKA WARP Appliance March 2009.
Linux on commodity network H/W Josh Parsons LUGOD talk August 15 th 2005.
ARM development environment Modified Content Philips LPC2106 ARM chip ARM target board PSPad customised development environment Troubleshooting.
Hands-on with the Sitara Linux SDK This presentation provides a hands-on overview of the Sitara Linux SDK. It focuses on the software and tools found in.
Handheld TFTP Server with USB Andrew Pangborn Michael Nusinov RIT Computer Engineering – CE Design 03/20/2008.
Embedded Linux CS-423 Dick Steflik. Desktop vs. Embedded GUI Lots of User Apps Full complement of device drivers Lots of memory Hard drive, CD,DVD, USB,
29 April 2005 Part B Final Presentation Peripheral Devices For ML310 Board Project name : Spring Semester 2005 Final Presentation Presenting : Erez Cohen.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Embedded Real time System Design Introduction to the course.
Embedded Systems Programming Introduction to the course.
What is OpenWrt  Free and open source  Easy and free access  Comminity driven ---- linux-kernel based OS for your home router from openwrt.org.
FreeBSD/arm on the Atmel AT91RM9200 Warner Losh Timing Solutions, Inc BSDcan 2006 May 12, 2006 Experiences.
Part 1 Using the ARM board And start working with C Tutorial 5 and 6
Introduction to The Linaro Toolchain Embedded Processors Training Multicore Software Applications Literature Number: SPRPXXX 1.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
MoteWorks Installation
Silicon Labs ToolStick Development Platform
U-Boot Debug using CCSv5 In this session we will cover fundamentals necessary to use CCSv5 and a JTAG to debug a TI SDK-based U-Boot on an EVM platform.
Beagleboard and Friends Nathan Gough. Hardware – OMAP3  Based around Texas Instruments OMAP3530 “Applications Processor”  OMAP3 Platform:  Arm Cortex-A8.
1 uClinux course. 2 Author: D L Johnson Overview u Day 1 +Survey of embedded operating systems - why uclinux? +The uclinux environment - the directory.
University of Bergen public domain software: SEISLOG Linux, data-acquisition system for standard PC and embedded lowcost, low-power solutions Terje Utheim.
Getting Started Installing GreenHills and Net+OS Setting up the Development Board Building the Sample Application.
Embedded Linux porting Kernel
Embedded Linux Systems Presented By: Kitrek Riese.
BBBK Programming Notes Rudra Dutta CSC , Fall, 2013.
Beagle Board Fast Boot Hui Chen Keji Ren Dec 10 th, 2009 EE382N-4 Project.
10/12/ Embedded XINU and WRT54GL. 10/12/ Topics Logic and shift operators Data-driven vs function-driven Embedded XINU and WRT54GL.
Porting Operating Systems Phan Duy Hùng (PhD) ES Lecturer – Hanoi FPT University.
Porting Linux Linux onto the Puppeteer SA1110. The Puppeteer board –SA1110 CPU –SMSC LAN91C96I ethernet –8 Mb Flash Intel 28F320C3 Boot block flash –32.
Michael Still Google Inc. October, Linux on the Linksys NSLU2 Solving all your problems with little NAS boxes Michael Still Google, Inc. October,
Brian Hixenbaugh Network Managment. My Home Network.
1 Copyright © 2015 Pexus LLC Patriot PS Personal Server Installing Patriot PS ISO Image on.
Michael Still Google Inc. October, Linux on the Linksys NSLU2 Solving all your problems with little NAS boxes Michael Still Google, Inc. October,
ChibiOS/RT Demo A free embedded RTOS
Implementation of Embedded OS Lab3 Porting μC/OS-II.
ARM 7 & ARM 9 MICROCONTROLLERS AT91 1 AT91RM9200 Software delivery.
Implementation of Embedded OS
Lab 5 Department of Computer Science and Information Engineering National Taiwan University Lab5 - OS Kernel 2014/10/21/ 16 1.
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
CEng3361/18 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2007 Recitation 01.
RTLAB Kang. Moo jin Using Open Source Tools for AT91SAM7X Cross Development.
WP1- Documentation Booting Petalinux from TFTP and using Network file system Section for developers Zynq 7020 R. Assiro.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Free Electrons Introduction.
IMAGE COMPRESSION AND DECOMPRESSION USING ARM9 SYSTEM Under the guidance of Mrs. B. SATYA SRI DEVI,M.Tech, Assistant Professor By V. KUSUMA KUMARI Roll.
Plug Computers What they are, and what they can do!
Coreboot: the open source BIOS. Lennart Benschop Presentation at T-DOSE 2011 Sunday :00.
Oops or How to Recover from Problems with your WRT54G(L)
Lets Learn fundamentals !!
By Ganesan Alagu Ganesh Feb 26, 2008
Introduction to the ARM mbed Platform– A Hands-on Course
Implementation of Embedded OS
Lab 1: Using NIOS II processor for code execution on FPGA
Computer System Laboratory
USB The topics covered, in order, are USB background
Microcontrollers & GPIO
By Ganesan Alagu Ganesh Feb 21, 2008
HTTP Server Protocol Module :
A microcontroller Raspberry Pi 2 Model B V1.1 RPi
Linux Operating System Architecture
PC Troubleshooting & Recovery
Raspberry Pi Pi 2 Model B.
Invent the future of small intelligent devices here.
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Invent the future of small intelligent devices here.
Lecture9: Embedded Network Operating System: cisco IOS
Embedded XINU and WRT54GL
Command and Data Handling
Lecture9: Embedded Network Operating System: cisco IOS
Presentation transcript:

Embedded Linux By Gus Wirth

What makes it embedded? ● Rather nebulous, line has blurred over the years ● Limited purpose ● Small resources compared to regular system, e.g. no hard drive, MB vs GB of RAM ● Limited user interface, for example no monitor or keyboard

Things an embedded system may have not seen in a regular PC ● General Purpose Input/Output (GPIO) ● Inter-Integrated Circuit (I2C) bus ● Serial Peripheral Interface bus ● Controller Area Network bus ● Watchdog timers ● Analog/Digital and Digital/Analog (A/D and D/A) converters

Where do you find embedded Linux? ● Routers ● TV set top boxes ● Media players ● Industrial Control ● Home Automation ● Cell Phones

Embedded Platforms ● MIPS ● ARM ● x86

Making Linux embedded ● Remove everything that you don't absolutely need ● Kernel – minimalist, compress with LZMA (Lempel-Ziv-Markov chain algorithm) ● uLibc or dietLibc ● Use small, alternative commands/utilities ● Busybox – Most command commands/utilities ● dnsmasq -DNS and DHCP ● dropbear - SSH

● Filesystems ● SquashFS – compressed filesystem ● JFFS2 – Journaled Flash File System uses mtd (memory technology device) driver designed for direct use with flash memory (EEPROM) Making Linux embedded (cont)

Embedded Linux distributions ● Debian ● Angstrom Linux distribution.orghttp:// distribution.org ● OpenWrt

Building a new firmware ● Get the tools a.k.a tool-chain ● Cross-compilers ● Assemblers ● Compression utilities ● File utils ● Misc utils ● Design your image ● Get source code ● Configure and compile code for target

Building a new firmware ● Assemble compiled code into firmware image ● Install firmware into target

Building a new firmware ● De-brick and try again

Building firmware with OpenWrt ● Check out OpenWrt source code ● Run “make menuconfig” ● Select platform and options ● Run “make” ● Install firmware into target ● Reboot embedded system

What makes OpenWRT so good for embedded systems? ● Someone else has done all the work ● OpenWrt does everything for you -downloads and compiles full tool chain plus firmware sources, builds and assembles images ready for installation ● Large number of supported platforms ● Paid developers ● Active community ● Good bug tracking

What makes OpenWRT so good for embedded systems? (cont) ● Package system (opkg) – only install what you want, allows installation of new/updated packages without re-imaging entire system ● Large number of packages

Demo Examples ● Ubiquiti Bullet2 ● SoC Atheros AR2317 ● MIPS 4KC core, 180 MHz ● 4MB Flash, 16MB RAM ● Ethernet ● Serial port, 3.3V ● Built-in WiFi Atheros, uses madwifi driver

Demo Examples ● Ubiquiti RouterStation ● SoC Atheros AR7161 ● MIPS 24K core, 680MHz ● 16MB Flash, 64MB RAM ● miniPCI bus ● USB 2.0 ● GPIO ● Ethernet switch ● Serial port, 3.3V

Demo Examples ● Wiliboard WBD-111 ● SoC Cortina Systems (StorLink) Gemini SL3512 ● ARM920 core, 400MHz ● 8MB Flash, 32MB RAM ● miniPCI bus ● USB 2.0 (but no power) ● GPIO ● Ethernet ● Serial port, 3.3V

Demo: Build and install firmware ● RouterStation ● “make menuconfig” ● Select target ● Select options ● “make” ● Install with tftp ● Install package with opkg ● Monitor with serial port ● Show LED's blinken

When installs fail: De-bricking ● Procedures vary by board ● Most reasonable boards separate firmware from loader – CFE – uBoot – RedBoot ● Reset button ● boot-wait ● Serial port

JTAG – Joint Test Automation Group ● Serial data in/out at pin boundaries ● Can be used as a last resort to recover a device ● Simple parallel port cable ● May need to solder board header ● Software for common routers is Windows based