Implementación De MAS En Sistemas Embebidos
Total Page:16
File Type:pdf, Size:1020Kb
ImplementaciImplementacióónn dede MASMAS enen SistemasSistemas EmbebidosEmbebidos Francisco Sivianes Castillo ÍÍndicendice Definiendo algunos términos Nuestro escenario de trabajo Niveles de sistemas de procesamiento Pruebas Conclusiones 02/07/2009 MAS en Sistemas Embebidos 2 DefiniendoDefiniendo algunosalgunos ttéérminosrminos Microprocesador – (RAE) 1. m. Fís. Circuito constituido por millares de transistores integrados en un chip, que realiza alguna determinada función de los computadores electrónicos digitales. – (María Moliner) m. Inform. Circuito Integrado que constituye la unidad central de procesamiento de un microordenador. • Microordenador m. Inform. Ordenador de pequeño tamaño que contiene un microprocesador. Microcontrolador – (RAE) No existe entrada para este término. – (María Moliner) No existe entrada para este término. 02/07/2009 MAS en Sistemas Embebidos 3 DefiniendoDefiniendo algunosalgunos ttéérminosrminos Microprocesador – El microprocesador está unido al concepto lógico de CPU. Una CPU puede estar soportada por uno o varios microprocesadores, y un microprocesador puede soportar una o varias CPU. Un núcleo suele referirse a una porción del procesador que realiza todas las actividades de una CPU real. – El microprocesador está compuesto básicamente por: varios registros; una Unidad de control, una Unidad aritmético-lógica; y dependiendo del procesador, puede contener una unidad en coma flotante. Microcontrolador – Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S. 02/07/2009 MAS en Sistemas Embebidos 4 DefiniendoDefiniendo algunosalgunos ttéérminosrminos •Integrated DDR2 DRAM Controller with AMD Memory Optimizer Technology • A high-bandwidth, low-latency integrated DDR2 memory controller •Supports PC2-8500 (DDR2-1066); PC2-6400 (DDR2-800), PC2-5300 (DDR2-667), PC2-4200 (DDR2-533) or PC2-3200 (DDR2-400) SDRAM unbuffered DIMMs •Support for 64-bit DDR2 SDRAM memory •Up to 17.1GB/s memory bandwidth •Benefit: Quick access to system memory for better performance. 02/07/2009 MAS en Sistemas Embebidos 5 DefiniendoDefiniendo algunosalgunos ttéérminosrminos Embebido – (RAE). No aparece ninguna entrada – (María Moliner). Embutido en otra cosa. 02/07/2009 MAS en Sistemas Embebidos 6 DefiniendoDefiniendo algunosalgunos ttéérminosrminos 02/07/2009 MAS en Sistemas Embebidos 7 DefiniendoDefiniendo algunosalgunos ttéérminosrminos Para Windows CE: 02/07/2009 MAS en Sistemas Embebidos 8 DefiniendoDefiniendo algunosalgunos ttéérminosrminos Sistema Hardware con recursos limitados Sistema Operativo empotrados 02/07/2009 MAS en Sistemas Embebidos 9 NuestroNuestro escenarioescenario dede trabajotrabajo 02/07/2009 MAS en Sistemas Embebidos 10 ImplementaciImplementacióónn MASMAS Microsoft Framework (Windows) – Visual C# – Visual Basic (Gambas – Linux) Java (Multiplataforma) – JADE 02/07/2009 MAS en Sistemas Embebidos 11 NivelesNiveles dede SistemasSistemas dede procesamientoprocesamiento Nivel 1. – Sensores / Actuadores Nivel 2. – Equipos Embebidos móviles Nivel 3. – Equipos Embebidos fijos Nivel 4. – PC Control 02/07/2009 MAS en Sistemas Embebidos 12 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 11 ((SensoresSensores –– Actuadores)Actuadores) Recursos de computación muy limitados: – CPU • 8bits/16bits – MEMORIA • Flash 128Kbytes • EEPROM 4Kbytes • SRAM 4KBytes – Frecuencias • 8 MHz / 16MHz / 24 MHz 02/07/2009 MAS en Sistemas Embebidos 13 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 11 ((SensoresSensores –– Actuadores)Actuadores) 02/07/2009 MAS en Sistemas Embebidos 14 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 11 (Entornos(Entornos dede ProgramaciProgramacióón)n) AVR Studio 4 SDK – Compiladores cruzados AVR 32 Studio 2.2 – IDE para construir y depurar código C/C++ – Está construido sobre Eclipse . 02/07/2009 MAS en Sistemas Embebidos 15 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 11 (Sistemas(Sistemas Operativos)Operativos) Sistemas Operativos de Motas – Bertha – Nut/OS – Contiki – CORMOS – eCos – EYESOS – MagnetOS – MANTIS – TinyOS – t-Kernel – LiteOS 02/07/2009 MAS en Sistemas Embebidos 16 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 11 (Lenguajes(Lenguajes dede ProgramaciProgramacióón)n) nesC: Network Embedded Systems C , y está directamente relacionado con TinyOS. Protothreads: específicamente diseñado para la programación concurrente, provee hilos de dos bytes como base de funcionamiento. SNACK: facilita el diseño de componentes para redes de sensores. c@t: iniciales que indican computación en un punto del espacio en el tiempo (Computation at a point in space (@) Time ). DCL: Lenguaje de composición distribuido (Distributed Compositional Language). galsC: diseñado para ser usado en TinyGALS, es un lenguaje programado mediante el modelo orientado a tarea, fácil de depurar, permite concurrencia y es compatible con los módulos nesc de TinyOS. SQTL(Sensor Query and Tasking Language): como su nombre indica es una interesante herramienta para realizar consultas sobre redes de motas. 02/07/2009 MAS en Sistemas Embebidos 17 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 11 (Nodo(Nodo SensorSensor)) 02/07/2009 MAS en Sistemas Embebidos 18 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 11 ((DispDisp.. UltimaUltima generacigeneracióón)n) SunSPOT – Hardware • Cada Sun SPOT tiene un core a 180MHz 32- bit ARM920T con 512K RAM y 4M Flash. – Software (Entorno de desarrollo) • Squawk. Una implementación de Java ME, que soporta CLDC 1.1 y MIDP 1.0, más funcionalidad básica del SO. Todos los drivers de dispositivos están también escritas en Java. 02/07/2009 MAS en Sistemas Embebidos 19 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 22 (Equipos(Equipos EmbebidosEmbebidos MMóóviles)viles) Recursos de computación “limitados”: – CPU • 32bits – MEMORIA • ROM 128/256/512MB • RAM 256/512/1024MB • Adaptadores para memoria flash – Frecuencias • 300 - 500 MHz 02/07/2009 MAS en Sistemas Embebidos 20 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 22 (Equipos(Equipos EmbebidosEmbebidos MMóóviles)viles) HTC Magic – Processor: Qualcomm MSM7201, a 528 MHz – Platform: Android – Memory: ROM: 512 MB RAM: 192 MB – Display: 3.2-inch TFT-LCD flat touch- sensitive screen with 320x480 HVGA resolution 02/07/2009 MAS en Sistemas Embebidos 21 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 22 ((S.OS.O.. -- SDK)SDK) Microsoft – Windows Mobile 6.5 (SDK) Android – Android 1.5 SDK, Release 2 Apple – Iphone Developer program Otros – Blackberry 02/07/2009 MAS en Sistemas Embebidos 22 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 22 (Sistema(Sistema dede Desarrollo)Desarrollo) Android – Android es una pila sotfware para dispositivos moviles que incluye un sistema operativo, middleware y aplicaciones patrones. Android SDK proporciona las herramientas y APIs necesarios para comenzar a realizar aplicaciones en las plataformas Android usando Java como lenguaje de programación. 02/07/2009 MAS en Sistemas Embebidos 23 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 22 (Sistema(Sistema dede Desarrollo)Desarrollo) 02/07/2009 MAS en Sistemas Embebidos 24 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 33 (Equipos(Equipos EmbebidosEmbebidos Fijos)Fijos) Recursos de computación medio: – CPU • 32bits – MEMORIA • ROM 512MB • RAM 256/512/1024MB/2048MB • Adaptadores para memoria flash – Frecuencias • 500 MHz – 1GHz 02/07/2009 MAS en Sistemas Embebidos 25 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 33 (Equipos(Equipos EmbebidosEmbebidos Fijos)Fijos) CPU:433 (LX700) ó 500 MHz (LX800) AMD Geode LX CPU - cache = 64KB instruction + 64KB data + 128KB L2. DRAM:128 ó 256 MB DDR SDRAM (333 or 400 MHz clock). Sistema Operativo y Aplicaciones almacenadas en tarjetas CompactFlash. 02/07/2009 MAS en Sistemas Embebidos 26 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 33 (Equipos(Equipos EmbebidosEmbebidos Fijos)Fijos) http://www.pcengines.ch/alix.htm 02/07/2009 MAS en Sistemas Embebidos 27 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 33 (Sistemas(Sistemas Operativos)Operativos) Software: Sistemas Operativos FreeBSD – Fr eeBSD – Mono wall (FreeBSD based) – pfSense (FreeBSD based) – STYX (FreeBSD based Secure Internet Appliances, in German) Linux – iMedia ALIX Linux - highly recommended for a quick start - fits nicely on a 512MB CF card. – DD-WRT – OS 3 Gadgets – fli4l one disk router (in German) – LEAF Linux Embedded Appliance Firewall – Meshlium (wireless mesh system based on Voyage) – OpenWRT (working with Kamikaze version) – Voyage Linux (slimmed down Debian) – Xubuntu Linux (customer reported success with 8.04). – Zeroshell NetBSD – NetBSD (versions 4, 5) OpenBSD – OpenBSD (X11 and audio support in 4.3-current) – Fla shdist OpenBSD installer Commercial – Ikarus OS – Emb ed-it (OpenBSD based) – Microsoft Windows XP – Mikrotik RouterOS 02/07/2009 MAS en Sistemas Embebidos 28 NivelesNiveles segsegúúnn recursosrecursos dede computacicomputacióónn NivelNivel 33 (Equipos(Equipos EmbebidosEmbebidos