Red de conocimiento informático - Conocimiento sistemático - Encuentre cursos de estudio integrados para estudiantes de posgrado

Encuentre cursos de estudio integrados para estudiantes de posgrado

También estoy estudiando sistemas integrados, originalmente con especialización en automatización. He leído muchas introducciones y la que se reproduce a continuación es muy buena. Básicamente entiendo el contenido.

Ahora estoy aprendiendo por mi cuenta C, estructuras de datos, sistemas operativos y conceptos básicos de software.

Esto puede resultarle útil.

Los cursos más importantes en software integrado incluyen:

(1)

Arquitectura y aplicación de microprocesador integrado: este es un curso básico sobre hardware integrado, mi La universidad utilizó este curso para reemplazar el curso tradicional "Principios e interfaces de microcomputadoras" (actualmente todavía hay una pequeña cantidad de cursos ofrecidos por estudiantes de TI en colegios y universidades). (Actualmente, un pequeño número de estudiantes de TI en universidades nacionales hacen esto porque es difícil encontrar principios e interfaces de microcomputadoras x86 que realmente se utilicen y solo puedan usarse para la enseñanza). Como dijimos, integrado es una tecnología que combina software y hardware. Las personas que crean software integrado deben comprender completamente los principios y las tecnologías de interfaz de los procesadores ARM, incluido el sistema de instrucciones de ensamblaje ARM. Si no comprende los principios del procesador, cómo controlar el funcionamiento del hardware, cómo escribir código óptimo para ahorrar memoria y ejecutarlo a alta velocidad (el diseño del software integrado presta especial atención a la eficiencia del tiempo y el espacio), ¿Cómo escribir un controlador (el controlador se ocupa del hardware)? Muchas empresas que contratan talentos de software integrado requieren estar familiarizadas con los procesadores ARM. 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

(xxx<. /p>

especificación), debe poder comprender instrucciones básicas como la asignación de memoria y el uso de puertos (al igual que el ensamblaje x86); de lo contrario, ¿cómo puede diseñar software? Debe poder leer las instrucciones más básicas para la distribución de la memoria y el uso de puertos (como el ensamblaje x86); de lo contrario, ¿cómo puede diseñar software? Algunos estudiantes sienten que el curso de procesador integrado es aburrido. Esto se debe principalmente a que el curso de hardware es relativamente abstracto. Por ejemplo, después de que nuestro laboratorio integrado esté construido en octubre, sentirá que es tangible cuando realice 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 solo como un lenguaje de programación. Aprender ensamblador consiste principalmente en dominar el principio de funcionamiento del procesador. ¿Cómo puede alguien que no está familiarizado con el lenguaje ensamblador escribir código C óptimo para un procesador? En ciertas partes clave del desarrollo integrado, a veces es necesario escribir programas ensambladores, como cargadores de arranque, etc. (y posiblemente BSP). Especialmente en situaciones donde los requisitos de velocidad son extremadamente altos (como la adquisición de imágenes de alta velocidad y la descompresión de imágenes de los procesadores DSP), actualmente los programas son escritos principalmente por ensambladores (veo que muchas empresas hacen esto). Cuando trabaja en una empresa integrada, puede haber muchas descripciones de ensamblaje para la descripción principal del manual (esto se debe a que muchos diseñadores de hardware solo pueden escribir o les gusta usar descripciones de ensamblaje). Debe comprender la programación de ensamblaje; de ​​lo contrario, es posible que el personal de software y hardware no pueda comunicarse. Muchos trabajos integrados requieren familiaridad con el montaje.

(2) Curso 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 puede ser llamado Sistema operativo en tiempo real

operación

del sistema en tiempo real. Sistema operativo integrado (por supuesto, es mejor dominar dos), que es la más crítica de todas las tecnologías integradas. Los RTOS más importantes actualmente incluyen:

La primera categoría, RTOS clásicos tradicionales: el más importante es el sistema operativo Vxworks y su plataforma de desarrollo Tornado. Debido a que Vxworks apareció antes, tiene un rendimiento en tiempo real muy sólido (se dice que puede responder a solicitudes de eventos externos en 1 ms) y el núcleo se puede hacer muy pequeño (se dice que el mínimo puede ser 8K), y su confiabilidad también es muy alta, por lo que en el mercado norteamericano, Vxworks tiene una enorme presencia. Por tanto, en Norteamérica, Vxworks ocupa más de la mitad del territorio de los sistemas integrados.

Especialmente en sistemas con altos requisitos en tiempo real, como equipos de comunicación, Vxworks es casi el único y Linux es muy similar en muchos conceptos y tecnologías, principalmente en el desarrollo del lenguaje C. Empresas de comunicaciones como Bell Alcatel, Lucent y Huawei utilizan ampliamente Vxworks al desarrollar productos. Sin embargo, debido a que Vxworks es costoso, algunas pequeñas empresas o productos pequeños a menudo no pueden permitírselo. Actualmente, muchas empresas están recurriendo a Linux integrado (escuché que Huawei también está recurriendo a él). Pero pase lo que pase, Vxworks permaneció intocable durante mucho tiempo. Similares a Vxworks son los sistemas operativos en tiempo real pSOS, QNX, Nucleus y otros RTOS, un poco famosos.

