Red de Respuestas Legales - Derecho empresarial - Métodos Vc y front-end integrados (dinero)

Métodos Vc y front-end integrados (dinero)

Hay dos tipos de personas involucradas en el desarrollo integrado: uno son los especialistas en hardware, como la ingeniería electrónica y la ingeniería de comunicaciones. Se dedican principalmente al diseño de hardware y, a veces, también desarrollan algún software subyacente que está más estrechamente relacionado con el hardware, como BootLoader, paquete de soporte de placa (como BIOS de PC, que impulsa el hardware hacia abajo y admite el sistema operativo hacia arriba). y los controladores de hardware más básicos. 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 manejar sistemas de software complejos (como principios de sistemas operativos integrados y software de aplicaciones complejos). La otra categoría es la de software e informática, que se dedica principalmente al desarrollo de sistemas operativos integrados y software de aplicaciones. Si los estudiantes de software tenemos una buena comprensión de los principios e interfaces del hardware, también podemos escribir BSP y controladores de hardware. Una vez diseñado el hardware integrado, se realizan varias funciones a través del software. El valor agregado de los dispositivos integrados depende en gran medida del software integrado. El software integrado representa el trabajo más importante de los sistemas integrados (actualmente, muchas empresas subcontratan el diseño del hardware a hardware especializado). Las empresas diseñan hardware un poco más complejo en Taiwán o en el extranjero. Por lo tanto, la solidez del diseño del hardware nacional es muy débil. Muchas empresas integradas solo son responsables del desarrollo del software. Como saben, la diferencia entre los productos integrados radica en gran medida. en software, que es el más "elegante"), por lo que aquellos que trabajamos en software no tenemos que preocuparnos por nuestra posición en el mercado integrado. Cuanto más dispositivos inteligentes y sistemas complejos existen, más importancia adquiere el software crítico. Esta es la tendencia actual.

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

(1) En la actualidad, la gente en este campo es relativamente escasa en el país y en el extranjero. Por un lado, es difícil para el personal de TI no profesional ingresar a este campo porque el umbral de entrada para este campo es muy alto. No solo deben comprender el software subyacente (como el software a nivel del sistema operativo y el nivel del controlador), sino también. También deben tener una mejor comprensión del nivel profesional del software. Altos requisitos (los sistemas integrados requieren una mayor eficiencia de tiempo y espacio en el diseño del software) y también deben comprender el principio de funcionamiento del hardware. Por otro lado, debido a que este campo es relativamente nuevo y actualmente se está desarrollando demasiado rápido, muchas tecnologías de software y hardware (como procesadores ARM, sistemas operativos integrados, tecnología MPEG, protocolos de comunicación inalámbrica, etc.) no han aparecido en mucho tiempo. , por lo que es difícil encontrar personas que puedan dominar estas nuevas tecnologías. El talento integrado es escaso y, por tanto, de gran valor. Cuanto más experiencia tengan, mayores serán sus precios. 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 integradas y software correspondientes, así como 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, una vez que el sistema para este usuario está listo, tienen que desarrollar el sistema del siguiente usuario. Las necesidades de cada usuario y el tiempo de finalización deben cambiarse de acuerdo con los requisitos del cliente, lo que a menudo resulta agotador y repetitivo. . Por el contrario, las empresas que trabajan en sistemas integrados tienen sus propios planes de productos y avanzan a su propio ritmo. Los productos desarrollados son generalmente universales y no serán modificados por 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 del trabajo para 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, estas cosas se volverán cada vez más. más experimentados y venderán libros usados. Algunas explicaciones son suficientes para que los principiantes lo descubran durante medio año. Si se dedica al software de aplicaciones, tal vez el próximo cliente cambie a una plataforma de desarrollo de software completamente diferente, lo que será doloroso.

