Sistemi ad agenti Principi di programmazione di sistema



Similar documents
An Embedded Wireless Mini-Server with Database Support

Matrix 510/520 User Guide

IOVU-571N ARM-based Panel PC

SBC6245 Single Board Computer

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

SBC8100 Single Board Computer

STLinux Software development environment

Korenix Embedded Systems

Hacking Linux-Powered Devices. Stefan Arentz

Raspberry Pi Webserver

ipac-5010 User Guide + -

Chapter 1 Hardware and Software Introductions of pcduino

Buildroot for Vortex86EX (2016/04/20)

Network connectivity controllers

The embedded Linux quick start guide lab notes

Hacking. Aims. Naming, Acronyms, etc. Sources

Quick Start Guide. Quick Start Guide. taskit GmbH. for Portux920T EU / SW Portux Mini-PC Portux Panel-PC Panel-Card MoLUX Stamp

Embedded Linux development training 4 days session

SABRE Lite Development Kit

Design and Development of Embedded Multimedia Terminal

Industry First X86-based Single Board Computer JaguarBoard Released

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

OpenWRT - embedded Linux for wireless routers

Embedded Display Module EDM6070

4/2/2014 Linux Dev-Boards. Linux Dev Boards. Tagung Forth Gesellschaft e.v. Maerz file:///home/cas/talk/linux-boards/html/linux-boards.

Overview. Open source toolchains. Buildroot features. Development process

System-on-a-Chip with Security Modules for Network Home Electric Appliances

Qt on Raspberry Pi. Jeff Tranter Integrated Computer Solutions (ICS) Qt Developer Days

USB 3.0 Bandwidth, High Definition Performance

Standardization with ARM on COM Qseven. Zeljko Loncaric, Marketing engineer congatec

Embedded Linux Platform Developer

Sample Project List. Software Reverse Engineering

Version 1.0. File System. Network Settings

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

AVR32737: AVR32 AP7 Linux Getting Started. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

USB 3.0 to HDMI External Multi Monitor Graphics Adapter with 3-Port USB Hub HDMI and USB 3.0 Mini Dock 1920x1200 / 1080p

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

Implementation of Wireless Gateway for Smart Home

Ways to Use USB in Embedded Systems

Chapter 1 Overview. JetBox Industrial Communication Computer

ADM5120 HOME GATEWAY CONTROLLER. Product Notes

Programación de Sistemas Empotrados y Móviles (PSEM)

Java Embedded Applications

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Hacking Satellite TV receivers : Are those IoT devices secure?

Banana Pi Open-Source Router Board