La segunda categoría, sistema operativo Linux integrado: como sistema operativo de servidor en el futuro, Linux tendrá más éxito en su aplicación en el campo integrado. La razón es, por supuesto, que es gratuito y de código abierto. Tiene muchos software de soporte y tiene una gran reputación. El costo de los productos integrados será menor. Linux en sí no es un sistema operativo diseñado específicamente para sistemas integrados, no es un microkernel y su rendimiento en tiempo real no es sólido. Hay dos categorías principales de sistemas Linux que se utilizan actualmente en el campo integrado: uno es un sistema Linux que se ha reducido y está diseñado específicamente para uso integrado. El más utilizado es uClinux (sin función MMU), que actualmente representa una gran parte. de aplicaciones. Puede ejecutarse en ARM7; el otro tipo se ejecuta en ARM

9. Generalmente, se trasplanta el kernel de Linux

2.18 y se pueden usar más funciones de Linux. (Por supuesto, uClinux tiene mejores capacidades de ejecución en ARM

9). Muchos predicen que Linux integrado será muy importante y representará más del 50% de los sistemas operativos integrados. La desventaja es que hay muy poca gente familiarizada con Linux, por lo que 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. Sin embargo, debido a que ucOS /II tiene funciones limitadas y rara vez se usa en la práctica, no lo considero como el enfoque de la enseñanza, debería aprender directamente los principios prácticos, como uClinux. práctico. Además, estar familiarizado con el desarrollo de Linux no solo es útil en el campo integrado, sino que también es muy útil para desarrollar aplicaciones de Linux y profundizar la comprensión del sistema operativo. Se puede decir que tiene múltiples propósitos. Hasta donde yo sé, Intel y Philips se dedican actualmente al desarrollo integrado de ARM LINUX, mientras que Fujitsu 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: primero, personas que puedan migrar Linux a la versión de desarrollo de nuevos modelos; segundo, personas que puedan escribir controladores de Linux; Están familiarizados con la gente de restauración y optimización del kernel de Linux. La serie de cursos de nuestra universidad en el campo de Linux integrado es: primero el curso obligatorio de sistema operativo para estudiantes universitarios, luego el curso optativo de programación de Linux y finalmente el curso optativo de sistema Linux integrado. En la actualidad, nuestra universidad es muy sólida en Linux. Los profesores Wei y Zhang están familiarizados con el desarrollo de Linux, y los profesores Jin y Tang están familiarizados con la gestión de sistemas Linux.

La tercera categoría, el sistema operativo integrado Windows

CE: Microsoft también se ha interesado por el enorme mercado integrado que MS siempre ha sido el más poderoso al que ha salido WinCE. En los últimos años, ha ocupado una gran cuota de mercado, especialmente en situaciones como PDA, teléfonos móviles e instrumentos de visualización que tienen altos requisitos de interfaz o requieren un rápido desarrollo. WinCE se ha vuelto muy popular (se dice que cierta empresa vendió tan bien placas de computadora industriales que los clientes no tuvieron tiempo de cortar WinCE).

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 también se utiliza para desarrollar algunas aplicaciones de capa superior, ya que quienes desarrollan WinCE son personas que están familiarizadas con el entorno VC. , desarrollar WinCE es una buena idea, por lo que no podemos utilizar WinCE como herramienta para desarrollar aplicaciones. Debido a que WinCE se desarrolla en un entorno VC familiar, nuestros estudiantes que han estudiado cursos de programación de Windows no tendrán demasiadas dificultades. Esta es también la razón por la que la gente acepta fácilmente WinCE. El entorno de desarrollo es conveniente y rápido, y Microsoft tiene una sólida capacidad. soporte técnico WinCE La dificultad de desarrollo es mucho menor que la de Linux integrado. WinCE es más adecuado para situaciones en las que tiene prisa por completar el proyecto y no quiere correr el riesgo del desarrollo integrado de Linux. WinCE es el más adecuado (no es tan fácil encontrar personas con Linux integrado, después de todo, las empresas no pueden tener una actitud de prueba como lo hacen los estudiantes. Es más importante garantizar un desarrollo exitoso). Dependiendo del enfoque, WinCE también 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). Ambas versiones también pertenecen. a la plataforma WinCE. En el mercado de PDA y teléfonos móviles, además de WinCE, también existen los famosos sistemas operativos integrados en PDA Palm OS (muy famoso porque apareció muy temprano), Symbian, etc. Sin embargo, bajo el fuerte impacto de WinCE, Palm y Symbian ¿Qué tan largo puede ser el futuro? Nuestra universidad puede ser la única institución entre las facultades y universidades del país que ofrece específicamente el curso "Sistema operativo integrado Windows CE". Esto se debe principalmente a las siguientes razones: nuestra universidad tiene cursos de programación de Windows primero y los estudiantes aprenden VC después. Lo terminan. WinCE es muy conveniente y natural. Al aprender WinCE, los estudiantes también pueden comprender el proceso general de desarrollo del software integrado, que también es muy adecuado para los estudiantes que le temen a Linux. Obviamente, Linux integrado nunca podrá reemplazar a WinCE y es difícil decir quién tendrá la mayor parte en el futuro. Después de todo, muchas personas están más dispuestas a aceptar la plataforma MS. Por ejemplo, los gobiernos de varios países han estado promoviendo LINUX. durante mucho tiempo, pero puedes ver ¿Hay algunos usuarios 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. LINUX integrado puede tratarse más de empresas con planes de productos a largo plazo, con el fin de reducir costos y consideraciones a largo plazo;