(3) Si algún día desea iniciar un negocio y crear su propio producto, la integración es una buena idea. No es tan fácil de piratear como el software de aplicación. Uno de nuestros compañeros también tiene este tipo de pequeña empresa. No preguntó en detalle qué hacer. Compra miles de microcontroladores de 8 bits cada mes y ahora es dueño de un coche y una casa. También existe una PDA desarrollada para restaurantes (plataforma WinCE, que puede conectarse a Internet de forma inalámbrica). Se dice que el mercado es bueno y los restaurantes permiten a los clientes hacer clic en la PDA para pedir comida, lo cual está bastante de moda. El diseño de hardware de estas PDA suele ser personalizado por otras empresas (esto se denomina "OEM") y se trata de hardware común. Simplemente diseñamos el software para que sea nuestro propio producto.

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

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

(2) El número de empresas en este campo es mucho menor que el de empresas de informática empresarial. En particular, hay muchas pequeñas empresas integradas (las pequeñas empresas tienen que fabricar sus propios productos) y pocas grandes empresas conocidas (las principales empresas integradas incluyen Intel, Motorola, TI, Philips, Samsung, Sony, Futjtum, Bell-Alcatel, STMicroelectronics, empresas de fabricación como Zhongjing, Advantech, Huawei, ZTE y SVA). La forma habitual de pensar de estas empresas es buscar gente con carreras duras como electrónica y comunicaciones.

(3) Algunas empresas a menudo requieren que personas con una maestría o superior se dediquen a la tecnología integrada, principalmente debido a la dificultad de la tecnología integrada. Pero la mayoría de las empresas no tienen este requisito, 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 las personas que se dedican al software integrado, la tecnología más importante es obviamente (de hecho, está escrita en los anuncios de empleo de muchas empresas):

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

(2) Debe dominar el sistema operativo integrado.

(3) Debe estar familiarizado con el proceso de desarrollo de software embebido y haber realizado al menos un proyecto de software embebido.

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 el software integrado es una combinación de software y hardware. Las personas que trabajan con software integrado deben comprender completamente los principios de funcionamiento y la tecnología de interfaz de los procesadores ARM, incluido el sistema de instrucciones de ensamblaje de ARM. Si no comprende los principios del procesador, ¿cómo controla el hardware, cómo escribe código que ahorra memoria y se ejecuta a alta velocidad (el diseño de software integrado presta especial atención a la eficiencia del tiempo y el espacio) y cómo ¿Escribir un controlador (todos los controladores tratan con hardware)? Muchas empresas requieren estar familiarizadas con los procesadores ARM cuando contratan personal de software integrado. En el futuro, si un compañero de clase viene a la empresa para participar en el desarrollo de software integrado, la empresa le entregará un manual de hardware para el dispositivo (manual xxx). Debe poder comprender las instrucciones más básicas, como la asignación de memoria y el puerto. uso (al igual que el ensamblaje x86); de lo contrario, Cómo diseñar software. Algunos estudiantes encuentran aburrido el curso sobre procesadores integrados, principalmente porque el curso sobre hardware es relativamente abstracto. Algunos estudiantes no están interesados ​​en el ensamblaje ARM y piensan que el lenguaje C es suficiente para el desarrollo integrado. De hecho, el lenguaje ensamblador no debe considerarse simplemente como un lenguaje de programación. El objetivo principal de aprender ensamblador es dominar el principio de funcionamiento del procesador. ¿Cómo puede alguien que no está familiarizado con el lenguaje ensamblador escribir el mejor código C en este procesador? En algunas partes clave del desarrollo integrado, a veces es necesario escribir un ensamblado, como el gestor de arranque (y posiblemente BSP). Especialmente en situaciones 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), actualmente se utilizan programas de ensamblaje, aunque la probabilidad de uso es mucho menor que C. Cuando trabaja en una empresa integrada, consulte Al describir manuales de principios, muchos de ellos pueden describirse en montaje. Esto se debe a que muchos diseñadores de hardware solo pueden escribir o prefieren utilizar el ensamblaje para describir. En este momento, debe comprender la programación de ensamblaje; de ​​lo contrario, es posible que el personal de software y hardware no pueda comunicarse. Muchos puestos integrados requieren familiaridad con el montaje al momento de la contratación.

