Buscando todo el conocimiento sobre la dirección integrada de la informática
Al aprender integrado, el lenguaje C es el conocimiento básico más importante, pero dominarlo no significa que su base ya sea muy buena. Los conceptos básicos de nivel básico relacionados con el aprendizaje integrado son principalmente los siguientes: Primero, programación La base, por ejemplo: la base del lenguaje de programación básica, al menos los contenidos más básicos, como los tipos de datos, la estructura del programa y el control del proceso, deben ser bastante claros, por lo que se recomienda complementar el lenguaje C. Recomiendo el lenguaje C de Tan Haoqiang. programación y échale un buen vistazo, jeje! Además, muchos estudiantes han preguntado sobre los conceptos básicos de las estructuras de datos. Siempre he creído que el estudio de las estructuras de datos y los algoritmos es un buen método de formación para ayudar a formar el pensamiento lógico en la programación y definitivamente será beneficioso para la mejora de los programadores. profesionalismo a largo plazo, por lo que sugiero que incluso después de haber trabajado en la industria integrada, agregue conocimientos más relevantes. Muchos estudiantes que no han aprendido estructuras de datos en la escuela suelen encontrar esta parte muy aburrida y difícil de aprender. De hecho, si puede comprender la importancia de estudiar el almacenamiento informático y la organización de datos, podrá apreciar plenamente el valor y el encanto de las estructuras de datos. Una vez que tengas interés, todo encajará, ¡jaja! El segundo es el principio de funcionamiento del sistema operativo. Esta parte es a menudo algo a lo que los estudiantes que no se especializan en informática no han estado expuestos en la escuela. Dado que el entorno multitarea, la sincronización y la colaboración de comunicación entre módulos, el diseño de controladores, etc. relacionados con el diseño de software integrado a menudo requieren una comprensión y dominio del mecanismo de trabajo del sistema operativo como base, se recomienda que los estudiantes que no estudie sistemáticamente encuentre un Lea atentamente este libro relacionado sobre los principios de funcionamiento del sistema operativo (no tiene que ser particularmente denso, profesional o basado en núcleos, solo concéntrese en popularizar el conocimiento primero, ¡jaja!). El tercero es la base básica del hardware. Dado que el desarrollo de Linux integrado suele ser la ruta ARM Linux, para poder dominar la estructura y los principios de los microprocesadores integrados convencionales (por ejemplo: ARM9) en el proceso de aprendizaje posterior, es necesario trabajar. sobre el hardware. Para tener una comprensión preliminar y un dominio de los principios, se recomienda leer libros profesionales relacionados, como principios de composición y arquitectura de computadoras. Con más detalle a continuación, los cursos más importantes en software integrado incluyen: (1) Estructura y aplicación del microprocesador integrado: este es un curso básico sobre hardware integrado. Como hemos dicho, el integrado es una tecnología que combina software y hardware. Quienes participen en software integrado deben tener una comprensión completa de los principios de funcionamiento y las tecnologías de interfaz de los procesadores ARM, incluido el sistema de instrucciones de ensamblaje de ARM. Si no comprende el principio del procesador, ¿cómo puede controlar el funcionamiento del hardware? ¿Cómo puede escribir el código óptimo que ahorre memoria y se ejecute a alta velocidad (el diseño del software integrado presta especial atención a la eficiencia del tiempo y el espacio)? ¿Cómo se puede escribir un controlador (todos los controladores están relacionados con el hardware)? Muchas empresas requieren estar familiarizados con los procesadores ARM al contratar personal de software integrado. En el futuro, si los estudiantes vienen a la empresa para participar en el desarrollo de software integrado, la empresa le dará una especificación de hardware para el dispositivo (Especificación xxx), y usted debe estar familiarizado con él. capaz de entenderlo Las instrucciones más básicas, como la distribución de la memoria y el uso del puerto (al igual que el ensamblaje x86), de lo contrario, cómo diseñar el software. Algunos estudiantes encuentran aburrido el curso sobre procesadores integrados. Esto se debe principalmente a que los cursos sobre hardware son más abstractos. Algunos estudiantes no están interesados en el ensamblaje ARM y piensan que el lenguaje C es suficiente para el desarrollo integrado. De hecho, el lenguaje ensamblador no debe considerarse simplemente como un lenguaje de programación. El objetivo principal de aprender ensamblador es dominar el principio de funcionamiento del procesador. ¿Cómo puede una persona que no está familiarizada con el lenguaje ensamblador escribir código óptimo en lenguaje C en este procesador? En algunas partes clave del desarrollo integrado, a veces se debe escribir ensamblador, como el cargador de arranque, etc. (que también puede incluir BSP). Especialmente en situaciones con requisitos de velocidad extremadamente altos (como la adquisición de imágenes de alta velocidad y la descompresión de imágenes de procesadores DSP), todavía se usa la programación ensambladora, aunque la posibilidad de uso es mucho menor que C. Cuando trabaja en una empresa integrada, cuando consulta los manuales que describen principios, muchos de ellos pueden estar descritos en ensamblaje. Esto se debe a que muchos diseñadores de hardware solo pueden escribir o les gusta usar descripciones de ensamblaje. En este momento, debe comprender el programa de ensamblaje. De lo contrario, es posible que el personal de software y hardware no pueda comunicarse. Muchos puestos incorporados requieren familiaridad con el montaje al momento de la contratación.
(2) Cursos sobre sistemas operativos integrados A excepción de WinCE, que tiene un rendimiento en tiempo real ligeramente deficiente, la mayoría de los sistemas operativos integrados tienen un rendimiento en tiempo real sólido, por lo que también se le puede llamar sistema operativo en tiempo real. Las personas involucradas en sistemas integrados deben dominar al menos un sistema operativo integrado (por supuesto, es mejor dominar dos), que es el más crítico entre todas las tecnologías integradas. Actualmente, los RTOS más importantes incluyen principalmente: el primer tipo, RTOS clásico tradicional: el más importante es el sistema operativo Vxworks y su plataforma de desarrollo Tornado. Debido a que Vxworks apareció antes, tiene un fuerte rendimiento en tiempo real (se dice que puede responder a solicitudes de eventos externos en 1 ms), y su núcleo puede ser extremadamente pequeño (se dice que el mínimo puede ser 8K) y su confiabilidad es alto, por lo que en América del Norte, Vxworks ocupa la cuota de mercado de los sistemas integrados. Especialmente en sistemas con altos requisitos en tiempo real, como equipos de comunicación, Vxworks es casi la mejor opción. Muchos conceptos y tecnologías de Vxworks son muy similares a Linux, principalmente el desarrollo del lenguaje C. Empresas de comunicación como Bell-alcatel, Lucent y Huawei utilizan mucho Vxworks al desarrollar productos. Sin embargo, debido a que Vxworks es muy caro, algunas pequeñas empresas o productos pequeños a menudo no pueden permitírselo. Actualmente, muchas empresas están cambiando a Linux integrado (escuché que Huawei está cambiando actualmente a esto). Pero pase lo que pase, Vxworks seguirá siendo inquebrantable durante mucho tiempo. Los sistemas operativos en tiempo real ligeramente famosos similares a Vxworks incluyen RTOS como pSOS, QNX y Nucleus. La segunda categoría, sistema operativo Linux integrado: además de su futuro como sistema operativo de servidor, la aplicación más exitosa de Linux se encuentra en el campo integrado. La razón es, por supuesto, que es gratuito, de código abierto y tiene muchos software de soporte. y tiene muchos fans. De esta manera, el coste del producto integrado será menor. Linux en sí no es un sistema operativo diseñado para sistemas integrados, no está basado en microkernel y su rendimiento en tiempo real no es sólido. Hay dos tipos principales de sistemas Linux que se utilizan actualmente en el campo integrado: uno es un sistema Linux reducido diseñado específicamente para uso integrado. El más utilizado es uClinux (sin función MMU), que actualmente representa una gran parte de las aplicaciones. se puede ejecutar en ARM7; el otro tipo se ejecuta en ARM 9. Generalmente, se trasplanta el kernel de Linux 2.4.18, para que se puedan usar más funciones de Linux (por supuesto, uClinux también se puede ejecutar en ARM 9). Mucha gente predice que se espera que Linux integrado represente más del 50% de la cuota de mercado de sistemas operativos integrados, lo cual es muy importante. La desventaja es que hay muy poca gente familiarizada con Linux y el desarrollo es un poco más difícil. Además, actualmente podemos encontrar que muchos libros de texto y muchas universidades utilizan ucOS/II como sistema operativo en tiempo real para la enseñanza. Esto se debe principalmente a que ucOS/II es relativamente simple y de código abierto, lo cual es muy adecuado para que los principiantes aprendan. principios de los sistemas operativos en tiempo real, sin embargo, porque ucOS/II II tiene funciones limitadas y rara vez se utiliza en aplicaciones prácticas. Además, estar familiarizado con el desarrollo de Linux no solo es útil en el campo integrado, sino que también es útil para desarrollar software de aplicaciones de Linux y profundizar la comprensión de los sistemas operativos. Hasta donde yo sé, Intel y Philip se dedican actualmente al desarrollo integrado de ARM LINUX, mientras que Fujitum se dedica al desarrollo de Linux en sus propios procesadores. En la actualidad, en el campo del Linux integrado, es particularmente difícil encontrar personas en los siguientes aspectos: en primer lugar, personas que puedan migrar Linux a un nuevo modelo de versión de desarrollo; en segundo lugar, personas que puedan escribir controladores para Linux; Estoy familiarizado con la reducción del kernel de Linux y la gente del Optimizador. Sin embargo, LINUX tiene un defecto, es decir, no tiene una interfaz interactiva amigable, conveniente y hermosa como WINDOWS; de lo contrario, el imperio de Microsoft no habría podido resistir hace mucho tiempo.
La tercera categoría, el sistema operativo integrado Windows CE: Microsoft también se ha centrado en el enorme mercado integrado. MS siempre será el más potente. WinCE sólo existe desde hace unos años, pero actualmente ocupa una gran cuota de mercado, especialmente en los PDA. , teléfonos móviles, instrumentos de visualización y otras ocasiones donde los requisitos de interfaz son altos o se requiere un desarrollo rápido, WinCE ahora es muy popular (se dice que una empresa que vende computadoras industriales vendió sus placas tan bien que no tuvo tiempo de cortar WinCE para clientes). Actualmente, WinCE es principalmente la versión 4.2 (.NET), y la plataforma de desarrollo es principalmente WinCE Platform Builder. A veces, el entorno EVC se utiliza para desarrollar algunas aplicaciones de nivel superior. Dado que el desarrollo de WinCE se realiza en el entorno VC con el que todos están familiarizados. La escuela ha aprendido programación de Windows. Ninguno de los estudiantes del curso lo encuentra difícil, por lo que la gente acepta fácilmente WinCE. El entorno de desarrollo es conveniente y rápido, y el sólido soporte técnico de Microsoft hace que el desarrollo de WinCE sea mucho más difícil que Linux integrado. Para situaciones de desarrollo que están ansiosas por completar y no quieren correr riesgos con Linux integrado, WinCE es el más adecuado (no es tan fácil encontrar personas que quieran encontrar Linux integrado, después de todo, las empresas no pueden probarlo). estudiantes, y es más importante asegurar un desarrollo exitoso. Según diferentes enfoques, existen dos versiones especiales de WinCE. Una es el sistema operativo MS PocketPC dedicado a PDA (computadoras de mano) y la otra es el sistema operativo MS SmartPhone para teléfonos inteligentes (teléfonos móviles con funciones de PDA). También pertenecen a la plataforma WinCE. En los mercados de PDA y teléfonos móviles, además de WinCE, los famosos sistemas operativos integrados de PDA incluyen Palm OS (muy famoso porque apareció muy temprano), Symbian, etc. Sin embargo, bajo el fuerte impacto de WinCE, Palm y Symbian seguirán ¿Podrá sobrevivir en el futuro? Es muy conveniente y natural para los estudiantes aprender WinCE después de aprender VC. Al aprender WinCE, también pueden comprender el proceso general de desarrollo del software integrado. También es adecuado para estudiantes que le temen a Linux. Obviamente, Linux integrado nunca podrá reemplazar a WinCE y es difícil decir quién tendrá la mayor participación en el futuro. Después de todo, muchas personas están más dispuestas a aceptar la plataforma MS. Al igual que los gobiernos de varios países han estado promoviendo vigorosamente LINUX. durante mucho tiempo, pero ¿cuántos usuarios puedes ver que realmente usan LINUX en sus PC? Según mi observación, actualmente en plataformas integradas, LINUX es el más ruidoso, pero en realidad WinCE se usa más. El LINUX incorporado puede tratarse más de empresas con planes de productos a largo plazo y consideraciones a largo plazo para reducir costos. WinCE y multimedia (como la tecnología MPEG) son una de las áreas de proyectos en las que el Instituto de Ingeniería de Microsoft Asia está haciendo mucho actualmente. Ahora la sociedad tiene una gran necesidad de personas que dominen WinCE. Hoy en día, hay teléfonos inteligentes WINCE, Kingsoft PowerWord, WORD, EXCEL, REGEDIT, etc., todos tienen versiones de teléfonos inteligentes que se pueden convertir automáticamente al formato de teléfono inteligente en la PC cuando se descargan, lo cual es genial. Es completamente utilizable utilizar Windows CE para desarrollar algunos programas necesarios y descargarlos a su teléfono móvil. Los teléfonos inteligentes PDA ya están en el mercado y MS siempre está ganando dinero. En resumen, con respecto a los cursos de sistemas operativos integrados, si cree que tiene una base sólida y puede estudiar más, puede aprender Linux integrado, si cree que tiene buenas habilidades de VC y desea aprender desarrollo integrado de forma rápida y sencilla, es así; Es muy bueno aprender WINCE por tu propia elección. (3) Campos relacionados del desarrollo integrado Si quienes participan en el desarrollo integrado están familiarizados con algunos de los campos principales de las aplicaciones integradas, dichas personas serán más populares entre las empresas. Los principales campos relacionados incluyen: A. Tecnología de compresión de imágenes digitales: este es uno de los campos de aplicación más importantes y populares de la tecnología integrada. Es principalmente necesario para dominar los algoritmos y tecnologías de codificación y decodificación de MPEG, como DVD, MP3, PDA, etc. -Los televisores de precisión y los decodificadores, etc., implican problemas de decodificación de alta velocidad de MPEG. B. Protocolos de comunicación y tecnología de programación: esto incluye el protocolo TCP/IP tradicional y los protocolos de comunicación inalámbrica populares.
En primer lugar, la mayoría de los dispositivos integrados deben estar conectados a la LAN o a Internet, por lo que primero debe dominar el protocolo TCP/IP y su programación. Esta es la tecnología básica que debe dominarse primero. La principal tendencia actual, por lo que dominar la comunicación inalámbrica y la programación también es muy importante. Los protocolos de comunicación inalámbrica incluyen el protocolo de comunicación LAN inalámbrica serie 802.11, Bluetooth y comunicaciones móviles (como GPRS, GSM, CDMA, etc.). C. Tecnología de seguridad de la información y las redes: como tecnología de cifrado, certificado digital CA y diversos equipos de seguridad de red, incluidos firewalls de hardware, IDS de detección de intrusiones, muros antivirus, IPS, etc. China todavía no tiene sus propias ventajas a este respecto. We Chen El decano parece estar desarrollándose en esta dirección. D. Tecnología DSP: DSP significa proceso de señal digital. El procesador DSP implementa algoritmos de procesamiento de señales digitales a través de hardware, como adquisición, compresión, descompresión y comunicación de datos de alta velocidad. El procesamiento de señales digitales es un curso para especialistas en hardware, como electrónica y comunicaciones. Sería mejor si las personas que trabajan en software pudieran entenderlo. Actualmente hay escasez de talentos DSP. Si tiene una base en cursos como señales y sistemas, procesamiento de señales digitales, etc., será de gran ayuda para aprender los principios de codificación y decodificación MPEG. (4) Fundamentos de hardware relacionados para el desarrollo integrado Para los estudiantes de ingeniería de software que participan en el desarrollo de software integrado, los cursos de hardware como circuitos digitales, principios de composición de computadoras y estructuras de microprocesadores integrados son más importantes. Además, también son muy importantes los cursos básicos de software como lenguaje ensamblador, algoritmos de estructura de datos C/C y especialmente sistemas operativos. Nuestro objetivo principal es comprender cómo funciona el hardware, pero la atención debe centrarse en el software integrado, especialmente el software a nivel del sistema operativo, que será nuestra ventaja. Algunos de nuestros estudiantes de posgrado se especializaron en electrónica y comunicaciones. Tienen una buena base en circuitos analógicos y microcontroladores, por lo que les resulta muy adecuado estudiar integrados. El propio integrado ha evolucionado a partir de los microcontroladores, pero los microcontroladores no vienen con un sistema operativo. Ahora muchas aplicaciones integradas se están volviendo cada vez más complejas y tienen que introducir sistemas operativos integrados. Además, para lograr una mayor velocidad de procesamiento de señales, muchas empresas ahora utilizan hardware para implementar algunos algoritmos DSP, como los algoritmos de compresión y descompresión MPEG, en algunas situaciones con requisitos de alta velocidad. Esto implica el diseño de circuitos digitales HDL y su FPGA. /Tecnología de implementación central de IP, actualmente hay escasez de personas en este campo en el mercado. Los libros de texto profesionales integrados de Huaqing Yuanshi son relativamente profesionales y conocidos. Se venden en bibliotecas universitarias y librerías externas. Huaqing Yuanshi también tiene muchos libros de texto integrados en su sitio web y foros de tecnología. Se pueden descargar y se actualizan muy rápidamente. Si tiene dificultades para aprender, puede consultarlos. ¡Creo que le serán útiles!