Red de conocimiento informático - Conocimiento informático - ¿Cuál es el futuro de los sistemas integrados?

¿Cuál es el futuro de los sistemas integrados?

Hay dos tipos de personas involucradas en el desarrollo integrado: uno 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 más cercano. relacionado con el hardware, el software de nivel más bajo, como BootLoader, el paquete de soporte de placa (como el BIOS de la PC, 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 personas con experiencia 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 (actualmente muchas empresas utilizan hardware. Se proporciona el paquete de diseño). a empresas de hardware especializadas, y 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 conocen las diferencias entre los productos integrados. En gran medida, depende del software, que es lo más "florido" que se puede hacer), por lo que nosotros, los expertos en 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 desempeña un papel cada vez más importante y esta es la tendencia actual.

Los beneficios de participar en el desarrollo de software integrado son:

(1) En la actualidad, la gente en este campo en el país y en el extranjero es muy escasa. Por un lado, esto se debe a que la barrera de entrada a este campo es relativamente alta y requiere no solo la comprensión del software de nivel inferior (como el nivel del sistema operativo, el software a nivel del controlador), sino también requisitos profesionales de software más altos (los sistemas integrados requieren tiempo y eficiencia del espacio en el diseño de software (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, porque este campo es relativamente nuevo; Se está desarrollando demasiado rápido y 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.), por supuesto, es difícil. encontrar personas que dominen estas 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 a ellos, lo que requiere placas de desarrollo integradas y software correspondientes. Además, 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 de 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 aquellas (ARM, RTOS, MPEG, 802.11, etc.) Con el paso del tiempo, habrá cada vez más. Tienen experiencia en estas cosas y venderán 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. Hay un compañero de nuestra clase que tiene una pequeña empresa como esta. No le pregunté qué hace específicamente. Compra miles de microcontroladores de 8 bits cada mes y ahora tiene un automóvil y una casa.

Actualmente también se están desarrollando PDA de pedidos para restaurantes (plataforma WinCE, capaz de conectarse a redes inalámbricas y acceso a Internet. Se dice que las ventas de los PDA de los restaurantes permiten a los clientes pedir platos, mostrando más estilo). 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, empresas fabricantes como Bell-Alcatel, STMicroelectronics, Microtek, Advantech, Huawei, ZTE, Shanghai Radio and Television). La forma habitual de pensar de estas empresas es encontrar gente en carreras más duras, como la electrónica y las comunicaciones.

(3) Hay algunas empresas que 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.

Si los estudiantes estudian sistemas integrados, obviamente deberían centrarse en el software integrado, especialmente en los sistemas operativos integrados, que deberían ser nuestro punto fuerte. Para quienes se dedican al software integrado, la tecnología más importante es obviamente (de hecho, esto es lo que dicen los anuncios de empleo de muchas empresas):

(1) Dominar la estructura y los principios de los microprocesadores integrados convencionales

(1) Dominar la estructura y los principios de los microprocesadores integrados convencionales.

p>

(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 embebido incluyen:

(1) Estructura y aplicación del microprocesador embebido: Este es un curso básico sobre hardware embebido. Hemos dicho que Embedded 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 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 integrados 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, 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 Por lo tanto, 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. 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, el 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 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 que se utilizan actualmente en el campo integrado: uno es un sistema Linux reducido diseñado específicamente para integrado, el más utilizado es uClinux (sin función MMU). una mayor proporción de aplicaciones y puede ejecutarse en ARM7; el otro tipo se ejecuta en ARM 9, generalmente trasplantando el kernel de Linux 2.4.18, lo que permite utilizar más funciones de Linux (por supuesto, uClinux también puede ejecutarse 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 dirigido al enorme mercado integrado. MS siempre será el más poderoso. WinCE ha existido solo durante unos años, pero actualmente ocupa una gran parte. Cuota de mercado, especialmente en situaciones como PDA, teléfonos móviles, instrumentos de visualización, etc. que tienen altos requisitos de interfaz o requieren un desarrollo rápido, WinCE es actualmente muy popular (se dice que una empresa que vende computadoras industriales vendió tan bien sus placas). que ya era demasiado tarde para cortar WinCE para los 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 también 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. nuestra universidad 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 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, 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, existen teléfonos inteligentes WINCE y Kingsoft PowerWord, WORD, EXCEL, REGEDIT, etc. 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 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 una buena base de VC y desea aprender; Incrustado rápida y fácilmente. Desarrollar y estudiar por su cuenta WINCE es una muy buena opción.

(3) Campos relacionados del desarrollo integrado

Si está familiarizado con algunos campos importantes de 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 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 la red: 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 sigue siendo Quien no lo hace. No tiene sus propias ventajas, nuestro Dean Chen 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 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, 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 de 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 Embedded se desarrolló a partir de 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.

Para obtener más información integrada, visite Huaqing Vision