Qué aprender sobre el desarrollo integrado
Plan de aprendizaje del sistema operativo Linux integrado\x0d\ARM+LINUX, centrándose en el sistema operativo Linux integrado y sus objetivos de desarrollo de software de aplicaciones: \x0d\ (1) Dominar la estructura de los microprocesadores integrados convencionales y sus principios ( determinado preliminarmente como arm9) \x0d\ (2) Debe dominar un sistema operativo integrado (determinado preliminarmente como uclinux o linux, versión por determinar) \x0d\ (3) Debe estar familiarizado con el proceso de desarrollo de software integrado y hacerlo en al menos un proyecto de software integrado. \x0d\Los beneficios de participar en el desarrollo de software integrado son: \x0d\ (1) Actualmente hay muy pocas personas en este campo 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. \x0d\ (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). \x0d\ (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. \x0d\(4) Interés, esto es lo más importante. \x0d\Las desventajas de participar en el desarrollo de software integrado son: \x0d\ (1) El punto de partida para la entrada es relativamente alto y las tecnologías utilizadas suelen ser difíciles si la base de software y hardware no es buena, especialmente si el funcionamiento. El software a nivel del sistema no es profundo, puede que no sea adecuado para este viaje. \x0d\ (2) El número de empresas en esta área es mucho menor que el de empresas de informática empresarial. \x0d\ (3) Algunas empresas 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. \x0d\ (4) La plataforma es sólida y es difícil cambiar de plataforma. \x0d\Origen de interés: \x0d\1. Diferentes conceptos de éxito. No desperdiciar mi vida es mi éxito. \x0d\2. Le gusta pensar y desafiar el pensamiento lógico. \x0d\3. Como C \x0d\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: \x0d\ Programadores de confianza. \x0d\No impida que los programadores hagan lo que hay que hacer. \x0d\Mantén tu lenguaje breve y directo. \x0d\Un método realiza una operación. \x0d\ lo hace lo suficientemente rápido, aunque no se garantiza que sea portátil. \x0d\4. Me gusta el desarrollo de bajo nivel y odio las herramientas de desarrollo de vb (no es que vb sea malo). \x0d\5. Las perspectivas de desarrollo son buenas y adecuadas para iniciar un negocio. No quiero ser ingeniero cuando muera. \x0d\Pasos del método: \x0d\1. Conocimientos básicos: \x0d\Propósito: Ser capaz de comprender el principio de funcionamiento del hardware, pero centrarme en el software integrado, especialmente el software a nivel de sistema operativo, esa será mi ventaja. \x0d\ Materias: Circuitos digitales, principios de composición de computadoras, estructura de microprocesadores integrados. \x0d\Lenguaje ensamblador, C/C++, principios de compilación, matemáticas discretas. \x0d\Estructuras de datos y algoritmos, sistemas operativos, ingeniería de software, redes, bases de datos. \x0d\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. \x0d\Se centra principalmente en libros: el lenguaje de programación C++ (nunca tengo tiempo para leerlo), estructura de datos-C2. \x0d\\x0d\2. Aprender Linux: \x0d\ Propósito: Dominar el sistema Linux en profundidad. \x0d\ 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. \x0d\ 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 fuentes. \x0d\3. Aprender Linux integrado: \x0d\Propósito: Dominar el procesador integrado y su sistema.
\x0d\Métodos: (1) Estructura y aplicación del microprocesador integrado: simplemente arme los principios y el ensamblaje directamente, no repita x86. \x0d\ (2) Categoría de sistema operativo integrado: ucOS/II es simple, de código abierto y está listo para ingresar. Luego profundice en uClinux. \x0d\ (3) Debes tener una placa de desarrollo (arm9 o superior) y puedes participar en el entrenamiento si tienes las condiciones (progresas rápidamente y puedes hacer algunos amigos). \x0d\ Libros principales: "Sistemas integrados" de Mao Decao y otros manuales e instrucciones de montaje del brazo arm9. \x0d\\x0d\4. Estudio en profundidad: \x0d\ A. Tecnología de compresión de imágenes digitales: principalmente, debe dominar MPEG, mp3 y otros algoritmos y tecnologías de codificación y decodificación. \x0d\ B. Protocolos de comunicación y tecnologías de programación: protocolo TCP/IP, 802.11, Bluetooth, GPRS, GSM, CDMA, etc. \x0d\\x0d\2010-8-21 16:46 Responder \x0d\122.90.173.* 2do piso\x0d\\x0d\ C. Tecnología de seguridad de la información y la red: como tecnología de cifrado, certificado digital CA, etc. \x0d\ D. Tecnología DSP: Proceso de señal digital El procesador DSP implementa algoritmos de procesamiento de señal digital a través de hardware. \x0d\ 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++, 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. \x0d\ Nota: Debe 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. \x0d\ No te limites a profundizar en la tecnología. Aunque es difícil sacar tiempo, debes dejar algo de espacio para perfeccionar otros pasatiempos, como el espacio, el dibujo, la maquinaria, la gestión, la psicología, los juegos y las películas de ciencia ficción. ¡Todavía hay algunas cosas que no quieres hacer pero que debes hacer! \x0d\ 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).
\x0d\\x0d\ Libros integrados recomendados\x0d\ Conceptos básicos de Linux\x0d\ 1. "Guía de programación de Shell para Linux y Unix" \x0d\ Conceptos básicos del lenguaje C\x0d\ 1. "C Primer Plus, 5.ª edición" por Stephen Prata Autor \x0d\ 2. "El lenguaje de programación C, 2.ª edición" de Brian W. Kernighan David M. Rithie (K & R) \x0d\ 3. "Programación avanzada en el entorno UNIX, 2.ª edición" (APUE) \ x0d\ 4. "Explicación detallada del desarrollo de aplicaciones Linux integradas" \x0d\ Linux Kernel \x0d\ 1. "Comprensión profunda del kernel de Linux" (tercera edición) \x0d\ 2. "Análisis de escenarios del código fuente del kernel de Linux" por Mao Decao y Hu Ximing \x0d\ Dirección de I+D \x0d\ 1. "Programación de red UNIX" (UNP) \x0d\ 2. "Explicación detallada de TCP/IP" \x0d\ 3. "Programación del kernel de Linux" \x0d\ 4. " Desarrollo de controladores de dispositivos Linux" (LDD) \x0d\ 5. "Programación avanzada de Linux" por Yang Zongde\x0d\ Conceptos básicos de hardware\x0d\ 1. "Arquitectura y programación ARM" por Du Chunlei\x0d\ 2. Hoja de datos S3C2410 \x0d\ Conceptos básicos de inglés\x0d \ 1. "Inglés profesional en informática y comunicación" \x0d\ Tutorial del sistema \x0d\ 1. "Sistema integrado: arquitectura, programación y diseño" \x0d\ 2. "Sistema integrado: uso de código fuente abierto y StrongARM / Procesador Xscale" por Mao Decao y Hu Ximing\x0d\ 3. "Construcción de sistemas Linux integrados" \x0d\ 4. "Principios del sistema ARM integrado y desarrollo de ejemplos" por Yang Zongde\x0d\ Bases teóricas\x0d\ 1. "Introducción a Algoritmos" \x0d\ 2. "Estructura de datos (edición en lenguaje C)" \x0d\ 3. "¿Organización y arquitectura de computadoras? Análisis de rendimiento" \x0d\ 4. "Comprensión profunda de los sistemas informáticos" Randal E. Bryant David O ''Hallaron Author\x0d\ 5. "Sistema operativo: esencia y principios de diseño" \x0d\ 6. "Principios de compilación" \x0d\ 7. "Comunicaciones de datos y redes informáticas" \x0d\ 8. "Principios y aplicaciones de compresión de datos " \x0d \\x0d\ Libros recomendados sobre lenguaje C \x0d\ 1. El lenguaje de programación C "Lenguaje de programación C" \x0d\ 2. Punteros sobre C "C y punteros" \x0d\ 3. Trampas y trampas de C "Trampas de C y defectos" 》 \x0d\ 4. Lenguaje C experto 《Programación C experto》 \x0d\ 5. Escribir código limpio -----Microsoft Techiniques for Devel
Opción de programas C sin errores \x0d\ "Esencia de la programación: los secretos de Microsoft para escribir programas C de alta calidad y sin errores" \x0d\ 6. Programación de sistemas integrados en C y C++ "Programación de sistemas integrados" \x0d\ 7. " Capacitación en programación del sistema de incorporación de lenguaje C" \x0d\ 8. "Guía de programación C++/C de alta calidad" Lin Rui\x0d\ Codifique tanto como sea posible para aprender bien C, no solo centrarse en C en sí. Los algoritmos, los métodos arquitectónicos, etc. son todos importantes. \x0d\\x0d\Muchos libros aquí son en realidad solo recomendaciones. No le prestes demasiada atención. ¡La clave es lo básico, que es la máxima prioridad! ! !