How To Use An Ipad With A Microsoft Powerbook 2 (I2) And A Microtower (I3) For A Long Time (For A Small Family) (For Business) (I5) (Microtower) (Mini

Easy! D3 Intelligent Camera Platform

Video Monitoring and Log System

LB-IPC. High Performance, Ultra Low Noise Low Power Consumption. Features. Applications

Chapter 5 Cubix XP4 Blade Server

Running Native Lustre* Client inside Intel Xeon Phi coprocessor

Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

VoIP Laboratory B How to re flash an IP04

SBC8600B Single Board Computer

Cisco TelePresence SX10 Quick Set

i.mx USB loader A white paper by Tristan Lelong

Linux on Soho-Router

Intro to Intel Galileo - IoT Apps GERARDO CARMONA

Embedded Operating Systems in a Point of Sale Environment. White Paper

Chapter 2. Basic Concepts Linux Workstation. 2.1 Types of Hosts

USB 3.0 to VGA External Multi Monitor Graphics Adapter with 3-Port USB Hub VGA and USB 3.0 Mini Dock 1920x1200 / 1080p

Porting Plan 9 to the PowerPC Architecture. Ian Friedman Ajay Surie Adam Wolbach

Workshop Intel Galileo Board

Virtualization and Other Tricks.

Open Network Linux. A Path to an Open Source Network OS. Rob Sherwood Big Switch Networks CTO

In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM

Arrow ECS sp. z o.o. Oracle Partner Academy training environment with Oracle Virtualization. Oracle Partner HUB

Getting started with ARM-Linux

The shortest path to cellular communications: Cellular Development Platform

Open Network Linux A Network Operating System (NOS) for OCP

Intel Do-It-Yourself Challenge Lab 2: Intel Galileo s Linux side Nicolas Vailliet

AXIS 262+ Network Video Recorder

Product Specifications. Shuttle Barebone D10. Shuttle Mini-PC with 7" Touchscreen. Feature Highlight.

Programming Flash Microcontrollers through the Controller Area Network (CAN) Interface

Using the Raspberry Pi to establish a Virtual Private Network (VPN) Connection to a Home Network

An Embedded Based Web Server Using ARM 9 with SMS Alert System

Open Network Install Environment (ONIE) LinuxCon North America 2015

Crazybit computer Di Brignoli Natale Tel: Fax:

ADVANCED VEHICLE TRACKING SYSTEM USING ARM7

Accessing I2C devices with Digi Embedded Linux 5.2 example on Digi Connect ME 9210

GSM Click - Cross-Platform Development Quick Start Guide

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

Running Debian on Inexpensive Network Attached Storage Device

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

Defeating Firewalls : Sneaking Into Office Computers From Home

Subscriber Networks Explorer 4250C and 4250HDC Digital Interactive Set-Top with Multi-Stream CableCARD Interface

Phone and Fax: (717) or Send to- On the Internet at

Unpacking the Product. Rack Installation. Then, use the screws provided with the equipment rack to mount the firewall in the rack.

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink

Operator Touch Panel PC OTP/57V esom2586 / x86

DSO138 oscilloscope program upgrade method

W2CBW0011u (Marvell 88W8786 based Wi-Fi b/g/n 1 x1 Module, Chip Antenna) Development Kit Quick Start Guide V1.10

Design of Online Embedded Web Server for Data Acquisition System # Author

First Steps. Remote Access Gateway IGW/922. with DIL/NetPC ADNP/9200

Servers, Clients. Displaying max. 60 cameras at the same time Recording max. 80 cameras Server-side VCA Desktop or rackmount form factor

APPLICATION NOTE. How to build pylon applications for ARM

by Kaleem Anwar, Muhammad Amir, Ahmad Saeed and Muhammad Imran

Locus digital DVB-T STB

Transcription:

Sistemi ad agenti Principi di programmazione di sistema Modulo 6

Why would anyone want to hack or write opensource project for embedded system, when you already have a very powerful and relatively cheap PC? lower power much more quiet fast boot sometimes more convenient to run certain applications on these systems and not on a PC

FOX Board LX 100MIPS, 1 Watt, Linux embedded board runs a real Linux operating system in just 66 x 72 mm (2.6 x 2.8 inches). The main field applications are: Stand alone micro web servers Macro component for OEM projects to reduce the design time to build internet ready embedded devices.

ST Microelectronics STB7109 Set-top-box (STB) decoder chip designed for low-cost high-definition (HD) applications. It is based on 300MHz SH4-202 (ST40-202) CPU core with integrated MPEG video decoder, audio decoder, Ethernet, SATA and USB 2.0 host controller. STB7109E-REF (mb448) reference board also includes 2x64MB DDR1 RAM (one DDR bank is used by the decoder and another by the OS), 8MB flash and various video output interfaces, including HDMI.

Realtek 8186 The RTL8186/RTL8186P is a highly integrated System-on-a-Chip with a high-performance 32-bit RISC micro-controller, two Ethernet MACs, and a WLAN controller embedded onto a single chip with a space-saving total package size of 17mm x 17mm. It is a cost-effective solution for wireless LAN access points, wireless SOHO routers, wireless multimedia appliance, etc.

Software Software stack typically consists of standard embedded Linux (such as Das U-Boot) or vendor proprietary bootloader Linux kernel (uclinux in case of MMU-less processors) uclibc library (as glibc memory requirements are not suited for embedded systems) busybox a set of specific drivers and applications (es. mplayer, iptables, ssh, gps drivers).

Software cnt Poky Linux http://www.pokylinux.org/ sdk Realtek scratchbox http://www.scratchbox.org/ buildroot http://buildroot.uclibc.org/

Embedded web servers In the case of routers, access point and so on, the user interact with the embedded system by a web server. Popular embedded web server are Boa http://www.boa.org/ Goahead http://www.goahead.com/products/webserver/default.aspx microhttpd http://www.acme.com/software/micro httpd/ Embedded web server features are: Small memory footprint Strong support for dynamic generation of Web pages Easy device integration Support for devices without a file system Portable to new platforms and CPU architectures

Getting the shell prompt The way is by serial port RS232 so you can: to see all kinds of error messages, including kernel panic to interact with the bootloader, which in some cases may be the only way to program a new firmware image to flash. Most embedded systems have UART controllers used for debug and development. UART pins are connected to a RS-232 interface through a voltage level converter chip, which will translate logic UART levels to the external RS-232 levels: MAXIM (http://www.maxim-ic.com) MAX232.

Getting the shell prompt: Minicom On Windows: start> programmi > comunicazioni > > accessori >HyperTerminal

Trivial File Transfer Protocol

Escape sequences to change cursor position \033[<L>;<C>H to line L and column C \033[<N>A down N lines \033[<N>B up N lines \033[<N>C forward N columns \033[<N>D backward N columns \033[s save position \033[u resume position Example: echo -en "\033[9A"

Shell command to analyze source code and crosscompiler look at 081007-devel.pdf http://www.gnudd.com/pub/srt-2008/

Example: crosscompiling dropbear wget http://matt.ucc.asn.au/dropbear/ /releases/dropbear-0.51.tar.bz2 tar xjf dropbear-0.51.tar.bz2 export USING_CROSS_COMPILER=y export CROSS_COMPILER_PREFIX="mips-uclibc-" export CC=mips-linux-uclibc-gcc-3.3.3 export STRIP=mips-linux-uclibc-strip #use the following if you want statically compile #export CFLAGS="-Os -static -Wall" #export LDFLAGS="-static"

Example: crosscompiling dropbear CNT./configure CC=mips-linux-uclibc-gcc-3.3.3 --host=mips-linux-uclibc --build=i686-linux CFLAGS=-O2 --disable-zlib --disable-lastlog --disable-largefile make programs="dropbear dbclient dropbearkey dropbearconvert scp" strip MULTI=1; We have an unique binary a la busybox: -rwxr-xr-x 1 root root 265K Dec 4 23:06 dropbearmulti Project page: http://matt.ucc.asn.au/dropbear/dropbear.html

Example: adding dropbear in the file system cd $RAMFSDIR/dev/ ln -s urandom $RAMFSDIR/dev/random mkdir -p $RAMFSDIR/etc/dropbear cd../../ cp./dropbear-0.51/dropbearmulti $RAMFSDIR/sbin/dropbearmulti touch $RAMFSDIR/var/log/lastlog touch $RAMFSDIR/var/log/wtmp cd $RAMFSDIR/sbin ln -s dropbearmulti $RAMFSDIR/sbin/dropbear ln -s dropbearmulti $RAMFSDIR/sbin/scp ln -s dropbearmulti $RAMFSDIR/sbin/dropbearkey ln -s dropbearmulti $RAMFSDIR/sbin/dropbearconvert ln -s dropbearmulti $RAMFSDIR/sbin/dbclient ln -s dropbearmulti $RAMFSDIR/sbin/ssh

Example: adding dropbear in the file system CNT mips-linux-ldd dropbearmulti libutil.so.0 => mips-linux-uclibc/lib/libutil.so.0 (0x00000000) libcrypt.so.0 =>mips-linux-uclibc/lib/libcrypt.so.0 (0x00000000) libc.so.0 => mips-linux-uclibc/lib/libc.so.0 (0x00000000) /lib/ld-uclibc.so.0 => /lib/ld-uclibc.so.0 (0x00000000) In the target file system: cp $UCLIBCDIR/libcrypt-0.9.26.so $RAMFSDIR/lib/libcrypt.so.0 cp $UCLIBCDIR/libutil-0.9.26.so $RAMFSDIR/lib/libutil.so.0

Example: starting ssh /sbin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key /sbin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key OPTIONS="> /dev/null 2>&1" echo "Stopping dropbear..." pid= pidof dropbear if [ "$pid"!= "" ]; then kill $pid fi echo "Starting dropbear..." /sbin/dropbear $OPTIONS

Example: testing ssh On the WRT54G: cat proc/net/tcp DEMO