Red de conocimiento informático - Conocimiento informático - ¿Qué conocimientos debería aprender para aprender sobre desarrollo integrado?

¿Qué conocimientos debería aprender para aprender sobre desarrollo integrado?

Plan de aprendizaje del sistema operativo Linux integrado

Ruta ARMLINUX, centrándose en el sistema operativo Linux integrado y sus objetivos de desarrollo de software de aplicaciones:

(1) Dominar la corriente principal estructura y principios de los microprocesadores integrados (preliminarmente designado como arm9)

(2) Debe dominar un sistema operativo integrado (preliminarmente designado como uclinux o linux, versión por determinar)

( 3 ) Debe estar familiarizado con el proceso de desarrollo de software integrado y trabajar en al menos un proyecto de software integrado.

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

(1) En la actualidad, la gente en este campo es escasa en el país y en el extranjero. La barrera de entrada a este campo es alta, por lo que es difícil para el personal de TI no profesional ingresar a este campo. Por otro lado, debido a que este campo es relativamente nuevo y actualmente se está desarrollando demasiado rápido, la mayoría de la gente tiene 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 desarrollar 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 realizan 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.

(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 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.

(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.

(4) La plataforma es sólida y es difícil cambiar de plataforma.

Origen de 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. Como C

C es un lenguaje que puede ampliar los límites del pensamiento. Algunos aspectos del espíritu de C se pueden resumir en frases cortas como las siguientes:

Confiar en los programadores.

No impidas que los programadores hagan lo que hay que hacer.

Mantén un lenguaje breve y directo.

Un método realiza una operación.

Haciéndolo lo suficientemente rápido, aunque no se garantiza que sea portátil.

4. Me gusta el desarrollo de bajo nivel y 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 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 a nivel de sistema, ese sería mi punto fuerte.

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 relativamente simples y la mayoría de ellos se han dominado. No es necesario cursar todos los cursos, pero puedes cursar optativas según tus necesidades.

Me centré principalmente en libros: el lenguaje de programación c (nunca he tenido tiempo de leerlo), estructura de datos-C2.

2. Aprender Linux:

Objetivo: Dominar en profundidad el sistema Linux.

Método: Utilice Linux—>desarrollo de programación del sistema Linxu—>desarrollo de controladores y análisis del kernel de Linux. Primero echemos un vistazo en profundidad y luego hablaremos de los principios. Después de leerlo varias veces, analiza la situación y compárala profundamente. 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, que es adecuada para el aprendizaje. Finalmente sumérgete en el código.

Centrado principalmente en libros: 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 fuentes.

3. Aprendizaje de Linux embebido:

Propósito: Dominar el procesador embebido y su sistema.

Métodos: (1) Estructura y aplicación del microprocesador integrado: simplemente siga el principio del brazo y el ensamblaje directamente, no repita x86.

(2) Categoría de sistema operativo integrado: ucOS/II es simple, de código abierto y fácil de usar. Luego profundice en uClinux.

(3) Debes tener una placa de desarrollo (arm9 o superior) y puedes participar en el entrenamiento si tienes las condiciones (progresarás rápidamente y harás algunos amigos).

Centrado principalmente en libros: "Embedded Systems" de Mao Decao y otros manuales e instrucciones de montaje del brazo arm9.

4. Estudio en profundidad:

A. 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.

2010-8-21 16:46 Responder

122.90.173.* 2do piso

C. Tecnología de seguridad de la información y las redes: como tecnología de cifrado, Certificado digital CA, etc.

Tecnología DSP: Proceso de Señal Digital El procesador DSP implementa algoritmos de procesamiento de señal digital a través de hardware.

Nota: Demasiados detalles no se explican y pueden ajustarse según las condiciones reales. La atención se centra en 1 y 3, no es necesario hacerlos en el orden exacto. Para aprender C, la razón es que C no es solo un lenguaje y una herramienta, también es un arte, una cultura y un concepto filosófico, pero no es algo para presumir. Para el kernel de Linux, también es necesario aprender a programar y leer algunos códigos excelentes.

Nota: Debes aprender a aplicar un ejemplo para inferir muchas cosas y tener una base sólida. Muchas cosas se pueden entender simplemente mirándolas. Para convertirse en un programador calificado, debe dominar al menos un lenguaje de programación y tener un buen pensamiento lógico. La teoría debe combinarse con la práctica.

No te adentres únicamente en la tecnología. Aunque es complicado sacar tiempo, conviene dejar algo de margen para perfeccionar otras aficiones, como el espacio, el dibujo, la maquinaria, la gestión, la psicología, los juegos y. Película de ciencia ficción. ¡Todavía hay algunas 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, nunca seas una persona impetuosa y nunca sientas que el camino es largo. ¡Se trata de programar, programar, programar, programar de nuevo, programar de nuevo! Espere la oportunidad de iniciar un negocio (no crea en los milagros, es difícil lograr iniciar un negocio a ciegas, e incluso si tiene éxito, puede que no haya mucho espacio para el desarrollo).

Libros integrados recomendados

Conceptos básicos de Linux

1. "Guía de programación de Shell para Linux y Unix"

Conceptos básicos del lenguaje C

1. "C Primer Plus, quinta edición" de Stephen Prata

2 "El lenguaje de programación C, segunda edición" de Brian W. Kernighan David M. Rithie (K & R) Autor<. /p>

3. "Programación avanzada en el entorno UNIX, 2.ª edición" (APUE)

4. "Explicación detallada del desarrollo de aplicaciones Linux integradas"

Núcleo de Linux<. /p>

1. "Comprensión profunda del kernel de Linux" (tercera edición)

2 "Análisis del escenario del código fuente del kernel de Linux" por Mao Decao y Hu Ximing

<. p>Dirección de I+D

1. "Programación de red UNIX" (UNP)

2. "Explicación detallada de TCP/IP"

3. "

4. "Desarrollo de controladores de dispositivos Linux" (LDD)

5. "Programación avanzada de Linux" por Yang Zongde

Conceptos básicos de hardware

1. Arquitectura y programación ARM" por Du Chunlei

2. Hoja de datos S3C2410

Conceptos básicos de inglés

1. "Inglés profesional en informática y comunicación"

p>

Tutorial del sistema

1. "Sistemas integrados: arquitectura, programación y diseño"

2. "Sistemas integrados: uso de código fuente abierto y procesamiento StrongARM/Xscale" Sistemas Linux integrados" de Mao Decao y Hu Ximing

3. "Construcción de sistemas Linux integrados"

4. "Principios y ejemplos de desarrollo de sistemas ARM integrados" de Yang Zongde

Base Teórica

1. "Introducción a los Algoritmos"

2. "Estructura de Datos (Edición en Lenguaje C)"

3. y arquitectura? Análisis de rendimiento"

4. "Comprensión profunda 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 compresión de datos"

Recomendaciones de libros sobre lenguaje C

1. El lenguaje de programación C "Lenguaje de programación C"

2. Punteros sobre C "C y punteros"

3. Trampas y trampas de C "Trampas y defectos de C》

4. Lenguaje C experto 《Programación experta en C》

5. Escribir código limpio -----Técnicas de Microsoft para desarrollar errores. Programas en C libres de errores

p>

"La esencia de la programación: los secretos de Microsoft para escribir programas en C de alta calidad y sin errores"

6. y C "Programación de sistemas integrados"

7. "Práctica de programación de sistemas integrados en lenguaje C"

8 "Guía de programación C/C de alta calidad" Lin Rui

Codifique tanto como sea posible, debe aprender bien C, no solo concentrarse en C en sí. Los algoritmos, los métodos arquitectónicos, etc. son todos importantes.

Muchos de los libros aquí son solo recomendaciones. No les prestes demasiada atención. ¡La clave es lo básico, que es la máxima prioridad!