En segundo lugar, el plan de soporte del Instituto de Investigación de Microsoft Asia para nuestros cursos WinCE, también esperamos que en en el futuro lo haré La escuela puede hacer que los estudiantes pasen la entrevista para realizar prácticas en Microsoft. WinCE y multimedia (como la tecnología MPEG) son actualmente un área de proyecto en la que Microsoft Asia Engineering Academy está haciendo mucho. WinCE y multimedia (como la tecnología MPEG) son un área de proyecto en la que Microsoft Asia Engineering Academy está haciendo mucho. Necesitan talentos que dominen WinCE.

Para resumir los cursos sobre sistemas operativos integrados, si cree que su base es relativamente profunda y puede profundizar en ella, puede aprender Linux integrado si cree que su base de VC es relativamente buena y desea aprender; Si desea desarrollar Embedded en poco tiempo, nuestro curso WinCE es la mejor opción.

(3) Desarrollo integrado y otros cursos de software relacionados

Si las personas integradas están familiarizadas con algunos campos importantes de las aplicaciones integradas, dichas personas serán más populares entre las empresas. Los campos relacionados incluyen principalmente:

1. Tecnología de compresión de imágenes digitales: este es uno de los campos de aplicaciones integradas más importantes y populares. Principalmente debe dominar los algoritmos y tecnologías de codificación y decodificación de MPEG, como DVD, MP3. PDA, televisores de alta precisión, decodificadores, etc. implican problemas de decodificación de alta velocidad MPEG. Para ello hemos contratado a un doctor que podrá impartir cursos de procesamiento de imágenes digitales.

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 deben estar conectados a una LAN o Internet, por lo que primero debemos dominar el protocolo TCP/IP y su programación. Esta es la tecnología básica que primero debemos dominar. En segundo lugar, la comunicación inalámbrica es la actual. tendencia de desarrollo, por lo que dominar la comunicación inalámbrica y la programación también son muy importantes. Los protocolos de comunicación sin nudos incluyen la serie 802.11 de protocolos de comunicación LAN inalámbrica, Bluetooth y comunicaciones móviles (como GPRS, GSM, CDMA, etc.).

3. Tecnología de seguridad de la información y la red: como tecnología de cifrado, certificado digital CA. Nuestra universidad tiene cursos electivos en esta área.

Tecnología DSP: DSP es señal digital

El procesamiento de señales digitales se refiere al procesador DSP que implementa algoritmos de procesamiento de señales digitales a través del hardware, como adquisición, compresión y descompresión de datos de alta velocidad. , y comunicación espera. El procesamiento de señales digitales es un curso obligatorio para estudiantes de hardware, como electrónica y comunicaciones. Para quienes trabajan en software, es mejor si pueden entenderlo. Actualmente, existe una enorme escasez de talento en DSP. Si tiene las bases de señales y sistemas, procesamiento de señales digitales y otros cursos, será de gran ayuda aprender los principios de codificación y decodificación MPEG.

(4) Base de hardware relevante para el desarrollo integrado

Para estudiantes que se especializan en ingeniería de software y participan en el desarrollo de software integrado, como circuitos digitales, principios de composición informática y cursos de hardware de microprocesamiento integrado. como la arquitectura de la computadora son más importantes. Además, también son muy importantes los cursos básicos de software como lenguaje ensamblador, C/C, estructuras de datos y algoritmos, especialmente sistemas operativos. Nuestro principal objetivo es poder entender 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á nuestro punto fuerte.

Algunos de nuestros estudiantes de posgrado provienen de carreras de electrónica y comunicaciones y tienen una buena base en circuitos analógicos y microcontroladores, lo cual es muy adecuado para el aprendizaje integrado. Embedded se desarrolló a partir de microcontroladores, pero los microcontroladores no tienen sistemas operativos. 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, algunas empresas ahora están implementando algunos algoritmos DSP, como los algoritmos de compresión y descompresión MPEG, en algunas situaciones en las que los requisitos de velocidad son relativamente altos. Esto involucra tecnología de diseño de circuitos digitales HDL. Su tecnología de implementación central FPGA/IP también escasea en el mercado.