Ahora estoy aprendiendo por mi cuenta C, estructura de datos, sistema operativo, conceptos básicos de software, etc.
Te será útil si lo lees.
Los cursos más importantes en software integrado incluyen:
(1)
La estructura y aplicación de los microprocesadores integrados: este es un curso de hardware integrado El curso básico ha reemplazado el curso tradicional "Principios e interfaces de microcomputadoras" en nuestra universidad (actualmente, un pequeño número de estudiantes de TI en universidades nacionales están haciendo esto, porque es difícil encontrar usos prácticos para los principios e interfaces de microcomputadoras x86, y es solo para enseñar ). Hemos dicho que el software integrado es una combinación de hardware y software. Las personas que trabajan con software integrado deben tener una comprensión completa de los principios de funcionamiento y la tecnología de interfaz de los procesadores ARM, incluido el sistema de instrucciones de ensamblaje de ARM. Si no comprende los principios del procesador, ¿cómo controla el hardware, cómo escribe código que ahorra memoria y se ejecuta a alta velocidad (el diseño de software integrado presta especial atención a la eficiencia del tiempo y el espacio) y cómo ¿Escribir un controlador (todos los controladores tratan con hardware)? Muchas empresas requieren estar familiarizadas con los procesadores ARM cuando contratan personal de software integrado. En el futuro, si los estudiantes vienen a la empresa a desarrollar software integrado, la empresa le entregará un manual de hardware para el dispositivo.
(xxx
Especificaciones), debe poder comprender las instrucciones más básicas, como la asignación de memoria y el uso de puertos (al igual que el ensamblaje x86); de lo contrario, cómo diseñar software. Algunos estudiantes piensan que el curso sobre procesadores integrados es aburrido, principalmente porque el curso sobre hardware es relativamente abstracto. Después de que nuestro laboratorio integrado esté construido en junio y octubre de 2020, sentirá que puede realizar algunos experimentos. 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 alguien que no está familiarizado con el lenguaje ensamblador escribir el mejor código C en este procesador? En algunas partes clave del desarrollo integrado, a veces es necesario escribir un ensamblado, como el gestor de arranque (y posiblemente BSP). Especialmente en situaciones que requieren alta velocidad (como la adquisición de imágenes de alta velocidad y la descompresión de imágenes de los procesadores DSP), actualmente dependemos principalmente de disipadores para escribir programas (veo que muchas empresas hacen esto). Cuando se trabaja en una empresa integrada, al mirar manuales que describen principios, muchos de ellos pueden estar descritos en ensamblaje (también me he encontrado con esto). Esto se debe a que muchos diseñadores de hardware solo pueden escribir o prefieren utilizar el ensamblaje para describir. En este momento, debe comprender la programación 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
Excepto WinCE, la mayoría de los sistemas operativos integrados tienen fuertes características de tiempo real, por lo que también pueden denominarse sistemas operativos en tiempo real.
Operación
del sistema. Las personas involucradas en sistemas integrados deben dominar al menos un sistema operativo integrado (por supuesto, dos son mejores), que es la más crítica de todas las tecnologías integradas. En la actualidad, los RTOS más importantes incluyen principalmente:
La primera categoría, 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), el kernel puede ser extremadamente pequeño (se dice que puede ser tan pequeño como 8K) y tiene alta confiabilidad, por lo que en América del Norte, Vxworks ocupa la participación de mercado de sistemas integrados más de la mitad. 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 similares a Linux, principalmente el desarrollo del lenguaje C. Vxworks es ampliamente utilizado por empresas de comunicaciones como Bell-Alcatel, Lucent y Huawei al desarrollar productos. Sin embargo, debido a su alto precio, Vxworks no se puede utilizar en algunas empresas o productos pequeños. Actualmente, muchas empresas están cambiando a Linux integrado (escuché que Huawei está haciendo lo mismo actualmente). Pero pase lo que pase, Vxworks no flaqueará durante mucho tiempo.
Al igual que Vxworks, existen RTOS como pSOS, QNX, Nucleus, etc.
La segunda categoría, sistema operativo Linux integrado: además de ser un sistema operativo de servidor, el futuro más exitoso de Linux está en su aplicación en el campo integrado. Por supuesto, la razón es que es gratuito, de código abierto, admite una gran cantidad de software y atrae a muchos usuarios, por lo que el costo de los productos integrados será bajo. Linux en sí no es un sistema operativo diseñado para sistemas integrados, ni es un 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 el sistema Linux cortado especialmente diseñado para sistemas integrados. El más utilizado es uClinux (sin función MMU), que actualmente representa una gran parte de las aplicaciones y puede. se puede utilizar para correr en ARM7; el otro corre del brazo.
9, normalmente Linux.
Se trasplanta el kernel 2.4.18 y se pueden usar más funciones de Linux (por supuesto, uClinux puede ejecutarse en ARM.
Abrir en 9). Mucha gente predice que Linux integrado representará más del 50% de los 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 simple y de código abierto, lo que es muy adecuado para que los principiantes aprendan los principios de los sistemas operativos en tiempo real. Sin embargo, debido a las funciones limitadas de ucOS/II, rara vez se utiliza en la práctica y no es el foco de la enseñanza en nuestra universidad. Si quieres aprender, debes aprender algo directamente práctico. Por ejemplo, UClinux es muy práctico.
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 su comprensión del sistema operativo. Se puede decir que mata dos pájaros de un tiro. Hasta donde yo sé, tanto Intel como 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 de Linux integrado, es particularmente difícil encontrar personas en los siguientes aspectos: en primer lugar, personas que puedan migrar Linux a nuevas versiones de desarrollo de modelos; en segundo lugar, personas que puedan escribir controladores de Linux y, en tercer lugar, personas que estén familiarizadas con él; con reducción y optimización del kernel de Linux. La serie de cursos de Linux integrado de nuestra universidad es: cursos obligatorios de sistemas operativos para estudiantes universitarios, luego cursos optativos de programación de Linux y, finalmente, cursos optativos de sistemas Linux integrados. En la actualidad, nuestra universidad tiene una gran fortaleza en Linux. El profesor Wei y el profesor Zhang están familiarizados con el desarrollo de Linux, y el profesor Jin y el profesor Tang están familiarizados con la gestión de sistemas Linux.
La tercera categoría, el sistema operativo integrado Windows
CE: Microsoft también ha visto el enorme mercado integrado, y MS siempre será el mejor. Aunque WinCE solo existe desde hace unos años, ya ha ocupado una gran participación de mercado, especialmente en situaciones como PDA, teléfonos móviles, instrumentos de visualización, etc., donde los requisitos de interfaz son altos o la velocidad de desarrollo es rápida. muy popular (se dice que hay una empresa que vende control industrial. La empresa de informática que vende placas se vende tan bien que no hay tiempo para cortar WinCE para los clientes). En la actualidad, WinCE es principalmente la versión 4.2 (.NET) y la plataforma de desarrollo es principalmente WinCE Platform Builder. A veces, algunas aplicaciones de capa superior se desarrollan en el entorno EVC. Debido a que el desarrollo de WinCE es un entorno VC con el que todos están familiarizados, los estudiantes de nuestra universidad que han estudiado cursos de programación de Windows no tendrán demasiadas dificultades. Es por eso que la gente acepta fácilmente WinCE. El entorno de desarrollo es conveniente y rápido y, junto con el sólido soporte técnico de Microsoft, la dificultad de desarrollo de WinCE es mucho menor que la de Linux integrado. WinCE es más adecuado para situaciones de desarrollo que están ansiosas por completar y no quieren correr riesgos con Linux integrado (no es tan fácil encontrar personas con Linux integrado). Al fin y al cabo, las empresas no pueden esforzarse como estudiantes; es más importante garantizar un desarrollo exitoso.
Dependiendo del enfoque, WinCE tiene dos versiones especiales. 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). Ambos pertenecen a WinCE. plataforma. En el mercado de PDA y teléfonos móviles, además de WinCE, existen otros sistemas operativos integrados en PDA muy conocidos, como Palm OS (famoso por su temprana aparición) y Symbian. Pero bajo el fuerte impacto de WinCE, ¿cuánto tiempo pueden tener Palm y Symbian en el futuro? Nuestra universidad puede ser la única universidad en China que ofrece un curso especial sobre "Sistema operativo integrado Windows CE". Las razones principales son las siguientes: Nuestra universidad tiene cursos de programación de Windows, lo cual 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, que también es adecuado para estudiantes que le temen a Linux. Obviamente, LINUX incorporado nunca podrá reemplazar a WinCE, y es difícil decir quién ocupará la mayor parte 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 todo el mundo han estado promoviendo Linux durante mucho tiempo, pero ¿cuántos usuarios puedes ver realmente usando LINUX en sus PC? Según mi observación, LINUX es actualmente el más popular en plataformas integradas, pero en realidad WinCE se usa más. LINUX integrado puede ser que más empresas tengan planificación de productos a largo plazo y consideren reducir costos a largo plazo
2. Plan de soporte de Microsoft Research Asia para los cursos WinCE de nuestro instituto; También esperamos que algunos estudiantes de nuestra universidad puedan practicar a través de entrevistas de Microsoft en el futuro. WinCE y multimedia (como la tecnología MPEG) son una de las muchas áreas de proyectos que la Academia de Ingeniería de Microsoft Asia está realizando actualmente y necesitan personas que dominen WinCE.
Resumen del curso de sistemas operativos embebidos. Si cree que su base es muy profunda, puede estudiar mucho y aprender Linux integrado. Si cree que tiene una buena base de VC y desea aprender rápidamente sobre desarrollo integrado, el curso WinCE de nuestra universidad es la mejor opción.
(3) Otros cursos de software relacionados con el desarrollo embebido.
Si están familiarizados con algunas áreas importantes de las aplicaciones integradas, estas personas son 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 los sistemas integrados. Principalmente, necesita dominar los algoritmos y tecnologías de codificación y decodificación MPEG, como DVD, MP3, PDA, TV de alta definición, decodificador, etc., todos implican decodificación MPEG de alta velocidad. Para ello, nuestro hospital ha concertado una cita con un médico que podrá impartir cursos sobre procesamiento digital de imágenes.
b. Protocolos de comunicación y tecnologías de programación: Esto incluye el protocolo tradicional TCP/IP y los populares protocolos de comunicación inalámbrica. En primer lugar, la mayoría de los dispositivos integrados están 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 primero debe dominar. En segundo lugar, la comunicación inalámbrica es actualmente la tendencia general, por lo que también es importante dominar la programación y los protocolos de comunicación inalámbrica. Los protocolos de comunicación sin nudos incluyen el protocolo de comunicación LAN inalámbrica serie 802.11, Bluetooth, comunicaciones móviles (como GPRS, GSM, CDMA, etc.).
Tecnología de seguridad de la información y redes: como tecnología de cifrado, certificado digital. CA, etc. Nuestra universidad tiene cursos electivos en esta área.
Tecnología D.DSP: DSP es una señal digital.
El procesamiento de señales digitales de proceso se refiere al procesador DSP que implementa algoritmos de procesamiento de señales digitales a través de hardware, como adquisición, compresión, descompresión, comunicación, etc. de datos de alta velocidad. El procesamiento de señales digitales es un curso para especialistas en hardware, como electrónica y comunicaciones, y lo entienden mejor quienes trabajan en software. Actualmente hay escasez de talentos DSP. Si tiene una base en cursos como señales y sistemas, procesamiento de señales digitales, etc., será útil aprender los principios de codificación y decodificación MPEG.
(4) Base de hardware relevante para el desarrollo integrado.
Para los estudiantes que se especializan en ingeniería de software, es importante participar en el desarrollo de software integrado, como circuitos digitales, principios de composición de computadoras, estructura de microprocesadores integrados y otros cursos de hardware. Además, también son importantes los cursos básicos de software como lenguaje ensamblador, C/C, estructuras de datos y algoritmos, 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 de sistema operativo, que será nuestra ventaja.
Algunos de nuestros estudiantes de posgrado se especializan en electrónica y comunicaciones. Tienen una buena base en circuitos analógicos y microcontroladores, y son muy adecuados para aprender sistemas integrados. Embedded se desarrolló a partir de microcontroladores, pero los microcontroladores no tienen sistema operativo. Ahora muchas aplicaciones integradas se están volviendo cada vez más complejas, por lo que es necesario 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, que involucran la tecnología de diseño de circuitos digitales HDL y su tecnología de implementación central FPGA/IP, y esta gente en este campo son actualmente relativamente escasos en el mercado.