Universidad de Oal
En los últimos años, el desarrollo de sistemas integrados nacionales ha estado en pleno apogeo y muchas empresas necesitan urgentemente desarrolladores de sistemas integrados. Sin embargo, en los colegios y universidades, la enseñanza de sistemas integrados está relativamente rezagada, y muchos estudiantes universitarios de último año y estudiantes de posgrado recién admitidos no saben por dónde empezar. En este artículo, el autor presentará brevemente los métodos de aprendizaje de sistemas integrados basándose en su propia experiencia en el desarrollo y la enseñanza de sistemas integrados para ayudar a los principiantes a encontrar la manera de comenzar.
¿Qué es un sistema embebido?
Para aprender sobre sistemas integrados, primero debe comprender qué es un sistema integrado. De lo contrario, será frustrante estudiar mucho pero no saber qué es un sistema integrado. Existen muchas definiciones de sistemas integrados, lo que también es un factor que dificulta el aprendizaje sobre los sistemas integrados. Con base en mi comprensión del proceso de desarrollo y enseñanza, el autor resumió las aplicaciones de varios sistemas integrados y propuso una definición simple de sistemas integrados: Sistema integrado es la abreviatura de sistema informático integrado, destacando las características del sistema informático integrado y El * * * propiedades de los sistemas informáticos ordinarios. La siguiente tabla enumera algunos sistemas integrados típicos.
Aplicación:
Robot inteligente (SDR 4, módulo de aterrizaje en Marte)
Gameboy Advance (Sony PSP)
Productos de comunicación en red (Smartphones) )
Equipo militar (PDA militar)
Coches (navegación para automóviles, conducción autónoma, sistemas de entretenimiento)
Instrumentos inteligentes (instrumentos virtuales)
p >Protección de seguridad (prevención de incendios, antirrobo)
Protección del medio ambiente (globo de detección)
Consumo bancario y comercial (ATM)
Con Mars lander Como ejemplo, analice la definición de sistemas integrados. Aunque el módulo de aterrizaje en Marte suena un poco impredecible desde el punto de vista técnico, su esencia es la aplicación de un sistema informático integrado. Su núcleo es un sistema informático, y la composición de este sistema informático es esencialmente la misma que la de un sistema informático tradicional. La diferencia significativa entre los dos es que el sistema informático utilizado por el módulo de aterrizaje en Marte está instalado en el módulo de aterrizaje en Marte. Por supuesto, se podría instalar un sistema informático en un módulo de aterrizaje en Marte, lo que requeriría un diseño muy especial. Pero, en esencia, el concepto central de los sistemas integrados sigue siendo el de los sistemas informáticos. El enfoque del aprendizaje de sistemas integrados también está en los sistemas informáticos. Por un lado, los alumnos deben tener un conocimiento firme del plan.
El concepto del sistema informático en sí es más importante que aprender la diferencia entre el proceso de desarrollo de sistemas integrados y los sistemas informáticos tradicionales. Lo que hay que señalar aquí es que muchos estudiantes nunca se han involucrado en el desarrollo de un sistema informático completo. La enseñanza en colegios y universidades se centra en la programación. Los cursos como composición de sistemas informáticos, principios de sistemas operativos y lenguajes de programación están diseñados para permitir a los estudiantes utilizar mejor los sistemas informáticos para programar y diseñar e implementar diversas aplicaciones en plataformas informáticas existentes. Los estudiantes generalmente no tienen la oportunidad de aprender a construir un sistema informático completo, ni tienen la oportunidad de participar en cada paso de la construcción. Para los sistemas integrados, las personas involucradas en el desarrollo de plataformas desarrollan ellos mismos un sistema informático completo. Este proceso incluye
Análisis de requisitos
2 Diseño de hardware
3 Controladores
4 Paquete de soporte de placa y cargador de arranque
p>
5. Trasplante de sistema operativo
6 Desarrollo de aplicaciones
7 Comprobación de rendimiento
El propósito de la enseñanza de sistemas integrados es enseñar a los estudiantes cómo Construir sistemas informáticos integrados para satisfacer las necesidades de industrias especializadas. Permita que los estudiantes aprendan cómo construir una plataforma de hardware, diseñar hardware, elegir el mejor sistema operativo integrado que pueda satisfacer las necesidades de la aplicación y completar el proceso de escritura, trasplante y depuración del cargador de arranque, BSP y el controlador. Para satisfacer las necesidades de la industria, las aplicaciones correspondientes se escriben y depuran en los sistemas establecidos, y se prueba y verifica el rendimiento.
¿Quién eres y qué necesitas aprender?
Si su trabajo es simplemente escribir un programa de exploración de imágenes en su PC, entonces no necesita saber cómo responder cuando el sistema recibe un paquete de solicitud ARP.
De la misma manera, existen muchos aspectos del aprendizaje de sistemas integrados. En términos del diseño e implementación de sistemas integrados, existen básicamente cuatro tareas diferentes: diseño del sistema, diseño de hardware, portabilidad de controladores y sistemas operativos, y diseño y desarrollo de aplicaciones.
Trabajo de diseño del sistema
En la etapa de diseño del sistema, el analista del sistema determinará los componentes básicos del hardware del sistema según las necesidades, y elegirá qué procesador y sistema operativo utilizar. utilizar de acuerdo a las necesidades del sistema y herramientas de desarrollo de software. Los analistas de sistemas suelen estar plenamente involucrados en todo el proceso de diseño de sistemas integrados y tienen una mejor comprensión de la industria en la que se aplica el sistema.
Personas con procesos de desarrollo claros.
Trabajo de diseño de hardware
Los diseñadores de hardware del sistema necesitan diseñar esquemas de hardware basados en los resultados del diseño de los analistas del sistema. Los diseñadores de hardware normalmente necesitan estar familiarizados con la estructura de hardware de los sistemas integrados. Los diseñadores de hardware deben comprender los procesadores de sistemas integrados, las memorias (Flash, SDRAM), los chips Ethernet MAC, los chips de códec de audio/vídeo, los chips de administración de energía, los circuitos de interfaz de bus (USB, PCI), los módulos LCD y la lógica programable. Los principios básicos de funcionamiento y las conexiones. y métodos de uso de componentes de circuitos de hardware de uso común, como dispositivos (FPGA/CPLD) y módulos de comunicación de red inalámbrica (Bluetooth, WLAN, GPRS). En Internet se pueden encontrar esquemas de placas de evaluación de muchas empresas. Necesitamos estudiar estos esquemas detenidamente para descubrir cómo y por qué el procesador está conectado a la memoria, la tarjeta de red, el módulo LCD y otros dispositivos. Al estudiar estos circuitos, podemos comprender rápidamente la composición de todo el sistema integrado. Aunque estos circuitos son diferentes de los de los productos reales, especialmente para dispositivos portátiles, estas diferencias no afectan la capacidad de los principiantes para aprender los componentes básicos del diseño de hardware de sistemas integrados.
Los conocimientos anteriores a menudo requieren un largo período de aprendizaje y acumulación, y requieren la oportunidad de participar personalmente en la práctica. Para los estudiantes que son nuevos en el desarrollo de hardware de sistemas integrados, generalmente es imposible conocer todo este conocimiento, pero no lo sabrán todo. Combinando mi propia experiencia en desarrollo y enseñanza, el autor cree que, en primer lugar, debemos elegir un sistema integrado convencional y relativamente simple.
Los procesadores unificados, como los procesadores de sistemas integrados como AT91M40800 y S3C44B0 basados en el núcleo ARM7TDMI, aprenden el modelo de programación y el conjunto de instrucciones de los procesadores RISC de 32 bits. En la enseñanza universitaria, los cursos de microcontroladores generalmente se imparten utilizando microcontroladores de la serie 8051. Dado que la estructura y los métodos de desarrollo de los procesadores modernos de 32 bits son muy diferentes de los de los microcontroladores de 8 bits, los estudiantes aún deben esforzarse un poco para aprender los siguientes procesadores de 32 bits. Tomando el procesador ARM como ejemplo, los estudiantes deben comprender los diversos modos de trabajo del procesador, los registros de respaldo, las características del conjunto de instrucciones RISC, MMU y direcciones virtuales, procesos de manejo de interrupciones, etc. En el proceso de aprendizaje del conjunto de instrucciones, es mejor utilizar estas instrucciones para realizar experimentos en el simulador cada vez que aprenda algunas instrucciones para observar los resultados de la ejecución del procesador. Por un lado, este proceso permite a los alumnos lograr mejores resultados al aprender las instrucciones por sí mismos. Por otro lado, también es una especie de aprendizaje sobre las propias herramientas de desarrollo. Luego podrá comenzar a aprender cómo usar y configurar los recursos del chip. En este momento, se necesita una placa de desarrollo conveniente. Los estudiantes pueden conectar la placa de desarrollo a la PC de depuración a través del emulador JTAG y descargar el programa de depuración. En particular, debemos estudiar cuidadosamente el proceso de inicialización del sistema y el proceso de manejo de interrupciones. Si encuentra un problema durante el proceso de desarrollo, debe analizar la causa del problema usted mismo, reducir el posible alcance del problema mediante el análisis y finalmente encontrar el problema. Lo más importante es mantener un sentido de confianza en la solución del problema. La forma de afrontar las dificultades a menudo puede determinar si el sistema final se puede depurar con éxito. Luego, los alumnos pueden comenzar a estudiar seriamente la conexión entre el procesador y la memoria, la configuración del espacio de almacenamiento y los principios de funcionamiento y uso de varios dispositivos externos, como tarjetas de red, tarjetas de sonido AC97, etc. En el diseño de hardware de sistemas integrados, a menudo se utilizan dispositivos programables y los estudiantes necesitan algún tiempo para aprender a utilizar dispositivos programables de uso común (C P L D / F P G A), como los productos Xilinx y Altera. Para diseñar el diagrama esquemático del hardware del sistema, debe utilizar herramientas EDA para el diseño esquemático.
Las herramientas de diseño esquemático EDA de uso común incluyen principalmente Capture de Cadence y Protel99 SE de Protel. A continuación, puede consultar el diagrama de circuito de la placa de evaluación y comenzar a dibujar el diagrama esquemático de acuerdo con los requisitos de diseño del sistema. En el proceso de dibujar el diagrama esquemático, debe averiguar los motivos de las conexiones del circuito de la placa de evaluación y no ignorar los problemas que no están claros en este momento. Por ejemplo, algunos procesadores tienen líneas de dirección en bytes, mientras que otros procesadores tienen líneas de dirección en dos bytes. Al conectar una memoria de 16 bits, no debe dar por sentado que el 0 del procesador esté conectado directamente al 0 de la memoria. Además, los estudiantes también deben tener cierta capacidad para dibujar diagramas de PCB, porque en esta etapa muchas empresas no pueden separar completamente el diseño de diagramas esquemáticos del dibujo de PCB y, a menudo, requieren la entrada de diseñadores de hardware.
El diseño de diagramas de circuitos también se puede utilizar para el diseño de placas de circuitos. Incluso las empresas que separan el diseño de PCB y el diseño esquemático todavía necesitan diseñadores esquemáticos para establecer requisitos de diseño para los diseñadores de PCB en función de diferentes señales.
Trabajo de trasplante de controladores y sistemas operativos
En comparación con el desarrollo de sistemas de microcontroladores tradicionales de 8 bits, el desarrollo de sistemas integrados modernos tiene una diferencia significativa, es decir, operaciones integradas en una amplia aplicación. del sistema. Después de obtener la placa de circuito soldada y las pruebas básicas, es hora de trasplantar el controlador y el sistema operativo. Lo primero que debe hacer es escribir y portar el gestor de arranque. El gestor de arranque es equivalente al BIOS del sistema de PC. Algunos sistemas operativos integrados, como UC/OSII, se pueden desarrollar y depurar sin un gestor de arranque. Pero para Windows CE y sistemas Linux integrados, el gestor de arranque es esencial. Este artículo se basa en
tomar Windows CE como ejemplo para explicarlo brevemente.
El trasplante del sistema Windows CE es principalmente el proceso de desarrollo de BSP (paquete de soporte de placa). BSP separa las diferencias de hardware específicas del núcleo del sistema operativo, que se compone principalmente del cargador de arranque, la capa OAL (OEMAbstraction) y los controladores de dispositivo. El gestor de arranque en el sistema WindowsCE se llama Eboot. Eboot se escribe en la memoria flash de arranque del sistema. Eboot se ejecuta cuando se inicia el sistema y se completa la función de descargar la imagen del sistema operativo Windows CE desde la PC de depuración al SDR A M del sistema de destino a través de la tarjeta de red e iniciar la ejecución. Para un trabajador de trasplante de sistemas, primero debe leer la documentación y comprender los conceptos básicos y el desarrollo de Bootloader y BSP en sistemas Windows CE.
Cheng. (Oh, todavía tengo que hacer este trabajo. No lo esperaba (principiante_)) El sistema de desarrollo Platform Builder de Windows CE proporciona documentos y rutinas detallados, que los desarrolladores deben leer detenidamente. Aclare la relación de llamada entre funciones. Un paso importante en el proceso de desarrollo es abrir el puerto serie y permitir que la placa de destino envíe datos a la PC de depuración a través del puerto serie de la PC. Porque un emulador de sistema RM es costoso y la depuración del sistema operativo a menudo no utiliza un depurador JTAG para la depuración en un solo paso. Por lo tanto, observar el proceso de ejecución y los resultados del programa desde el puerto serie es muy importante para la depuración. Una vez abierto el puerto serie, un problema difícil es depurar el chip de la tarjeta de red. Las personas que son nuevas en el desarrollo de sistemas integrados a menudo no tienen experiencia en el uso de chips de tarjetas de red directamente en el nivel de registro. Las descripciones de los chips de tarjetas de red son generalmente breves. Los desarrolladores deben aprender algunos conocimientos básicos de Ethernet y tener una comprensión básica de MAC. capa de comprensión de Ethernet. Además, el uso de varias herramientas de depuración de red también puede reducir en gran medida la dificultad de depuración del sistema. El OAL del sistema debe modificarse de acuerdo con diferentes hardware específicos. Puede consultar la documentación de esta parte y analizar los errores según la información del puerto serie durante la depuración. Aproveche al máximo la herramienta de búsqueda de cadenas entre archivos para encontrar la ubicación de los errores en una amplia gama de archivos fuente. Por supuesto, a medida que los desarrolladores se familiaricen y comprendan la estructura del directorio de archivos del sistema, la velocidad de localización de errores seguirá acelerándose.
Los controladores de Windows CE son relativamente fáciles de escribir. La estructura del programa es relativamente simple, los estudiantes pueden consultar /library/default.aspmsdn home>; biblioteca MSDN gt mobile y desarrollo integrado gt operación integrada
La columna del artículo desarrollo del sistema gt destaca geek y windows ce. programa de conductores.
Desarrollo de aplicaciones
No existe mucha diferencia entre el desarrollo de aplicaciones para sistemas integrados y el desarrollo de aplicaciones en PC. Para el sistema Windows CE, Microsoft proporciona herramientas de desarrollo relativamente completas. Especialmente usando. NET Compact Framework crea aplicaciones basadas en Windows CE.NET Compact Framework multiplataforma. Los desarrolladores pueden utilizar el lenguaje C# de Windows para desarrollar y simular directamente la depuración de CE. NET o conecte el sistema de destino a una PC para realizar la depuración en línea. Muchos sistemas ahora admiten J2ME (Java para sistemas integrados), lo que hace que JAVA ocupe una gran parte del desarrollo de aplicaciones de sistemas integrados.
Ventajas. Además, como desarrollador profesional de software de sistemas integrados, debe tener pleno conocimiento de la tecnología orientada a objetos y los patrones de diseño. Por supuesto, como principiante, no es necesario que profundices en este aspecto.
Procesadores de sistemas integrados y sistemas operativos de uso común
Procesadores
Los procesadores de sistemas integrados de uso común incluyen principalmente procesadores ARM y procesadores Power PC, procesadores integrados basados en núcleos MIPS. , procesadores de núcleo blando (como Nios de Alter y MicroBlaze de Xilinx) y DSP (procesador de señal digital).
La característica principal del procesador R M es la relación de consumo de energía de alto rendimiento. Los procesadores ARM se utilizan ampliamente en teléfonos móviles, PDA y otros campos. El más famoso es la serie de procesadores XScale basados en núcleos ARM producidos por Intel Corporation. Debido a que los procesadores basados en núcleos ARM producidos por todas las empresas tienen el mismo modelo de programación, los procesadores de sistemas integrados basados en ARM generalmente se eligen primero en sistemas portátiles y que funcionan con baterías. Los procesadores PowerPC (PPC para abreviar) tienen un rendimiento informático y un rendimiento de datos potentes, y se utilizan ampliamente en procesadores de sistemas integrados basados en PPC en los campos de redes y comunicaciones de datos. Entre ellos, el MPC860/MPC8260 producido por Motorola se utiliza ampliamente en productos de red integrados. Los procesadores MIPS se caracterizan por tener capacidades de procesamiento muy potentes. Como procesador de alto rendimiento, los procesadores MIPS son adecuados para aplicaciones de red, empresariales y de electrónica de consumo avanzada, especialmente en sistemas decodificadores, donde los procesadores MIPS tienen una alta participación de mercado. A medida que la escala de los dispositivos programables continúa expandiéndose, las personas pueden personalizar los procesadores de acuerdo con sus propias necesidades e implementar fácilmente procesadores personalizados para aplicaciones específicas en dispositivos programables. Además del procesador, un sistema informático requiere muchos otros componentes. Por ejemplo, en los sistemas de procesamiento de datos de medios multicanal, los dispositivos programables generalmente se usan para implementar funciones de procesamiento de datos de alta velocidad y el DSP de núcleo blando se usa para implementar algoritmos complejos de procesamiento de señales digitales. Al mismo tiempo, el procesador también necesita manejar las transacciones. Los procesadores de núcleo blando combinan dispositivos programables y DSP con procesadores, lo que proporciona una gran flexibilidad para el diseño a nivel de sistema. El DSP (procesador de señal digital) se diferencia de los procesadores de uso general, lo que se refleja en sus potentes capacidades de procesamiento de señales digitales. Se proporciona un acumulador múltiple de hardware en el DSP y el procesador está optimizado para métodos de direccionamiento especiales en el diseño. Algunos DSP también admiten bucles sin sobrecarga. Para facilitar el diseño de sistemas integrados, los DSP convencionales generalmente proporcionan una gran cantidad de periféricos. Particularmente dignos de mención son el DSP de la serie Blackfin de ADI y el DSP de la serie DM64X de TI. Ambos proporcionan una gran cantidad de periféricos en chip y en chip y son muy adecuados para aplicaciones de sistemas integrados.
Sistema operativo
Window CE.NET/5.0
Como producto de Microsoft, Windows CE.NE/5.0 proporciona una herramienta de desarrollo de plataformas completamente funcional Platform Builder y una herramienta de desarrollo de aplicaciones Embedded Visual c/Visual Studio 2003. Debido a que Windows CE tiene una interfaz familiar de Windows, el sistema proporciona muchos controladores y está respaldado por una documentación completa. Para el desarrollo de aplicaciones, los programadores que estén familiarizados con el desarrollo de sistemas Windows pueden cambiar fácilmente al desarrollo de aplicaciones WindowsCE. Windows CE será un sistema operativo integrado muy prometedor.
VxWorks
VxWorks es un sistema operativo integrado en tiempo real producido por Windriver Company. El famoso módulo de aterrizaje en Marte utiliza VxWorks. Windriver proporciona un entorno de desarrollo integrado tornado para VxWorks.
υC/OSII
υC/OS es un sistema operativo integrado de código abierto en tiempo real diseñado y escrito por Jean Labrosse. Es el primer sistema operativo integrado con el que he tenido contacto. . Leer y comprender en profundidad el código fuente de υ C/OS es de gran beneficio para comprender los sistemas en tiempo real.
ARM Linux
ARM linux es un sistema operativo Linux desarrollado y trasplantado para procesadores ARM por desarrolladores como Russell King. Los sistemas ARM Linux se publican bajo GNU GPL. Los lectores interesados pueden consultarlo.
Introducción a http://www.arm.linux.org.uk/docs/whatis.shtml.
υ CLinux
υ Clinux es una versión de LinuxOS adecuada para procesamiento integrado sin MMU. υ Clinux también se publica bajo GNU GPL. Los lectores interesados pueden consultarlo.
http://www.uclinux.org/index.html
Problemas y soluciones comunes en el desarrollo de sistemas integrados
¿Cómo escribir Flash para Bootloader?
Los principiantes generalmente encuentran el problema de cómo escribir programas en el procesador. Para diferentes procesadores, se pueden utilizar diferentes métodos. Por ejemplo, el procesador Xscale de Intel se puede grabar utilizando la herramienta JFlash proporcionada por Intel. Para procesadores equipados con software de herramienta de depuración JTAG, se puede adoptar la siguiente idea: escribir un programa que pueda escribir datos en una dirección fija de SDRAM/SRAM en Flash. Al escribir, primero descargue el software a SDRAM, luego use el software de depuración para descargar los datos que se escribirán en Flash desde una dirección fija de SD RAM/SD RAM al búfer, y luego comience a ejecutar el programa a través del depurador para escribir el datos a Flash. Además, existen muchas herramientas dedicadas a escribir Flash en Internet y los desarrolladores pueden elegir según sus propias necesidades. (Ahora entiendo por qué el BF533 que aprendí fue primero a flashProgramer.dxe).
¿Qué es arm-elf-gcc?
Arm-elf-gcc es un compilador de lenguajes cross-c. Compilamos el programa en la plataforma de PC y el compilador y el código generado se ejecutan en el mismo procesador. Sin embargo, al compilar un programa ARM en una PC, el compilador se ejecuta en un procesador diferente al del código generado. Estos compiladores se denominan compiladores cruzados. Donde elf se refiere al formato de archivo objeto generado por el compilador. (En realidad, los compiladores de microcontroladores que utilizamos habitualmente, como GCC-AVR, ya son compiladores cruzados. Recién ahora descubrí qué es un compilador cruzado.
)
¿Qué camino de compilación estás tomando?
Los programas y controladores del sistema suelen contener muchas opciones de compilación, muchas de las cuales se definen a través de la línea de comandos durante la compilación. Si quieres saber qué programa fue compilado, puedes utilizar el siguiente método:
#ifdef PLAT_AAA
Código de error de plataforma AAA
#else
p>#El código de error no es aplicable a la plataforma AAA
#endif
De esta manera, al compilar, sabrás qué ruta compilar. Los compiladores que admiten el mensaje #pragma ("Estoy aquí") también pueden usar la directiva de precompilación #pragmamessage.
¿Cómo sé en qué archivo está el código?
En la programación del sistema, a menudo es necesario buscar cadenas en varios archivos. La herramienta de búsqueda de cadenas de varios archivos proporcionada por la plataforma se puede utilizar en la plataforma Windows. En la plataforma Linux, puede utilizar grep para buscar cadenas. La función de búsqueda de Grep es muy poderosa y admite la búsqueda de expresiones regulares. El uso competente de grep es muy beneficioso para leer el código del sistema y del controlador.
Útil
¿Desde qué archivo comienza a ejecutarse el sistema?
Para sistemas Windows CE, generalmente proviene de un archivo ensamblador en el directorio
W INC E 420\platform\your platform\kernel\Hal. Habrá algunas diferencias entre las diferentes versiones de los sistemas Linux. Tomando el procesador arm como ejemplo, generalmente está en head-armv. s de linux2.4.x\arch\arm\kernel.
¿A dónde fue el espectáculo?
Puedes hacer esto insertando el siguiente código en tu programa.
printf("Estoy aquí s, d\n ", __FILE__, _ _ LINE _ _);
Este código imprimirá el nombre del archivo y el número de línea donde se encuentra la declaración printf. se encuentra.
Libros recomendados
Kernel en tiempo real, segunda edición
Este libro es la introducción del autor a los sistemas integrados en tiempo real. La versión china se puede comprar en. Porcelana. Este libro describe claramente el concepto de sistemas en tiempo real, los principios de funcionamiento de cada componente, especialmente el código fuente del núcleo del sistema en tiempo real. Se beneficiará mucho si lo estudia detenidamente. Un pequeño consejo, para principiantes, puedes leer este libro directamente desde el primer capítulo sin leerlo.
Capítulo 2, mira.
Abraham Silberschatz, Peter Baer Galvin, Greg Gagne conceptos de sistemas operativos
Durante el proceso de enseñanza, el autor descubrió que muchos estudiantes, ya sean estudiantes de ingeniería informática o eléctrica, no entienden los sistemas operativos. Conceptos básicos, pocos estudiantes tienen experiencia completa en programación de sistemas. El libro "Conceptos de sistemas operativos" sólo puede considerarse un clásico. Para los estudiantes que estén interesados en estudiar en profundidad los sistemas integrados, primero que nada, establezca una buena base. Este libro se convertirá en una lectura obligada.
Andrew S. Tanenbaum Computer Networks, Inc.
Los estudiantes que estudian informática con Andrew S. Tanenbaum deben comprender el libro "Sistemas operativos: diseño e implementación". Sinceramente admiro a profesores como Tanenbaum. La pila de protocolos de red es la columna vertebral de los sistemas integrados. Para los estudiantes que estén dispuestos a dedicarse a la investigación en profundidad de la tecnología de redes, este libro les construirá una base sólida de redes.
Karim Yaghmour construye un sistema Linux integrado
Este libro presenta en detalle la composición, los conceptos básicos y cómo construir cada parte del sistema Linux integrado. Este libro es breve y conciso. Sirve como una introducción a los sistemas Linux integrados y una guía para todas las partes del proceso de desarrollo.
Advanced RISC Machine Co., Ltd. (ARM) ARM7 TDMI
Hoja de registro
Advanced RISC Machine Co., Ltd. (ARM) ARM920T p>
Manual de referencia tecnológica
¿Cómo aprender sistemas embebidos sin entender los procesadores embebidos más utilizados en la actualidad? La hoja de datos ARM7 TDMI es una buena herramienta para aprender el modelo de programación y el conjunto de instrucciones de ARM. En los sistemas integrados, la unidad de gestión de memoria (MMU) es una parte muy importante y también es una parte difícil de entender y dominar. El manual de referencia técnica del arm 920t puede ayudarle a explicar este aspecto.
Peter van der Linden es un experto en programación C
El lenguaje más utilizado para la programación a nivel de sistema integrado es C. Muchos estudiantes piensan que son buenos en el lenguaje C. Bueno, simplemente lea este libro y descubra la brecha entre usted y los expertos.
Nota: Vi este artículo en el número 12 de 2004 de Learning Garden. El autor de este artículo es Tong Yuan.
Acerca del autor
Tong Yuan, profesor del Curso de Sistemas Embebidos en la Escuela Experimental de la Universidad Tecnológica de Beijing, trabajó en Microsoft Research Asia como estudiante visitante en 2004.
Después de leer este artículo, no puedo esperar para publicarlo porque está muy bien escrito. He estado involucrado en tecnología integrada durante más de un año. Desde 8051 hasta ARM, he estudiado, dudado, feliz y deprimido. . . Recientemente, incluso tuve la idea de rendirme. Al final, fue porque no tenía una comprensión completa del desarrollo integrado. Me sumergí en la tecnología desde el principio, aprendí varias técnicas y terminé perdiéndome en el pozo de barro que yo mismo había creado. Este artículo explica muy claramente todos los aspectos del desarrollo integrado y es una inspiración para personas confundidas como yo.
El desarrollo integrado y el desarrollo de escritorio no solo son diferentes, sino que también están muy relacionados, y conceden gran importancia a las capacidades operativas prácticas. Las personas que se dedican al desarrollo de escritorios generalmente no cambian cuando entran en contacto por primera vez con los sistemas integrados. Esto se refleja principalmente en el posicionamiento. Como dice el artículo ¿quién eres y a qué te dedicas? Mi comprensión del hardware se limita al campo de la programación y no sé nada sobre el diseño de PCB, pero eso no significa que no pueda participar en el desarrollo integrado si no entiendo el hardware. En todos los aspectos del desarrollo y diseño de un sistema, lo más importante es hacer sus propias contribuciones en áreas que le interesen y con las que esté familiarizado.
1. Diseño de hardware: requiere experiencia en diseño de hardware y una buena comprensión de varios dispositivos integrados.
2. Trasplante de sistema: se requiere experiencia en compilación, principios del sistema operativo y comprensión de los controladores subyacentes.
3. Solicitud: Se requiere experiencia en programación de escritorio.