(2) Cursos sobre sistemas operativos integrados

Excepto WinCE, la mayoría de los sistemas operativos integrados tienen fuertes características de tiempo real, por lo que también pueden denominarse sistemas operativos en tiempo real. Las personas involucradas en sistemas integrados deben dominar al menos un sistema operativo integrado (por supuesto, dos son mejores), que es la más crítica de todas las tecnologías integradas.

Los RTOS más importantes en la actualidad incluyen principalmente: el primer tipo, el RTOS clásico tradicional: el más importante es el sistema operativo Vxworks y su plataforma de desarrollo Tornado. Debido a que Vxworks apareció antes, tiene un fuerte rendimiento en tiempo real (se dice que puede responder a solicitudes de eventos externos en 1 ms), el kernel puede ser extremadamente pequeño (se dice que puede ser tan pequeño como 8K) y tiene alta confiabilidad, por lo que en América del Norte, Vxworks ocupa la participación de mercado de sistemas integrados más de la mitad. Especialmente en sistemas con altos requisitos en tiempo real, como equipos de comunicación, Vxworks es casi la mejor opción. Muchos conceptos y tecnologías de Vxworks son similares a Linux, principalmente el desarrollo del lenguaje C.

Vxworks es ampliamente utilizado por empresas de comunicaciones como Bell-Alcatel, Lucent y Huawei al desarrollar productos. Sin embargo, debido a su alto precio, Vxworks no se puede utilizar en algunas empresas o productos pequeños. Actualmente, muchas empresas están cambiando a Linux integrado (escuché que Huawei está haciendo lo mismo actualmente). Pero pase lo que pase, Vxworks no flaqueará durante mucho tiempo. Al igual que Vxworks, existen RTOS como pSOS, QNX, Nucleus, etc.

La segunda categoría, sistema operativo Linux integrado: además de ser un sistema operativo de servidor, el futuro más exitoso de Linux está en su aplicación en el campo integrado. Por supuesto, la razón es que es gratuito, de código abierto, admite una gran cantidad de software y atrae a muchos usuarios, por lo que el costo de los productos integrados será bajo. Linux en sí no es un sistema operativo diseñado para sistemas integrados, ni es un microkernel, y su rendimiento en tiempo real no es sólido.

Hay dos tipos principales de sistemas Linux que se utilizan actualmente en el campo integrado: uno es el sistema Linux cortado especialmente diseñado para sistemas integrados, el más utilizado es uClinux (sin función MMU), que se encuentra actualmente en uso Representa una gran parte y se puede ejecutar en ARM7, el otro se ejecuta en ARM 9, generalmente se le trasplanta el kernel Linux 2.4.18 y se pueden usar más funciones de Linux (por supuesto, uClinux también se puede ejecutar en ARM 9); ). Mucha gente predice que Linux integrado representará más del 50% de los sistemas operativos integrados, lo cual es muy importante. La desventaja es que hay muy poca gente familiarizada con Linux y el desarrollo es un poco más difícil. Además, actualmente podemos encontrar que muchos libros de texto y muchas universidades utilizan ucOS/II como sistema operativo en tiempo real para la enseñanza. Esto se debe principalmente a que ucOS/II es simple y de código abierto, lo que es muy adecuado para que los principiantes aprendan los principios de los sistemas operativos en tiempo real. Sin embargo, debido a sus funciones limitadas, ucOS/II rara vez se utiliza en la práctica. Además, estar familiarizado con el desarrollo de Linux no solo es útil en el campo integrado, sino que también es útil para desarrollar software de aplicaciones de Linux y profundizar su comprensión del sistema operativo. Se puede decir que mata dos pájaros de un tiro. Hasta donde yo sé, tanto Intel como Philip están desarrollando actualmente ARM+LINUX integrado, mientras que Fujitum está desarrollando LINUX en sus propios procesadores. En la actualidad, en el campo de Linux integrado, es particularmente difícil encontrar personas en los siguientes aspectos: en primer lugar, personas que puedan migrar Linux a nuevas versiones de desarrollo de modelos; en segundo lugar, personas que puedan escribir controladores de Linux y, en tercer lugar, personas que estén familiarizadas con él; con reducción y optimización del kernel de Linux. Sin embargo, LINUX tiene un defecto, es decir, no tiene una interfaz interactiva tan amigable, conveniente y hermosa como WINDOWS; de lo contrario, el imperio de Microsoft habría sido insostenible hace mucho tiempo.

