Quiero aprender sobre Linux integrado. ¿Cuál es mejor, "Explicación detallada del desarrollo de aplicaciones de Linux integrado" o "Tutorial estándar sobre el desarrollo de aplicaciones de Linux integrado"?
El mini2440 con una pantalla de 3,5 pulgadas cuesta 500 yuanes
También hay algunos CD de aprendizaje en DVD
Esta reputación aún es relativamente bueno
Plan de aprendizaje del sistema operativo Linux integrado
Ruta ARM LINUX de Gao, centrándose en el sistema operativo Linux integrado y sus objetivos de desarrollo de software de aplicaciones:
(1 ) Dominar la estructura y los principios de los microprocesadores integrados convencionales (inicialmente determinado como arm9)
(2) Debe dominar un sistema operativo integrado (inicialmente determinado como uclinux o linux, versión por determinar)
(3) Debe estar familiarizado con el proceso de desarrollo de software integrado y haber realizado al menos un proyecto de software integrado.
Los beneficios de participar en el desarrollo de software integrado son:
(1) Los talentos en esta área en el país y en el extranjero son actualmente muy escasos. El umbral de entrada para este campo es alto 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 la velocidad de desarrollo actual es demasiado rápida, es imposible para la mayoría de las personas; para 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 del hardware suele ser personalizado por 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. Parte del espíritu del lenguaje C se puede resumir en las siguientes frases:
Creer en los programadores.
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 pase a 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 siga los principios del brazo y el ensamblaje sin repetir x86.
(2) Categoría de sistema operativo integrado: ucOS/II es simple, de código abierto y puede usarse para comenzar. Luego aprenda 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.
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.
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 centres sólo en la tecnología. Aunque es difícil exprimir el 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 o 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" Stephen Prata y
2. "Lenguaje de programación C, 2.ª edición" Brian W. Kernighan David M.Rithie (K amp; R ) Equipado
3. "Programación avanzada en entorno UNIX" (APUE) 2ª edición
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 del escenario del código fuente del kernel de Linux" Mao Dezao Hu Ximing
Dirección de Investigación y Desarrollo
1. “Programación de Redes UNIX” (K amp; R)
1. “Programación de Redes UNIX” (UNP)
2 , "Programación de red UNIX" (Explicación de K amp.TCP/IP
3. Programación del kernel de Linux
4.Desarrollo de controladores de dispositivos Linux (LDD)
5 .Programación avanzada de Linux》 Yang Zongde
Conceptos básicos de hardware
1. "Arquitectura y programación ARM" Du Chunlei
2. "Hoja de datos S3C2410" p >
Conceptos básicos de inglés
1. "Inglés sobre informática y comunicación"
Tutorial del sistema
1. "Sistemas integrados: arquitectura, programación" y Diseño"
1. "Sistemas Embebidos - Arquitectura, Programación y Diseño"
1. "Sistemas Embebidos - Arquitectura,
2. "Sistemas Embebidos - Uso Código fuente abierto y procesadores StrongARM/Xscale" Mao Dezao Hu Ximing
3. "Construcción de sistemas Linux integrados"
4. "Principios del sistema ARM integrado y desarrollo de ejemplos" Yang Zongde p>
Base Teórica
1. "Introducción a los Algoritmos"
2. "Estructura de Datos (Versión en Lenguaje C)"
3. "Computadora ¿Organización y estructura? Análisis de rendimiento"
4. "Comprensión profunda de los sistemas informáticos" Randal E. Bryant David O''Hallaron
5. "Sistema operativo: sugerencias de C Lenguaje》
3. Trampas y defectos del lenguaje C》
4. Lenguaje C de nivel experto Programación en C de nivel experto "
5. Escribir código limpio -----Tecnología de Microsoft para desarrollar programas C sin errores"
"La esencia de la programación: el secreto de Microsoft para escribir programas C de alta calidad y sin errores"
6. Programación de sistemas integrados con C y C》
7. Programación de sistemas integrados con C》
8. "Guía de programación C/C de alta calidad" por Lin Rui
Codifique tanto como sea posible y aprenda el lenguaje C. No se concentre solo en el lenguaje C en sí. Los algoritmos, los métodos arquitectónicos, etc. son todos importantes.
Muchos de los libros aquí son en realidad recomendaciones, por lo que no tienes que prestar demasiada atención. La clave son los conocimientos básicos, ¡esto es lo más importante!