Implantación De Linux Sobre Microcontroladores

Implantación De Linux Sobre Microcontroladores

Embedded Linux system development Embedded Linux system development DSI Embedded Linux Free Electrons Developers © Copyright 2004-2018, Free Electrons. Creative Commons BY-SA 3.0 license. Latest update: March 14, 2018. Document updates and sources: http://free-electrons.com/doc/training/embedded-linux Corrections, suggestions, contributions and translations are welcome! DSI - FCEIA http://dsi.fceia.unr.edu.ar 1/263 Derechos de copia © Copyright 2018, Luciano Diamand Licencia: Creative Commons Attribution - Share Alike 3.0 http://creativecommons.org/licenses/by-sa/3.0/legalcode Ud es libre de: I copiar, distribuir, mostrar y realizar el trabajo I hacer trabajos derivados I hacer uso comercial del trabajo Bajo las siguientes condiciones: I Atribuci´on. Debes darle el cr´editoal autor original. I Compartir por igual. Si altera, transforma o construye sobre este trabajo, usted puede distribuir el trabajo resultante solamente bajo una licencia id´enticaa ´esta. I Para cualquier reutilizaci´ono distribuci´on,debe dejar claro a otros los t´erminos de la licencia de este trabajo. I Se puede renunciar a cualquiera de estas condiciones si usted consigue el permiso del titular de los derechos de autor. El uso justo y otros derechos no se ven afectados por lo anterior. DSI - FCEIA http://dsi.fceia.unr.edu.ar 2/263 Hiperv´ınculosen el documento Hay muchos hiperv´ınculosen el documento I Hiperv´ıncluosregulares: http://kernel.org/ I Enlaces a la documentaci´ondel Kernel: Documentation/kmemcheck.txt I Enlaces a los archivos fuente y directorios del kernel: drivers/input include/linux/fb.h I Enlaces a declaraciones, definiciones e instancias de los simbolos del kernel (funciones, tipos, datos, estructuras): platform_get_irq() GFP_KERNEL struct file_operations DSI - FCEIA http://dsi.fceia.unr.edu.ar 3/263 Introducci´ona Linux Embebido Introducci´ona DSI Linux Embebido Embedded Linux Developers Free Electrons © Copyright 2004-2018, Free Electrons. Creative Commons BY-SA 3.0 license. Corrections, suggestions, contributions and translations are welcome! DSI - FCEIA http://dsi.fceia.unr.edu.ar 4/263 Nacimiento del software libre I 1983, Richard Stallman, proyecto GNU y el concepto de software libre. Comienza el desarrollo de gcc, gdb, glibc y otras herramientas importantes I 1991, Linus Torvalds, proyecto Linux kernel, un nucleo de sistema operativo similar a Unix. Junto con el software GNU y otros componentes de c´odigoabierto: forman un sistema operativo completo GNU/Linux I 1995, Linux es m´aspopular en sistemas servidor I 2000, Linux es m´aspopular en sistemas embebidos I 2008, Linux es m´aspopular en dispositivos m´oviles I 2010, Linux es m´aspopular en tel´efonos DSI - FCEIA http://dsi.fceia.unr.edu.ar 5/263 >Software libre? I Un programa es considerado libre cuando su licencia ofrece a todos sus usuarios las siguientes cuatro libertades I Libertad de ejecutar el Sofrware para cualquier prop´osito I Libertad de estudiar el Software y modificarlo I Liberatd de redistribuir copias I Libertad de distribuir copias de versiones modificadas I Estas libertades estan concedidas para uso tanto comercial como no-comercial I Implican la disponibilidad del c´odigofuente, el Software puede ser modificado y distribuido a los clientes I Una opci´oninteresante para los sistemas embebidos! DSI - FCEIA http://dsi.fceia.unr.edu.ar 6/263 >Qu´ees Linux embebido? Linux embebido es el uso del kernel de Linux y varios componentes open-source en sistemas embebidos DSI - FCEIA http://dsi.fceia.unr.edu.ar 7/263 Introducci´ona Linux Embebido Ventajas de Linux y open-source para sistemas embebidos DSI - FCEIA http://dsi.fceia.unr.edu.ar 8/263 Reutilizaci´onde componentes I La principal ventaja de Linux y open-source en sistemas embebidos es la habilidad de reutilizar componentes I El ecosistema de open-source ya provee de varios componentes para caracter´ısticasestandares, desde soporte de Hardware hasta protocolos, pasando por multimedia, gr´aficos, bibliotecas criptogr´aficas,etc. I Tan pronto como un dispositivo Hardware, o un protocolo, o una caracter´ısticase torna conocida, existen varias chances de tener un componente open-source que lo soporte. I Permite dise~nar de forma r´apiday desarrollar productos complejos, basados en componentes existentes. I No es necesario redesarrollar otro kernel de sistema operativo, una pila TCP/IP, una pila USB u otra biblioteca gr´afica. I Permite enfocarce en el valor agregado del producto. DSI - FCEIA http://dsi.fceia.unr.edu.ar 9/263 Bajo costo I El Software libre puede ser duplicado en la cantidad de dispositivos que se quiera, libre de cargos. I Si su sistema embebido utiliza solo Software libre, se puede reducir los costos de licencias de Software a cero. Incluso, las herramients de desarrollo son libres, a menos que se elija una versi´onde Linux embebido comercial. I Permite tener un mayor presupuesto para el Hardware o para incrementar las habilidades y conocimiento de la compan´ıa DSI - FCEIA http://dsi.fceia.unr.edu.ar 10/263 Control total I Con c´odigoabierto, disponemos del c´odigofuente de todos los componentes del sistema I Permite modificaciones ilimitadas, cambios, ajustes, depuraci´on,optimizaci´on,por un per´ıodo de tiempo ilimitado I Sin una dependencia "bloqueante" de un vendedor externo I Componentes que no sean de c´odigoabierto se deben evitar cuando el sistema se dise~na y desarrolla I Permite tener un control total sobre el Software que forma parte del sistema DSI - FCEIA http://dsi.fceia.unr.edu.ar 11/263 Calidad I Varios componentes de c´odigoabierto son ampliamente utilizados en millones de sistemas I Generalmente son de mayor calidad que los desarrollos in-house o incluso de los vendedores propietarios I Por supuesto, no todos los componentes de c´odigoabierto son de buena calidad, pero los m´asampliamente utilizados los son. I Permite dise~nar su sistema con componentes fundacionales de alta calidad DSI - FCEIA http://dsi.fceia.unr.edu.ar 12/263 Facilita la prueba de nuevas caracteristicas I Dado la disponibilidad del c´odigoabierto, es simple obtener una copia del Software para evaluarlo I Permite de forma simple estudiar las opciones mientras se est´a decidiendo I Mucho m´assimple que la compra y procesos de demostraci´on necesitan con la mayor´ıade los productos propietarios I Permiten explorar de forma simple nuevas posibilidades y soluciones DSI - FCEIA http://dsi.fceia.unr.edu.ar 13/263 Soporte de la comunidad I Los componentes de Software de c´odigoabierto son desarrollados por comunidades de desarrolladores y usuarios I Esta comunidad puede proveer soporte de alta calidad: se puede contactar directamente a los desarrolladores principales del componente que se est´ausando. La probabilidad de obtener una respuesta no depende de la compan´ıapara la que trabajemos. I En general mejor que el soporte tradicional, pero es necesario entender como funciona la comunidad para hacer un uso correcto de las posibilidades de soporte I Permite acelerar la resoluci´onde problemas cuando se est´edesarrollando el sistema DSI - FCEIA http://dsi.fceia.unr.edu.ar 14/263 Formando parte de la comunidad I La posibilidad de formar parte de la comunidad de desarrollo de algunos de los componentes utilizados en sistemas embebidos: reporte de fallas, prueba de nuevas versiones y caracter´ısticas,parches que corrigen errores o agregan nuevas caracter´ısticas,etc. I La mayor´ıadel tiempo, los componentes de c´odigoabierto no son el n´ucleode valor del producto: es interes de todos contribuir al mismo I Para los ingenieros: una forma muy motivante de ser reconocido fuera de la compan´ıa,comunicarse con otros en el mismo campo, la oportunidad de nuevas posibilidades, etc. I Para los gerentes: factor de motivaci´on para los ingenieros, permite a la compan´ıaser reconocida en la comunidad de c´odigoabierto y por lo tanto obtener soporte de forma m´as simple y ser m´asatractivo para los desarrolladores de c´odigo abierto DSI - FCEIA http://dsi.fceia.unr.edu.ar 15/263 Introducci´ona Linux Embebido Algunos ejemplos de sistemas embebidos ejecutando Linux DSI - FCEIA http://dsi.fceia.unr.edu.ar 16/263 Ruters personales DSI - FCEIA http://dsi.fceia.unr.edu.ar 17/263 Televisi´on DSI - FCEIA http://dsi.fceia.unr.edu.ar 18/263 Terminales de punto de venta DSI - FCEIA http://dsi.fceia.unr.edu.ar 19/263 Maquinas de corte Laser DSI - FCEIA http://dsi.fceia.unr.edu.ar 20/263 Maquina de Viticultura DSI - FCEIA http://dsi.fceia.unr.edu.ar 21/263 Introducci´ona Linux Embebido Hardware para sistemas embebidos en Linux DSI - FCEIA http://dsi.fceia.unr.edu.ar 22/263 Procesador y arquitectura (1) I El kernel de Linux y la mayor´ıade otros componentes dependientes de la arquitectura soportan un amplio rango de arquitecturas de 32 y 64 bits I x86 y x86-64, como se encuentran en plataformas PC, pero tambi´ensistemas embebidos (multimedia, industrial) I ARM, con miles de diferentes SoC (multimedia, industrial) I PowerPC (principalmente aplicaciones en tiempo real e industriales) I MIPS (principalmente para aplicaciones de red) I SuperH (principalmente aplicaciones multimedia) I Blackfin (arquitectura DSP) I Microblaze (soft-core para FGPA de Xilinx) I Coldfire, SCore, Tile, Xtensa, Cris, FRV, AVR32, M32R DSI - FCEIA http://dsi.fceia.unr.edu.ar 23/263 Procesador y arquitectura (2) I Ambas arquitecturas, MMU y no-MMU son soportadas, aunque la arquitectura no-MMU tiene algunas limitaciones. I Linux no est´adise~nadopara microcontroladores peque~nos. I Salvo el juego de herraminetas, el cargador de inicio y el kernel, todos los otros componentes generalmente son independientes de la arquitectura DSI - FCEIA http://dsi.fceia.unr.edu.ar 24/263 RAM y almacenamiento I RAM: un sistema b´asicocon Linux puede funcionar con 8 MB de RAM, pero un sistema m´asrealista usualmente requiere 32 MB de RAM.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    263 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us