La tercera categoría, el sistema operativo integrado Windows CE: Microsoft también ha visto el enorme mercado integrado, y MS siempre será el mejor. WinCE sólo existe desde hace unos años, pero ya ha ocupado una gran cuota de mercado, especialmente en situaciones donde los requisitos de interfaz son altos o se están desarrollando rápidamente, como PDA, teléfonos móviles e instrumentos de visualización. WinCE es actualmente muy popular (se dice que hay una empresa que vende computadoras industriales y vende placas tan bien que es demasiado tarde para cortar WinCE para los clientes). En la actualidad, WinCE es principalmente la versión 4.2 (.NET) y la plataforma de desarrollo es principalmente WinCE Platform Builder. A veces, algunas aplicaciones de capa superior se desarrollan en el entorno EVC. Debido a que el desarrollo de WinCE es un entorno VC++ con el que todos están familiarizados, los estudiantes de nuestra universidad que han estudiado cursos de programación de Windows no tendrán demasiadas dificultades. Es por eso que la gente acepta fácilmente WinCE. El entorno de desarrollo es conveniente y rápido y, junto con el sólido soporte técnico de Microsoft, la dificultad de desarrollo de WinCE es mucho menor que la de Linux integrado. WinCE es más adecuado para situaciones de desarrollo que están ansiosas por completar y no quieren correr riesgos con Linux integrado (no es tan fácil encontrar personas con Linux integrado). Al fin y al cabo, las empresas no pueden esforzarse como estudiantes; es más importante garantizar un desarrollo exitoso. Dependiendo del enfoque, WinCE tiene dos versiones especiales. Una es el sistema operativo MS PocketPC dedicado a PDA (computadoras de mano) y la otra es el sistema operativo MS SmartPhone para teléfonos inteligentes (teléfonos móviles con funciones de PDA). Ambos pertenecen a WinCE. plataforma. En el mercado de PDA y teléfonos móviles, además de WinCE, existen otros sistemas operativos integrados en PDA muy conocidos, como Palm OS (famoso por su temprana aparición) y Symbian.

Pero bajo el fuerte impacto de WinCE, ¿cuánto tiempo pueden tener Palm y Symbian en el futuro? Es muy conveniente y natural para los estudiantes aprender WinCE después de aprender VC++. Al aprender WinCE, también pueden comprender el proceso general de desarrollo del software integrado, que también es adecuado para estudiantes que le temen a Linux. Obviamente, LINUX incorporado nunca podrá reemplazar a WinCE, y es difícil decir quién ocupará la mayor parte en el futuro. Después de todo, muchas personas están más dispuestas a aceptar la plataforma MS. Al igual que los gobiernos de todo el mundo han estado promoviendo Linux durante mucho tiempo, pero ¿cuántos usuarios puedes ver realmente usando LINUX en sus PC? Según mi observación, LINUX es actualmente la plataforma integrada más popular, pero en realidad WinCE se usa más. LINUX integrado puede ser más una empresa con planificación 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 que el Instituto de Ingeniería de Microsoft Asia está llevando a cabo actualmente. Las personas que dominan WinCE tienen una gran necesidad en la sociedad. Ahora existen teléfonos inteligentes WINCE, Kingsoft PowerWord, WORD, EXCEL, REGEDIT, etc. Hay versiones para teléfonos inteligentes. Los archivos MP3 y DOC en la PC se pueden convertir automáticamente a formatos de teléfono inteligente cuando se descargan, lo cual es genial. Puede utilizar Windows CE para desarrollar algunos programas necesarios y descargarlos a su teléfono móvil. Los teléfonos inteligentes PDA son ahora populares en el mercado y MS siempre está ganando dinero.

