Red de conocimiento informático - Conocimiento informático - ¿Qué está integrado exactamente?

¿Qué está integrado exactamente?

Los sistemas integrados son sin duda una de las aplicaciones de TI más populares y prometedoras. Los sistemas integrados se utilizan en algunos dispositivos dedicados específicos. Por lo general, estos dispositivos tienen recursos de hardware muy limitados (como procesadores, memoria, etc.), son muy sensibles a los costos y, a veces, tienen requisitos muy altos 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 nuestros teléfonos móviles habituales, PDA, diccionarios electrónicos, videoteléfonos, reproductores de VCD/DVD/MP3, cámaras digitales (DC), videocámaras digitales (DV), discos U, decodificadores (Set Top Box), televisores de alta definición. (HDTV), consolas de juegos, juguetes inteligentes, interruptores, enrutadores, equipos o instrumentos CNC, electrónica automotriz, sistemas de control de electrodomésticos, instrumentos médicos, juguetes inteligentes, etc. Los equipos electrónicos, los sistemas de control de electrodomésticos, los instrumentos médicos, los equipos aeroespaciales, etc. son todos sistemas integrados típicos.

Los sistemas integrados son una combinación de hardware y software, y son desarrollados por dos tipos de personas.

El primer tipo proviene de ingeniería electrónica, ingeniería de comunicaciones y otras especialidades de hardware. 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 BootLoader y. El paquete Board Support

(como el BIOS de PC, que dirige el hardware hacia abajo y admite sistemas operativos hacia abajo) tiene la ventaja de ser muy claro acerca de los principios del hardware. La desventaja es que son buenos para definir varias interfaces de hardware, pero. a menudo no pueden manejar sistemas de software complejos (por ejemplo, principios de sistemas operativos integrados y software de aplicaciones complejos, etc.).

El otro tipo son las especializaciones en software, con especialización en ciencias de la computación, que se dedican principalmente al desarrollo de sistemas operativos integrados y software de aplicaciones. Si aquellos de nosotros que estudiamos software comprendemos mejor los principios e interfaces del hardware, también podemos escribir BSP y controladores de hardware. Una vez completado el diseño del hardware integrado, el software debe realizar varias funciones. El valor agregado del dispositivo integrado depende en gran medida del software integrado.

Esto representa el trabajo más importante del sistema integrado. (Actualmente, muchas empresas empaquetan el diseño de hardware a empresas de hardware especializadas, y el hardware un poco más complejo se entrega a empresas taiwanesas o extranjeras para que lo diseñen. Las capacidades nacionales de diseño de hardware son muy débiles y muchas empresas integradas solo son responsables de desarrollar su propio software. , porque la propia empresa sólo es responsable del desarrollo de software y porque la empresa sabe que la diferencia entre los productos integrados radica en gran medida en el software, y el software es lo más "elegante" que se puede hacer),

Así que Los desarrolladores de software no nos preocupan por nuestra posición en el mercado integrado. Cuanto más inteligente es el dispositivo y más complejo es el sistema, más importante es la tendencia actual.

Por lo tanto, no tenemos que preocuparnos por nuestra posición en el mercado integrado. Cuanto más inteligente sea el dispositivo y más complejo sea el sistema, más software desempeñará un papel clave, y esta es la tendencia actual. .

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

(1) En la actualidad, los talentos en esta área son muy escasos en el país y en el extranjero. Por un lado, debido a que la barrera de entrada a este campo es muy alta, no solo es necesario comprender el software subyacente (como el nivel del sistema operativo, el software a nivel del controlador), sino que también es necesario tener altos requisitos de profesionalismo del software (los sistemas integrados requieren altos eficiencia de tiempo y espacio en el diseño de software)), 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 actualmente se está desarrollando; demasiado rápido, que es la tendencia actual.

Afrontado, debido a que este es un campo relativamente nuevo, se está desarrollando demasiado rápido y muchas tecnologías de software y hardware no han aparecido durante mucho tiempo o están surgiendo (como procesadores ARM, sistemas operativos integrados, MPEG tecnología, protocolos de comunicaciones inalámbricas, etc.), las personas que dominen estas nuevas tecnologías ciertamente tienen una gran demanda. Los talentos incorporados son escasos y, naturalmente, valen mucho dinero. Cuanta más experiencia tengan, mayor será su valor. De hecho, la causa fundamental de la escasez de talentos integrados puede ser que la mayoría de las personas no tienen acceso al software, además de las placas de desarrollo integradas y el software correspondientes, esto también requiere personas 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). Para las empresas de TI que se dedican al software de aplicaciones empresariales, después de terminar el sistema para un usuario, tienen que trabajar en el sistema del siguiente usuario, y las necesidades y el tiempo de finalización de cada usuario deben cambiar de acuerdo con los requisitos del cliente. A menudo es un trabajo agotador y repetitivo. .

Por el contrario, las empresas de sistemas integrados tienen sus propias soluciones de productos y siguen su propio ritmo. Los productos desarrollados suelen ser genéricos y no modificados 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), tiempo para recargar energías y descansar. Además, todos los que trabajan en software integrado tienen una gama relativamente limitada de conocimientos profesionales (ARM, RTOS, MPEG, 802.11, etc.) Cuanto más tiempo pase, más serán estas cosas y más rica será la experiencia de venta. El capital antiguo y unos pocos consejos son suficientes para que los que recién empiezan se lo piensen 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á doloroso.

