¿Es mejor realizar el examen de ingreso de posgrado o encontrar un trabajo en el campo integrado?
Los beneficios de participar en el desarrollo de software integrado son:
. (1 ) En la actualidad, los talentos en este campo son muy escasos en el país y en el extranjero. El umbral de entrada para este campo es muy alto y es difícil para el personal de TI no profesional ingresar a este campo, por otro lado, también se debe a que este campo es relativamente nuevo y la velocidad de desarrollo actual es demasiado rápida, por lo que la mayoría; las personas no pueden ingresar a este campo incondicionalmente.
(2) A diferencia de aplicaciones 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).
(3) Si algún día desea iniciar su propio negocio y fabricar sus propios productos, el software integrado no es tan fácil de piratear como el software de aplicación. El diseño de hardware generalmente lo personalizan otras empresas (esto se llama "OEM": OEM). Todos son hardware ordinario. Solo nos preocupamos por diseñar el software en nuestros propios productos.
(4) Intereses, esto es lo más importante.
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 a nivel del sistema operativo. Si no tiene una base de software profunda, es posible que no sea adecuado para esta industria.
(2) El número de empresas en este campo es mucho menor que el de empresas de informática empresarial.
(3) Algunas empresas a menudo quieren que personas con una maestría o superior realicen trabajos integrados. Esto se debe principalmente a la dificultad del trabajo integrado. Sin embargo, la mayoría de las empresas no lo exigen, siempre y cuando se tenga experiencia.
(4) La dependencia de la plataforma es fuerte y es difícil cambiar de plataforma.
Origen de interés:
1. El concepto de éxito es diferente. No desperdiciar mi vida es mi éxito.
2. Le gusta pensar y desafiar el pensamiento lógico.
3. Como el lenguaje C
El lenguaje C es un lenguaje que puede jugar con los límites del pensamiento. Algunos aspectos del espíritu del lenguaje C se pueden resumir en la siguiente frase:
Confía en el programador.
No impida que los programadores hagan lo que hay que hacer.
Mantén un lenguaje breve.
Un método de funcionamiento.
Lo hace bastante rápido, aunque la portabilidad no está garantizada.
4. Me gusta el desarrollo de bajo nivel y odio las herramientas de desarrollo basadas en VB (no es que VB sea malo).
5. Las perspectivas de desarrollo son buenas y adecuadas para iniciar un negocio. No quiero ser ingeniero cuando muera.
Pasos del método:
1. Conocimientos básicos:
Propósito: comprender el principio de funcionamiento del hardware, pero la atención se centra en el software integrado, especialmente el funcionamiento. Software de nivel de sistema, esa será mi ventaja.
Temas: Circuitos digitales, principios de composición de ordenadores y estructura de microprocesadores integrados.
Lenguaje ensamblador, C/C, principios de compilación, matemáticas discretas.
Estructuras de datos y algoritmos, sistemas operativos, ingeniería de software, redes, bases de datos.
Método: Aunque hay muchas materias, todas son conocimientos básicos relativamente simples y la mayoría se han dominado. No es necesario estudiarlos todos, pero puedes tomar asignaturas optativas según sea necesario.
Libros principales: "Lenguaje de programación C" (aún no he tenido tiempo de leerlo), "Estructura de datos-C2".
2. Aprender Linux:
Objetivo: Dominar el sistema Linux en profundidad.
Método: Utilice Linux->Programación y desarrollo del sistema Linux->Desarrollo y análisis del controlador del kernel de Linux. Primero veamos la profundidad y luego hablemos de los principios fundamentales. Después de leerlo varias veces, observe el análisis de la situación y compárelo con la lectura en profundidad. Los dos libros están entrelazados. La profundidad es el esquema y la situación es el propósito. El análisis se basa en la versión 0.11, que es adecuada para el aprendizaje. Finalmente, profundice en la codificación.
Libros principales: Análisis completo del kernel de Linux, programación avanzada en entorno Unix, conocimiento profundo del kernel de Linux, análisis de escenarios y generación de código fuente.
3. Aprendizaje de Linux embebido:
Objetivo: Dominar los procesadores embebidos y sus sistemas.
Métodos: (1) Arquitectura y aplicación del microprocesador integrado: simplemente use los principios del brazo y el ensamblaje directamente, sin repetir x86.
(2) Categoría de sistema operativo integrado: ucOS/II es simple, de código abierto y puede usarse para comenzar. Luego conozca más sobre uClinux.
(3) Debes tener una placa de desarrollo (arm9 o superior) y puedes participar en el entrenamiento si tienes las condiciones (el progreso será rápido y conocerás algunos amigos) .
El contenido principal de este libro: el "Sistema integrado" de Mao Dexiao y otros manuales e instrucciones de montaje del brazo de arm9.
4. Estudio en profundidad:
A. Tecnología de compresión de imágenes digitales: debe dominar principalmente MPEG, mp3 y otros algoritmos y tecnologías de códecs.
B. Protocolos de comunicación y tecnologías de programación: protocolo TCP/IP, 802.11, Bluetooth, GPRS, GSM, CDMA, etc.
C. Tecnología de seguridad de la información y las redes: como tecnología de cifrado, certificado digital CA.
D. Tecnología DSP: procesamiento de señales digitales El procesador DSP implementa algoritmos de procesamiento de señales digitales a través de hardware.
Nota: Demasiados detalles no se explican y pueden ajustarse según la situación real. La atención se centra en 1 y 3, no es necesario hacerlos en el orden exacto. Para aprender c, es porque c no es solo un lenguaje y una herramienta, también es un arte, una cultura y un concepto filosófico, y no es solo para lucirse. Para el kernel de Linux, también es necesario aprender a programar y leer un buen código.
Nota: Si quieres aprender bien más de un tema, necesitas tener una base sólida. Simplemente puedes mirar muchas cosas. Para convertirse en un programador calificado, debe dominar al menos un lenguaje de programación y tener buenas habilidades de pensamiento lógico. Hay que combinar teoría y práctica.
No te adentres únicamente en la tecnología. Aunque es difícil sacar tiempo, debes dejar algo de espacio para perfeccionar otras aficiones, como el espacio, el dibujo, la mecánica, la gestión, la psicología, los juegos, la ciencia. películas de ficción, etc. ¡También hay cosas que no quieres hacer pero que debes hacer!
La tecnología se programa a través de la programación. No sueñes con alcanzar el cielo de un solo paso, no seas impaciente y no sientas que el camino está muy lejos. En lugar de eso, ¡programe dentro de la programación, programa dentro de la programación y programa dentro de la programación! Espere la oportunidad de iniciar un negocio (no crea en los milagros, es difícil tener éxito iniciando un negocio a ciegas, e incluso si lo logra, puede que no haya mucho espacio para el desarrollo).
Libros integrados recomendados
Conocimientos básicos de Linux
1. "Guía de programación de Shell para Linux y Unix"
Conocimientos básicos del lenguaje C
1. "C Primer Plus, 5.ª edición" de Stephen Prata, Estados Unidos
2. "El lenguaje de programación C, 2.ª edición" de Brian W. Kernighan David M. Rithie (K amp; R)
3. “Programación Avanzada en el Entorno UNIX, 2º APUE” (Programación Avanzada en el Entorno UNIX, 2º APUE)
4 "Desarrollo de aplicaciones Linux integradas" 1. "Programación de red UNIX" (UNP)
2. "Explicación detallada de TCP/IP"
3 , "Programación del kernel de Linux"
4. "Desarrollo de controladores de dispositivos Linux" (LDD)
5. "Programación avanzada de Linux" por Yang Zongde
Conceptos básicos de hardware
Conceptos básicos de hardware
1. "Análisis de escenarios de código fuente del kernel de Linux" Mao Deyao y Hu Ximingp> Conceptos básicos de hardware
1. "Arquitectura y programación ARM" Du Chunlei
2 Hoja de datos S3C2410
Inglés básico
1. "Construcción del sistema Linux integrado" escrito por Yang Zongde
4. "Principio del sistema ARM integrado y desarrollo de ejemplos".
Base teórica
1. "Introducción a los algoritmos"
2. "Estructura de datos (versión en lenguaje C)"
p>3. "¿Organización y arquitectura de computadoras?" Análisis de rendimiento"
4. "Comprensión profunda de los sistemas informáticos" Randal E. Bryant David O''Hallaron
5. "Sistema operativo: punteros en lenguaje C" p>
3. Errores y trampas del lenguaje C》
4. Lenguaje C de nivel experto Programación C de nivel experto "
5. Escriba código limpio ---- -Desarrolle sin errores técnicas de Microsoft para programas en C"
"La esencia de la programación: el secreto de Microsoft para escribir programas en C de alta calidad y sin errores"
6. Programación de sistemas integrados con C y C"
7. Programación de sistemas integrados con prácticas de programación en C"
8. "Guía de programación C/C de alta calidad" de Lin Rui
Aprenda tanto como sea posible Al codificar y aprender el lenguaje C, no puede concentrarse simplemente en el lenguaje C en sí. Los algoritmos, los métodos arquitectónicos, etc. son todos importantes.