Resumen del curso de sistemas operativos embebidos. Si cree que su base es muy profunda, puede estudiar mucho y aprender Linux integrado. Si cree que tiene una buena base en VC ++ y desea aprender rápidamente sobre el desarrollo integrado, el autoestudio WINCE es una muy buena opción.

(3) Campos relacionados del desarrollo integrado

Si están familiarizados con algunos campos importantes de aplicaciones integradas, estas personas son más populares entre las empresas. Los principales campos relacionados incluyen:

A. Tecnología de compresión de imágenes digitales: este es uno de los campos de aplicación más importantes y populares de los sistemas integrados. Principalmente, necesita dominar los algoritmos y tecnologías de codificación y decodificación MPEG, como DVD, MP3, PDA, TV de alta definición, decodificador, etc., todos implican decodificación MPEG de alta velocidad.

b. Protocolos de comunicación y tecnologías de programación: Esto incluye el protocolo tradicional TCP/IP y los populares protocolos de comunicación inalámbrica. En primer lugar, la mayoría de los dispositivos integrados están conectados a 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 primero debe dominar. En segundo lugar, la comunicación inalámbrica es actualmente la tendencia general, por lo que también es importante dominar la programación y los protocolos de comunicación inalámbrica. Los protocolos de comunicación inalámbrica incluyen el protocolo de comunicación LAN inalámbrica serie 802.11, Bluetooth, comunicaciones móviles (como GPRS, GSM, CDMA, etc.).

Tecnologías de seguridad de la información y de redes: como tecnología de cifrado, certificado digital. CA y varios Una variedad de dispositivos de seguridad de red, incluidos firewalls de hardware, IDS de detección de intrusiones, airwalls, IPS, etc. China todavía no tiene ventajas propias a este respecto. Parece que nuestro Dean Chen se está desarrollando en esta dirección.

Tecnología D.DSP: DSP es procesamiento de señales digitales. El procesador DSP implementa algoritmos de procesamiento de señales digitales a través de hardware, como adquisición, 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, y lo entienden mejor quienes trabajan en software. Actualmente hay escasez de talentos DSP. Si tiene una base en cursos como señales y sistemas, procesamiento de señales digitales, etc., será útil aprender los principios de codificación y decodificación MPEG.

(4) Base de hardware relevante para el desarrollo integrado.

Para los estudiantes que se especializan en ingeniería de software, es importante participar en el desarrollo de software integrado, como circuitos digitales, principios de composición de computadoras, estructura de microprocesadores integrados y otros cursos de hardware. Además, también son 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 especializan en electrónica y comunicaciones y tienen una buena base en circuitos analógicos y microcontroladores, lo que los hace muy adecuados para aprender sistemas integrados.

Embedded se desarrolló a partir de microcontroladores, pero los microcontroladores no tienen sistema operativo. Ahora muchas aplicaciones integradas se están volviendo cada vez más complejas, por lo que es necesario introducir sistemas operativos integrados.

Además, para lograr una mayor velocidad de procesamiento de señales, muchas empresas ahora utilizan hardware para implementar algunos algoritmos DSP, como los algoritmos de compresión y descompresión MPEG, que involucran la tecnología de diseño de circuitos digitales HDL y su tecnología de implementación central FPGA/IP, y esta gente en este campo son actualmente relativamente escasos en el mercado.

Para cuestiones profesionales relacionadas en el campo integrado, se recomienda que LZ también pueda visitar el sitio web de Huaqing Yuan Jing para obtener más información, o puede llamar a los profesores profesionales de Huaqing Yuan Jing. Además, las principales librerías y bibliotecas también cuentan con los libros profesionales integrados más vendidos publicados por Huaqing Yuan Jing. Creo que ayuda a descubrir.

Espero que mi respuesta te sea útil.