(3) Si algún día desea iniciar su propio negocio y fabricar sus propios productos, entonces el software integrado es una buena opción. No es tan fácil de piratear como el software de aplicación. Una empresa llamada Daystar de la Escuela de Ingeniería Civil ha desarrollado una PDA portátil que se parece a "Engineering e" (anuncio en la entrada del Campus Sur). Los técnicos de construcción pueden utilizar esta PDA para realizar cálculos de ingeniería civil, como presupuestos de ingeniería civil en la escuela. lugar. Se dice que se vende Bien hecho. Un profesor universitario que conozco ha desarrollado una PDA para realizar pedidos en restaurantes (plataforma WinCE, conexión inalámbrica y acceso a Internet). Según él, las ventas son muy buenas y los restaurantes pueden solicitar PDA a los clientes. Cómo mostrar el nivel de facción al pedir comida. Recuerdo que en la Clase 22, Grado 2000, un grupo de estudiantes usó VC para diseñar un poderoso sistema de pedidos como proyecto de curso cuando estaban estudiando cursos de programación de Windows. En ese momento, realmente quería sugerir que convirtieran este software en un. PDA. Supongo que habrá.

Algunas ventas (la estación de tren de Shanghai, South Plaza y McDonald's utilizarán PDA muy hermosas para pedir comida para los usuarios, como si se tocaran la cara). El diseño de hardware de estas PDA generalmente lo personalizan otras empresas (esto se llama "OEM": OEM. Todos son hardware de uso general).

Las desventajas de participar en el desarrollo de software integrado son:

(1) El punto de partida para la entrada es relativamente alto y la tecnología utilizada suele ser difícil si la base de software y hardware. no es bueno, especialmente si no tiene una base profunda en software a nivel de sistema operativo, es posible que no sea adecuado para esta línea de trabajo.

(2) En comparación con la informática empresarial, el número de empresas en este campo es mucho menor. 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 pocas empresas grandes conocidas (las grandes empresas que se dedican a la integración incluyen principalmente Intel, Motorola, Texas Instruments, Philips, Samsung, Sony, Futjtum, Bell Alcatel, STMicroelectronics, Microtech, Advantech, Huawei, ZTE, SCO y otras empresas fabricantes). El pensamiento habitual de estas empresas es buscar talentos en electrónica, comunicaciones y otras carreras duras. Dado que la mayoría de los graduados anteriores de las escuelas de software de las universidades formales se dedicaban a la informática empresarial, las escuelas de software de las universidades formales tienen relativamente poco contacto con estas empresas. Las facultades de software de las universidades regulares están trabajando activamente y ahora han establecido contactos con algunas de estas empresas, esforzándose por que los estudiantes de las facultades de software de las universidades regulares vayan a estas empresas para realizar pasantías o empleo en el futuro.

(3) Algunas empresas a menudo quieren que talentos con una maestría o superior trabajen en empresas integradas, principalmente debido a la dificultad de las empresas integradas. Pero la mayoría de las empresas no lo exigen, siempre que tengan experiencia.

Los estudiantes que estudian software integrado en escuelas universitarias formales de software obviamente deberían centrarse en el software integrado, especialmente en los sistemas operativos integrados, que deberían ser nuestro punto fuerte. Para las personas que trabajan con software integrado, la tecnología más importante es obviamente (de hecho, los anuncios de empleo de muchas empresas dicen esto):

(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 para carreras de software integrado en universidades ordinarias incluyen:

(1) Arquitectura y aplicaciones de microprocesadores integrados: este es un curso básico sobre hardware integrado, carreras formales de software en las universidades. y las universidades han reemplazado los cursos tradicionales de "Principios e interfaces de microcomputadoras" (actualmente, algunas especialidades de TI en colegios y universidades hacen esto).

Un pequeño número de estudiantes de TI en las universidades hacen esto porque es difícil encontrar un uso práctico cuando se habla de principios e interfaces de microcomputadoras x86, y es solo con fines didácticos). Como dijimos, integrado es una combinación de tecnología de software y hardware. Software integrado

Las personas 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 ejecutar a altas velocidades (el diseño del software integrado presta especial atención a la eficiencia del espacio y el tiempo), cómo escriba controladores (los controladores tratan con hardware), muchas empresas requieren que esté familiarizado con los procesadores ARM al contratar talentos de software integrado. Si los futuros estudiantes vienen a la empresa para participar en el desarrollo de software integrado, la empresa le otorgará un Para el desarrollo de software. la empresa le proporcionará una especificación de hardware del dispositivo (especificación xxx

). Debe poder leer y comprender instrucciones básicas como la asignación de memoria y el uso de puertos (como el ensamblaje x86); de lo contrario, cómo 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. 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 código C óptimo en este procesador? En ciertas partes críticas del desarrollo integrado, a veces es necesario escribir programas ensambladores, como cargadores de arranque (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 se confía principalmente en los ensambladores para escribir programas (veo que muchas empresas hacen esto). Cuando trabaja para una empresa integrada, debido al principio del manual de descripción, puede haber muchas descripciones de ensamblaje (lo encontré), esto se debe a que muchos diseñadores de hardware solo pueden escribir o les gusta usar la descripción de ensamblaje, en este momento usted debe comprender al ensamblador; de lo contrario, es posible que el personal de software y hardware no pueda comunicarse. Muchas posiciones integradas requieren familiaridad con el montaje.