Áreas de investigación de la ingeniería de sistemas embebidos
La ingeniería de sistemas integrados consiste principalmente en completar el diseño de todo el sistema integrado, como la ingeniería de sistemas de navegación del vehículo, es completar el diseño del circuito y el sistema operativo de toda la máquina, que pertenece a la tecnología integrada y. aplicaciones.
Los sistemas integrados son sin duda uno de los campos de aplicaciones de TI más populares y prometedores, como los teléfonos móviles, PDA, decodificadores, televisores de alta definición (HDTV), enrutadores, electrónica automotriz, equipos médicos. Los instrumentos, equipos aeroespaciales, etc. son sistemas integrados típicos. En la actualidad, la mayor limitación para el desarrollo de sistemas integrados en mi país es la escasez de talentos. Esto se debe principalmente a dos razones: primero, está relacionado con el entorno profesional en el que se basa la educación informática en nuestras universidades. en software de aplicación, y rara vez implica cursos de software integrado, por lo que es difícil para las empresas reclutar talentos prácticos que puedan invertir inmediatamente en el desarrollo de software integrado; en segundo lugar, el umbral para el campo integrado es relativamente alto y los requisitos de conocimiento son relativamente completos; y requiere un determinado entorno experimental (placas de desarrollo y software de herramientas) y personas con experiencia que brinden orientación. Embedded se desarrolla principalmente en base a C bajo el sistema operativo LINUX y se lleva a cabo bajo la plataforma de desarrollo ARM9 (actualmente la empresa más popular) y, por supuesto, el sistema operativo WINCE.
Así que los lenguajes de programación más utilizados en sistemas embebidos son el lenguaje C y el lenguaje ensamblador (utilizado principalmente para el desarrollo de microcontroladores).
Sistema Embebido (Sistema Embebido), la definición de IEEE de sistema embebido es: Un sistema Embebido son los dispositivos utilizados para controlar, monitorear o ayudar a la operación de equipos, maquinaria o plantas. Es "un". Dispositivo utilizado para controlar, monitorear o ayudar en la operación de maquinaria y equipo".
En el campo de los sistemas integrados en China, el concepto más reconocido de sistemas integrados es: los sistemas integrados se centran en aplicaciones y se basan en tecnología informática, y el software y el hardware se pueden adaptar para adaptarse a las funciones de el sistema de aplicación. , un sistema informático especial con estrictos requisitos de confiabilidad, costo, volumen y consumo de energía. Generalmente consta de cuatro partes: un microprocesador integrado, dispositivos de hardware periféricos, un sistema operativo integrado y aplicaciones de usuario. Se utiliza para controlar, monitorear o administrar otros dispositivos.
Los sistemas integrados generalmente se refieren a sistemas que no son de PC, que incluyen hardware y software. El hardware incluye procesadores/microprocesadores, memoria y dispositivos periféricos, puertos de E/S, controladores de gráficos, etc. La parte de software incluye el software del sistema operativo (OS) (que requiere operación en tiempo real y multitarea) y programación de aplicaciones. A veces los diseñadores combinan los dos tipos de software. Las aplicaciones controlan el funcionamiento y el comportamiento del sistema; el sistema operativo controla la interacción de la programación de aplicaciones con el hardware.
El núcleo del sistema integrado es el microprocesador integrado. Los microprocesadores integrados generalmente tienen las siguientes cuatro características:
1) Tiene un fuerte soporte para multitarea en tiempo real, puede completar tareas múltiples y tiene un tiempo de respuesta de interrupción corto, lo que hace que el código interno y el núcleo se ejecuten en tiempo real; el tiempo se reduce al mínimo.
2) Tiene una poderosa función de protección del área de almacenamiento. Esto se debe a que la estructura de software del sistema integrado se ha modularizado y, para evitar interacciones cruzadas erróneas entre los módulos de software, es necesario diseñar una potente función de protección del área de almacenamiento, que también favorezca el diagnóstico del software.
3) Estructura de procesador escalable para desarrollar rápidamente el microprocesador integrado de mayor rendimiento que cumpla con los requisitos de la aplicación.
4) Los microprocesadores integrados deben tener un consumo de energía muy bajo, especialmente para los sistemas integrados que funcionan con baterías utilizados en equipos informáticos y de comunicación portátiles e inalámbricos, si el consumo de energía es de solo mW o incluso μW.
En comparación con los sistemas informáticos de propósito general, los sistemas informáticos integrados tienen las siguientes características:
1. Los sistemas integrados suelen estar orientados a aplicaciones específicas. La mayor diferencia entre las CPU integradas y las generales. El propósito es que las CPU integradas funcionan principalmente en sistemas diseñados para grupos de usuarios específicos. Generalmente tienen las características de bajo consumo de energía, tamaño pequeño y alta integración. Pueden integrar muchas tareas realizadas por placas en CPU generales en el chip. Favorece la miniaturización del diseño de sistemas integrados, una movilidad enormemente mejorada y un acoplamiento cada vez más estrecho con la red.
2. Los sistemas integrados son el producto de la combinación de tecnología informática avanzada, tecnología de semiconductores y tecnología electrónica con aplicaciones específicas en diversas industrias. Esto determina que debe ser un sistema de integración de conocimientos intensivo en tecnología, intensivo en capital, altamente descentralizado y constantemente innovador.
3. Tanto el hardware como el software del sistema integrado deben diseñarse de manera eficiente, adaptarse a las necesidades, eliminar redundancias y esforzarse por lograr un mayor rendimiento en la misma área del chip de silicio, para que puedan ser optimizado en aplicaciones específicas. La selección del procesador es más competitiva.
4. Los sistemas integrados se combinan orgánicamente con aplicaciones específicas y sus actualizaciones se sincronizan con productos específicos. Por lo tanto, una vez que los productos de sistemas integrados ingresan al mercado, tienen un ciclo de vida largo.
5. Para mejorar la velocidad de ejecución y la confiabilidad del sistema, el software en los sistemas integrados generalmente se solidifica en el chip de memoria o en el propio microcontrolador, en lugar de almacenarse en un soporte como un disco.
6. El sistema integrado en sí no tiene la capacidad de iniciar el desarrollo. Incluso después de completar el diseño, los usuarios generalmente no pueden modificar las funciones del programa. Se requiere un conjunto de herramientas y entornos de desarrollo.
Los sistemas integrados generalmente se refieren a sistemas, dispositivos o equipos que no son PC y que tienen funciones informáticas pero que no se denominan computadoras. Es un sistema informático dedicado, centrado en aplicaciones, con software y hardware escalable que se adapta a los requisitos completos y estrictos de los sistemas de aplicaciones en cuanto a funciones, confiabilidad, costo, volumen, consumo de energía, etc. En pocas palabras, un sistema integrado integra software y hardware de aplicaciones del sistema, similar a la forma en que funciona el BIOS en una PC. Tiene las características de código de software pequeño, alto grado de automatización y velocidad de respuesta rápida. Es especialmente adecuado para sistemas que lo requieren. en tiempo real y multitarea. Los sistemas integrados se componen principalmente de procesadores integrados, hardware de soporte relacionado, sistemas operativos integrados y sistemas de software de aplicaciones. Son "dispositivos" que pueden funcionar de forma independiente.
Los sistemas integrados incluyen casi todos los equipos eléctricos de la vida, como PDA portátiles, dispositivos informáticos móviles, descodificadores de TV, Internet móvil, televisión digital, multimedia, automóviles, hornos microondas, cámaras digitales y domótica. sistemas, ascensores, aires acondicionados, sistemas de seguridad, máquinas expendedoras, teléfonos móviles, equipos de electrónica de consumo, instrumentos de automatización industrial e instrumentos médicos, etc.
La parte de hardware del sistema integrado, incluido el procesador/microprocesador, la memoria y los dispositivos periféricos, los puertos de E/S, el controlador de gráficos, etc. Los sistemas integrados se diferencian de los sistemas de procesamiento informático generales en que no tienen medios de almacenamiento de gran capacidad como los discos duros, sino que utilizan principalmente EPROM, EEPROM o memoria flash como medios de almacenamiento. La parte de software incluye software del sistema operativo (que requiere operaciones multitarea en tiempo real) y programación de aplicaciones.
Los sistemas integrados son sin duda uno de los campos de aplicación de TI más populares y prometedores en la actualidad. Los sistemas integrados se utilizan en algunos dispositivos dedicados específicos. Por lo general, estos dispositivos tienen recursos de hardware muy limitados (como procesadores, memorias, etc.), son muy sensibles a los costos y, a veces, tienen altos requisitos de respuesta en tiempo real. Especialmente a medida que los electrodomésticos se vuelven más inteligentes, la tecnología integrada se vuelve aún más importante. Como juegos móviles, PDA, diccionarios electrónicos, videoteléfonos, reproductores de VCD/DVD/MP3, cámaras digitales (DC), videocámaras digitales (DV), U-Disk, decodificadores (Set Top Box), televisores de alta definición ( HDTV), consolas de juegos, juguetes inteligentes, interruptores, enrutadores, equipos o instrumentos de control numérico, electrónica automotriz, sistemas de control de electrodomésticos, instrumentos médicos, equipos aeroespaciales, etc., son todos sistemas integrados típicos.
Los sistemas integrados son una combinación de software y hardware. Hay dos tipos de personas involucradas en el desarrollo integrado.
El primer tipo son personas con experiencia en especialidades de hardware, como ingeniería electrónica e ingeniería de comunicaciones. Se dedican principalmente al diseño de hardware y, a veces, desarrollan algún software de nivel más bajo que está más estrechamente relacionado con el hardware, como. como BootLoader y Board Support Package (como el BIOS de una PC, que impulsa el hardware hacia abajo y admite el sistema operativo hacia arriba), los controladores de hardware más básicos, etc. Su ventaja es que tienen muy claro los principios del hardware. Su desventaja es que son mejores para definir varias interfaces de hardware, pero a menudo no pueden dominar sistemas de software complejos (como principios de sistemas operativos integrados y software de aplicaciones complejos, etc.). .
El otro tipo son las personas con especialización en software e informática, que se dedican principalmente al desarrollo de sistemas operativos integrados y software de aplicaciones. Si aquellos de nosotros que estudiamos software tenemos una buena comprensión de los principios e interfaces del hardware, definitivamente podemos escribir BSP y controladores de hardware. Una vez diseñado el hardware integrado, el software realiza varias funciones. El valor agregado del dispositivo integrado depende en gran medida del software integrado, que representa el trabajo principal del sistema integrado (muchas empresas diseñan hardware subcontratado a empresas de hardware especializadas). El hardware un poco más complejo se entrega a empresas taiwanesas o extranjeras para su diseño. Las capacidades de diseño de hardware nacional son muy débiles. Muchas empresas integradas solo son responsables del desarrollo del software por sí mismas, porque todas las empresas saben que los productos integrados son muy diferentes. El software es lo más "florido" que se puede hacer), por lo que nosotros, la gente del software, no tenemos que preocuparnos por nuestra utilidad en el mercado integrado. Cuanto más inteligente es el dispositivo, más complejo es el sistema, el software juega un papel clave. esto es una tendencia.
Los beneficios de participar en el desarrollo de software integrado son:
(1) Las personas en este campo son escasas en el país y en el extranjero. Por un lado, esto se debe a que la barrera de entrada a este campo es relativamente alta. No solo es necesario comprender el software de nivel inferior (como el nivel de sistema operativo y el software de nivel de controlador), sino que también tiene requisitos de software más altos. profesionalismo (la eficiencia de tiempo y espacio del diseño de software para sistemas integrados (requisitos más altos) y debe comprender el principio de funcionamiento del hardware, por lo que es difícil para el personal de TI no profesional ingresar a este campo; por otro lado, porque este campo es relativamente nuevo y se desarrolla demasiado rápido, muchas tecnologías de software y hardware no existen desde hace mucho tiempo o están surgiendo (como procesadores ARM, sistemas operativos integrados, tecnología MPEG, protocolos de comunicación inalámbrica, etc.), y las personas que los dominan Sin duda, hay demanda de nuevas tecnologías. Los talentos incorporados son escasos y su valor es naturalmente alto. Cuanto más experiencia tengan, mayor será el precio. De hecho, los talentos integrados son escasos. La razón fundamental puede ser que la mayoría de las personas tienen acceso incondicional, lo que requiere placas de desarrollo y software integrados correspondientes, y se necesita gente con experiencia para guiar el proceso de desarrollo.
(2) A diferencia del software de aplicación, como la informática empresarial, la intensidad del trabajo de los talentos en el campo integrado suele ser menor (pero los ingresos no son bajos). Las empresas de TI que se dedican al software de aplicaciones empresariales tienen que terminar el sistema para un usuario y trabajar en el siguiente. Además, las necesidades y el tiempo de finalización de cada usuario deben cambiarse de acuerdo con los requisitos del cliente. trabajar. En comparación, las empresas que se dedican a sistemas integrados tienen sus propios planes de productos y actúan a su propio ritmo. Los productos desarrollados suelen ser universales y no se modificarán para diferentes clientes. Después de desarrollar un modelo de producto, suele haber un largo período de tiempo libre (o simplemente algunas reparaciones menores del software) y tiempo para recargar energías y descansar. Además, el alcance de trabajo de todos los involucrados en el software integrado es relativamente limitado, y el alcance de las tecnologías profesionales involucradas son solo esas (ARM, RTOS, MPEG, 802.11, etc.), con el tiempo, más experiencia tienen en estas. Cosas, más venden sus antiguas habilidades. Unas pocas palabras de orientación son suficientes para que aquellos que son nuevos en el taoísmo reflexionen durante medio año. Si se dedica a software de aplicación, es posible que el próximo cliente tenga que cambiar a una plataforma de desarrollo de software completamente diferente, lo que será difícil.
(3) Si desea iniciar un negocio y desarrollar sus propios productos algún día, integrarlo es una buena idea. No es tan fácil de piratear como el software de aplicación. Una empresa llamada Venus de la Facultad de Ingeniería Civil ha desarrollado una PDA portátil llamada "Engineering e" (hay un anuncio en la entrada del Campus Sur que los técnicos de construcción pueden utilizar esta PDA para realizar estimaciones presupuestarias de ingeniería civil y otros trabajos de ingeniería civil). Cálculos en el acto. Se dice que es muy bueno. Conozco a un profesor universitario que desarrolló una PDA de pedidos para restaurantes (plataforma WinCE, capaz de conexión en red inalámbrica y acceso a Internet). Según él, las ventas son buenas. La PDA de pedidos en restaurantes permite a los clientes pedir comida, lo que demuestra más clase. Recuerdo que un grupo de estudiantes de la Clase 2 + 2 del Nivel 00 usó VC ++ para diseñar un potente sistema de pedidos como proyecto de curso cuando estaban tomando cursos de programación de Windows. En ese momento, realmente quería sugerir que hicieran este software. una PDA Supongo que sería un poco confuso Ventas (Macdonald en la Plaza Sur de la estación de tren de Shanghai usa una PDA muy hermosa para pedir comida para los usuarios, que parece decente). El diseño de hardware de estas PDA suele ser personalizado por otras empresas (esto se denomina "OEM"). Todos son hardware de uso general. Nosotros solo diseñamos el software y se convierte en nuestro propio producto.
Las desventajas de participar en el desarrollo de software integrado son:
(1) El punto de partida para la entrada es relativamente alto y las tecnologías utilizadas suelen ser difíciles si la base del software y el hardware. No es bueno, especialmente si no tiene un conocimiento profundo del software a nivel de sistema operativo, es posible que no sea adecuado para esta carrera.
(2) El número de empresas en esta área es mucho menor que el de empresas de informática empresarial. En particular, hay una gran cantidad de pequeñas empresas que se dedican a la integración (las pequeñas empresas tienen que iniciar sus propios productos) y hay menos empresas grandes conocidas (las grandes empresas que se dedican a la integración incluyen principalmente Intel, Motorola, TI, Philip , Samsung, Sony, Futjtum, Bell-Alcatel, STMicroelectronics, Microtek, Advantech, Huawei, ZTE, Shanghai Radio and Television y otras empresas fabricantes). La forma habitual de pensar de estas empresas es encontrar gente en carreras más duras, como la electrónica y las comunicaciones.
(3) Algunas empresas a menudo requieren que personas con una maestría o superior realicen trabajos integrados, principalmente debido a la dificultad del trabajo integrado. Pero la mayoría de las empresas no exigen esto, siempre y cuando tengas experiencia.
Para quienes se dedican al software integrado, las cosas más importantes son:
(1) Dominar la estructura y los principios de los microprocesadores integrados convencionales
(2) Debe dominar un sistema operativo integrado
(3) Debe estar familiarizado con el proceso de desarrollo de software integrado y haber realizado al menos un proyecto de software integrado.
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. Hemos dicho que integrado es una tecnología que combina software y hardware. Las personas que se dedican al 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 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 familiarizadas 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 (especificación xxx) para el dispositivo. Debe comprender 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 los procesadores DSP), se basa principalmente en la escritura en ensamblaje (he visto a muchas empresas hacer esto). Cuando trabaja en una empresa integrada, cuando mira los manuales que describen principios, muchos de ellos pueden estar descritos en ensamblaje (me he encontrado con esto porque muchos diseñadores de hardware solo pueden escribir o les gusta usar descripciones de ensamblaje). debe comprender al ensamblador; de lo contrario, es posible que la gente 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 pobre, la mayoría de los sistemas operativos integrados tienen un rendimiento en tiempo real sólido, por lo que también pueden ser Llamado 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. En la actualidad, los RTOS más importantes incluyen principalmente:
El primer tipo de RTOS clásico tradicional: el más importante es el sistema operativo Vxworks y su plataforma de desarrollo Tornado. Vxworks apareció antes, tiene un fuerte rendimiento en tiempo real (se dice que puede responder a solicitudes de eventos externos en 1 ms), tiene un núcleo extremadamente pequeño (se dice que es tan pequeño como 8K) y, por lo tanto, tiene una alta confiabilidad. En América del Norte, Vxworks ocupa la cuota de mercado de los sistemas integrados. La mayoría de ellos son montañas. 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. Muchas empresas están cambiando a Linux integrado (escuché que Huawei está haciendo 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.
El segundo tipo de 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 y abierto. fuente, admite una gran cantidad de software y es popular. Hay muchos fanáticos, por lo que el costo de los productos integrados 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 utilizados 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 representa una gran parte de las aplicaciones y se puede encontrar. en 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 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, 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 los principios. de los sistemas operativos en tiempo real, sin embargo, porque ucOS/II Las funciones son limitadas y rara vez se utilizan en aplicaciones prácticas. Si quieres aprender, debes aprender las directas y prácticas. 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 la comprensión de los sistemas operativos. Hasta donde yo sé, Intel y Philip se dedican al desarrollo integrado ARM+LINUX, mientras que Fujitum se dedica al desarrollo de Linux en sus propios procesadores. 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 de Linux; en tercer lugar, personas que estén familiarizadas con él; Gente de reducción y optimización del kernel de Linux. 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 lleva pocos años en el mercado, pero ya ha ocupado una gran cuota de mercado, especialmente en los PDA. , WinCE se ha vuelto muy popular en situaciones como teléfonos móviles e instrumentos de visualización que requieren altos requisitos de interfaz o requieren un desarrollo rápido (se dice que una empresa que vende computadoras industriales vendió sus placas tan bien que no tuvo tiempo de cortar WinCE para los clientes) . Win CE 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. Esta es la razón por la que la gente acepta fácilmente WinCE. La razón es que 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 el de 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? Obviamente, Linux incorporado 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, en la plataforma integrada, LINUX es el más ruidoso, pero en realidad WinCE se usa más. Linux integrado puede ser más una empresa con planes de productos a largo plazo, que hacen 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 Microsoft Asia Engineering Academy ha hecho más y tienen una gran necesidad de personas que dominen WinCE. 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.
(3) Otros cursos de software relacionados para el desarrollo integrado
Si está familiarizado con algunos campos importantes de las aplicaciones integradas, estas 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 integración. Es principalmente necesario dominar los algoritmos y tecnologías de codificación y decodificación de MPEG, como. DVD, MP3, PDA, televisores de alta definición, decodificadores, etc. implican problemas de decodificación de alta velocidad MPEG.
B. Protocolos de comunicación y tecnología 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 debe dominar el protocolo TCP/IP y su programación. Esta es la tecnología básica que debe dominarse primero. tendencia importante en Internet, por lo que dominar el protocolo de comunicación inalámbrica y la programación también es muy importante. Los protocolos de comunicación sin nudos 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 la red: como tecnología de cifrado, certificado digital CA, etc.
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 de datos de alta velocidad, compresión, descompresión, comunicación, etc. 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) Base de hardware relevante para el desarrollo integrado
Para estudiantes de ingeniería de software que participan en el desarrollo de software integrado, como circuitos digitales, principios de composición de computadoras y estructuras de microprocesadores integrados, los cursos de hardware son más importante. 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. El propio sistema integrado ha evolucionado a partir de los microcontroladores, pero los microcontroladores no vienen con un sistema operativo, y muchas aplicaciones integradas se están volviendo cada vez más complejas, hasta el punto de que es necesario introducir sistemas operativos integrados. Además, para lograr una mayor velocidad de procesamiento de señales, en algunas situaciones con requisitos de mayor velocidad, muchas empresas implementan algunos algoritmos DSP, como los algoritmos de compresión y descompresión MPEG, en el hardware, lo que implica el diseño de circuitos digitales HDL y su FPGA/. Tecnología de implementación central de IP, también hay escasez de personas en este campo en el mercado. Además, hay una gran escasez de personas que puedan escribir programas de controladores (los controladores también pueden clasificarse como integrados), incluido el entorno de desarrollo DDK y los controladores WDM en el escritorio de Windows. La empresa lanza nuevos productos a cada momento y para cada nuevo producto que vaya a utilizar el sistema operativo se debe escribir un controlador. Escribir controladores requiere dominar los principios de funcionamiento internos del sistema operativo (como Windows o Linux) y también implica una pequeña cantidad de conocimiento del hardware, lo cual es difícil, por lo que es difícil encontrar personas en este campo.
Los estudiantes que quieran convertirse en maestros también pueden obtener avances desde el punto de vista del conductor.
Puedo hablar de mi propia experiencia. Antes de 2011, escribí brevemente controladores WinCE en una empresa (fue precisamente porque sabía que había escasez de gente en esta área que decidí hacerlo), aunque nunca lo había hecho antes. Aprobé el programa de conductores. Cuando solicité ese puesto, tenía razón porque era muy difícil para la empresa reclutar personas en este campo, como no pude encontrar a nadie, alguien tenía que hacer el trabajo de conductor. Fue una gran oportunidad para entrar en este campo. Durante la entrevista, hablé de cuántos miles de líneas de programas ensambladores he escrito y de lo claro que tengo acerca de los principios de funcionamiento de las computadoras. Mi currículum también decía que leí dos libros originales en inglés sobre el modelo de controladores de Windows y escribí varios pequeños. Programa de práctica para conductores (de hecho, no se ha escrito en absoluto. Nuestros compañeros de clase no deben ser como yo en el futuro. Si practican algunas habilidades excelentes desde el principio, no se verán reducidos a mi situación y no tendrán). "engañar" a la empresa como a mí. Este es el típico material didáctico negativo), pero se aprobó todo (por supuesto, lo más importante es que la prueba escrita y las preguntas de la entrevista fueron aceptables), lo que sólo demuestra lo difícil que es. para encontrar gente en este campo. La empresa no esperaba encontrar a nadie que hubiera trabajado como conductor, por lo que sería bueno encontrar a alguien con experiencia relevante. Después de hacerlo, descubrí que no era tan difícil. De hecho, trabajar con los controladores es muy cómodo. Después de completar una versión, estará inactivo por un tiempo. Solo cuando se lancen los nuevos chips de la compañía o aparezca un nuevo sistema operativo será necesario desarrollar una nueva versión del controlador. En ese momento, habrá casi un He estado esperando que se lance la versión beta de WinCE .NET durante 3 meses y me estoy preparando para actualizar el controlador a CE .NET. Estoy ocupado trabajando en el Instituto de Software todo el día. mucho tiempo, y extraño infinitamente ese tiempo de ocio. Por coincidencia, accidentalmente volví a experimentar el encanto del arraigo. Mi teléfono móvil que he usado durante 3 años finalmente deja de funcionar. En esta actualización, además de las funciones comunes de los teléfonos móviles, lo mejor es tener la función MP3 (muchos programas para escuchar inglés tienen archivos MP3), lo mejor es tener un diccionario inglés-chino y lo mejor es poder leer documentos WORD. Finalmente, elegí el teléfono móvil DOPOD 515 más barato que cumplía con las condiciones anteriores (me costó 2.2K, pero pensándolo bien, también cuenta como mi soporte para el negocio integrado, así que lo pensé), que puede considerarse como el teléfono inteligente de gama más baja. Después de volver a comprobarlo, la información del teléfono móvil muestra que el procesador de este teléfono móvil es ARM y su sistema operativo es MS Smartphone (es decir, WinCE .NET 4.2). Tal coincidencia se puede utilizar como caso de producto para aprender cursos integrados (espera). para que comience nuestro curso de WinCE) Después de que lo haga funcionar, espero obtener algunos teléfonos inteligentes del Instituto de Investigación de Microsoft para su desarrollo). Los teléfonos móviles con sistema operativo son realmente increíbles. Kingsoft PowerWord, WORD, EXCEL, REGEDIT, etc. en realidad tienen versiones para teléfonos inteligentes que se pueden convertir automáticamente al formato de teléfono inteligente en la PC cuando se descargan, lo cual es realmente genial. Puede utilizar completamente Windows CE para desarrollar algunos programas necesarios y descargarlos a su teléfono móvil. Los teléfonos inteligentes PDA están en el mercado y MS siempre está ganando dinero. Pero descubrí que hay teléfonos móviles ARM + LINUX nacionales en el mercado y el precio es de solo 1,2K. Hay demasiadas discusiones sobre sistemas integrados que se pueden buscar en GOOGLE. Hay muchas personas experimentadas que hablan sobre sus experiencias. Si se une a los foros, sentirá de primera mano el auge del aprendizaje integrado. Elija ARM+WinCE, ARM+LINUX o ARM+VXWORKS. Todos los que participan en el desarrollo integrado tienen una opción, y todos los caminos conducen a Roma.