¿Es mejor realizar el examen de ingreso de posgrado o encontrar un trabajo en el campo integrado?
Las ventajas de participar en el desarrollo de software integrado son:
(1) En la actualidad, Hay mucha gente doméstica en este campo. Afuera es relativamente escaso. La barrera de entrada a este campo es alta y, por otro lado, es difícil para el personal de TI no profesional ingresar a este campo, debido a que este campo es relativamente nuevo y actualmente se está desarrollando demasiado rápido, la mayoría de las personas tienen acceso incondicional a él;
(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).
(3) Si algún día desea iniciar un negocio y crear sus propios productos, el software integrado no es tan fácil de piratear como el software de aplicación. Los diseños de hardware suelen ser personalizados por otras empresas (esto se denomina "OEM") y son hardware común. Simplemente diseñamos el software para que sea nuestro propio producto.
(4) Interés, esto es lo más importante.
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.
(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.
(4) La plataforma tiene un fuerte soporte y es difícil cambiar de plataforma.
El origen del interés:
1. Diferentes conceptos de éxito. No desperdiciar mi vida es mi éxito.
2. Le gusta pensar y desafiar el pensamiento lógico.
3. Por ejemplo, c
C es un lenguaje que puede ampliar los límites del pensamiento. Algunos aspectos del espíritu de C se pueden resumir en la siguiente frase breve:
Confiar en los programadores.
No impida que los programadores hagan lo que hay que hacer.
Mantén un lenguaje simple y claro.
Cómo realizar la cirugía.
Haz que se ejecute lo suficientemente rápido, aunque no se garantiza que sea portátil.
4. Me gusta el desarrollo de bajo nivel pero odio las herramientas de desarrollo de vb (no es que vb sea malo).
5. Las perspectivas de desarrollo son buenas y adecuadas para iniciar un negocio. No quiero ser ingeniero aunque esté a punto de morir.
Pasos del método:
1. Conocimientos básicos:
Objetivo: puedo comprender el principio de funcionamiento del hardware, pero me concentro en el software integrado, especialmente en los sistemas operativos. El software 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 muchos temas, todos son conceptos básicos simples y la mayoría se han dominado. No es necesario que los estudies todos, pero puedes tomar asignaturas optativas si es necesario.
Libros principales: "Lenguaje de programación C++" (aún no he tenido tiempo de leerlo) y "Estructura de datos-C2".
2. Aprender Linux:
Objetivo: Dominar el sistema Linux en profundidad.
Método: utilice Linux->desarrollo de programación del sistema LINXU->desarrollo de controladores para analizar el kernel de Linux. Primero, analice en profundidad y luego explique los principios. Lo leí varias veces, analicé la situación y comparé la profundidad. Los dos libros están entrelazados. La profundidad es el esquema y la emoción es el propósito. El análisis es la versión 0.11, apta para el aprendizaje. Finalmente, sumérjase en el código.
Libros principales: "Análisis completo del kernel de Linux", "Programación avanzada en el entorno Unix", "Comprensión profunda del kernel de Linux", "Análisis de escenarios y generación de código fuente".
3. Entender Linux embebido:
Propósito: Dominar los procesadores embebidos y sus sistemas.
Métodos: (1) Estructura y aplicación de microprocesadores integrados: solo se discutirán los principios y el ensamblaje del brazo, y no se repetirá x86.
(2) Categoría de sistema operativo integrado: ucOS/II es simple, de código abierto y puede usarse para comenzar. Entonces aprenda uClinux en profundidad.
(3) Debes tener una placa de desarrollo (arm9 o superior) y tener las condiciones para participar en el entrenamiento (puedes progresar rápidamente y hacer algunos amigos).
Obras principales: Sistema embebido de Mao y otros manuales de arm9 e instrucciones de montaje del brazo.
4. Investigación en profundidad:
1. Tecnología de compresión de imágenes digitales: principalmente debes dominar 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 la red: como tecnología de cifrado, certificado digital CA, etc.
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: Hay demasiados detalles para explicar y se pueden ajustar según la situación real. La atención se centra en 1 y 3, no es necesario hacerlos en el orden completo. La razón por la que deberías aprender C++ es porque C++ no es sólo un lenguaje, una herramienta, sino también un arte, una cultura y una filosofía, pero no es algo para presumir. Para el kernel de Linux, también necesitas aprender a programar y leer algunos códigos excelentes.
Nota: Debes aprender a hacer inferencias a partir de un caso y tener una base sólida. Puedes aprender mucho simplemente observando. Para convertirse en un programador calificado, debe dominar al menos un lenguaje de programación y tener un buen pensamiento lógico. Debemos combinar teoría y práctica.
No profundices en la tecnología a ciegas. Aunque es complicado encontrar tiempo, también conviene dejar algo de espacio para perfeccionar otras aficiones, como el espacio, el dibujo, la mecánica, la gestión, la psicología, los juegos y las películas de ciencia ficción. ¡También hay cosas que no quieres hacer pero que debes hacer!
La tecnología se programa a través de la programación. Nunca sueñes con alcanzar el cielo de un solo paso, no seas una persona impetuosa y no pienses que el camino es largo y largo. ¡Es programación, programación, programación, programación! Inicie un negocio cuando se presente la oportunidad (no crea en los milagros, el éxito ciego es difícil 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 Linux y Unix Shell
Conceptos básicos del lenguaje C
1, C Primer Plus, quinta edición, por Stephen Prata.
2. "Programación en lenguaje C", segunda edición, escrita por Brian W. Kernigan David M. Rithie (K & amp; r)
3. Environment" Programación Avanzada, Segunda Edición (APUE)
4. Explicación detallada del desarrollo de aplicaciones Linux integradas.
Kernel de Linux
1. Comprensión profunda del kernel de Linux (tercera edición)
2. Análisis de escenarios de Mao y Hu del código fuente del kernel de Linux.
Dirección de I+D
1. "Programación de redes 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 Yang Linux
Conceptos básicos de hardware
1. Du Chunlei "Arquitectura y programación ARM》
2. Hoja de datos de S3C2410
Inglés básico
1. Inglés sobre informática y comunicación
Sistema Curso
p>1. Sistemas Embebidos - Arquitectura, Programación y Diseño
2. Sistemas Embebidos - Uso de Código Abierto y Procesadores StrongARM/Xscale, por Mao y Hu.
3. "Construcción de un sistema Linux integrado"
4. Principios del sistema ARM integrado de Yang y desarrollo de ejemplos.
Base teórica
1. Introducción a los algoritmos
2. Estructura de datos (versión en lenguaje C)
3. ? Análisis de Rendimiento"
4. "Un profundo entendimiento de los sistemas informáticos", por Randal E. Bryant David O'Hallaron
5. Sistema Operativo: Esencia y Principios de Diseño
6. Principios de compilación
7. Comunicaciones de datos y redes informáticas
8. Principios y aplicaciones de la compresión de datos
Recomendaciones de libros en lenguaje C
p>
1. Lenguaje de programación C "Lenguaje de programación C"
2. Punteros sobre C "C y punteros"
3. p>
4. Lenguaje experto "Programación experta en C"
5. Escribir código limpio: consejos de Microsoft para desarrollar programas en C sin errores
La esencia de la programación: escribir en alto Programas C de calidad y sin errores El secreto de los programas C incorrectos: Microsoft
6. Programación de sistemas integrados en C y programación de sistemas integrados c++
7.
8. Guía de programación C++/C de alta calidad, Rui Lin
Para aprender bien C, no puedes centrarte únicamente en C en sí. Los algoritmos, la arquitectura, etc. son importantes. . >