Ruta de aprendizaje sobre el desarrollo de controladores de Linux integrados
Con respecto a esta dirección, creo que se puede dividir en tres etapas:
1. Aplicaciones de capa superior de Linux integradas, incluido el desarrollo de GUI QT
2. Desarrollo de sistemas Linux integrados
3. Desarrollo de controladores Linux integrados
Los principales sistemas operativos actualmente a los que se dirige el sistema integrado son LINUX, WINCE, VxWorks, etc.
Linux es De código abierto y gratuito, y su código fuente es abierto, lo que es más adecuado para que aprendamos integrado.
Entonces puedes probar la siguiente ruta:
(1) El lenguaje C es el más potente entre todos los lenguajes de programación. Los microcontroladores, DSP y varios chips similares a ARM se pueden programar con C. idioma), por lo que debe dominarse con mucha soltura.
Libros recomendados: "TheC Programming Language" es un libro de texto clásico escrito por un extranjero y también tiene traducción al chino.
(2) Los principios del sistema operativo son necesarios. Si eres un experto en informática, no importa. Si no eres un experto en informática, debes encontrar un libro de principios informáticos relativamente sencillo para leer. Comprender cuestiones básicas como "proceso", "hilo" y "programación del sistema".
(3) El sistema operativo Linux está escrito en lenguaje C, por lo que también debes aprender a programar Linux primero. Solo si puedes aplicarlo podrás comprender mejor la esencia de su núcleo.
Libro recomendado: "Programación avanzada en entorno UNIX" (2.ª edición)
(4) Comprender la arquitectura, los principios y las instrucciones de ensamblaje de ARM en el desarrollo integrado, en términos generales. Rara vez escribo ensamblaje, pero el requisito mínimo es poder comprender el ensamblaje del brazo.
(5) Al trasplantar el sistema, debe comenzar desde el gestor de arranque inferior y luego trasplantar el kernel, el sistema de archivos, etc. La parte del trasplante depende mucho del hardware, los pasos de configuración son relativamente complicados y no hay mucha información detallada.
(6) Desarrollo de controladores
El diseño de controladores de Linux no solo es un campo muy desafiante, sino también un contenido amplio y profundo.
El diseño del controlador de Linux pertenece esencialmente a la categoría de programación del kernel de Linux, por lo que existen requisitos para el kernel de Linux y la programación del kernel. Es necesario comprender la composición del kernel de Linux antes de estudiarlo, porque si es necesario estudiar cada parte en detalle, se puede ampliar en un libro grueso.
Lo anterior es solo un marco aproximado. En el desarrollo real, estarán involucradas muchas cosas, como compilación cruzada, archivos MAKE, scripts de shell, etc. Por lo tanto, el ciclo de aprendizaje integrado es más largo y el umbral. es relativamente alto, el autoestudio requiere una gran capacidad de aprendizaje y habilidades profesionales. ¡Mientras persistas, definitivamente tendrás éxito!
Incrustado es muy difícil de entender al leer un libro y no es fácil comenzar. Personalmente prefiero ver tutoriales en video, porque es más fácil comenzar con un maestro. Permítanme leer un artículo sobre cómo un estudiante universitario aprendió por sí mismo a integrarse.
Para presentarme, fui admitido en una terrible universidad privada en 2007, con especialización en biología. No revelaré el nombre específico de la escuela para mostrar mi vergüenza. Dejé la escuela en 2009. Estaba en una escuela así y la matrícula anual era de más de 10.000, pero no había nadie con quien estudiar. Realmente no podía ver ninguna esperanza, así que la abandoné.
Después de dejar la escuela, también estaba confundida. No me había graduado de la universidad. Realmente no sabía qué podía hacer. Entonces, después de dejar la escuela por un tiempo, quise encontrar un trabajo. Como era relativamente taciturno y no muy bueno hablando, no era apto para postularme a trabajos comerciales. Quiero postularme para un trabajo técnico, pero me encuentro con obstáculos por todas partes.
Escuché sobre la industria integrada por casualidad. Ese día fui a la librería Xinhua y busqué un libro para estudiar en la categoría de informática.
Más tarde, una chica se acercó y me preguntó si era estudiante de informática y si estaba interesado en aprender integrado. Luego me presentó la candente situación actual de lo integrado, me dijo lo prometedor que era aprender integrado y me dio una explicación. Folletos, anuncios de formación integrados. Después de escuchar su introducción, sentí una picazón en el corazón. De hecho, tenía muchas ganas de aprender una habilidad propia y comer con mis propias manos.
Después de llegar a casa, busqué en Internet. De hecho, hoy en día es una industria popular, es más fácil encontrar trabajo y el salario es relativamente alto. Decidí aprender incrustado. Entonces busqué información sobre la capacitación integrada. Para ser honesto, estaba muy confundido, no sabía si la capacitación realmente podría ser tan buena como anunciaban, así que quise aprender sobre ello por un tiempo antes de hacer cualquier plan.
Más tarde, vi un artículo sobre Baidu que me inspiró mucho. Era un experto integrado que presentó cómo los amigos sin base pueden aprender integrados por sí mismos. El artículo estaba bien escrito e incluía cómo aprender integrado. Estudiar, cómo estudiar. Mencionó que una forma es ver videos, porque leer libros es demasiado aburrido y confuso, y muchos de nosotros no podemos entenderlos. Realmente estoy de acuerdo con esto. Cuando leo un libro, a menudo no puedo leer más que unas pocas páginas.
Estaba pensando, ¡por qué otros pueden ser autodidactas y yo también! Quiero creer en mí mismo, así que quiero aprender por mi cuenta. Si realmente no puedo aprenderlo, iré a entrenar.
La idea estaba decidida, así que busqué videos incrustados. Aunque encontré algunos videos incrustados aquí y allá, no eran sistemáticos. Quería encontrar un video que pudiera decirme cómo aprender. de videos de Un video desde principiante hasta competente, una información relativamente completa, lo mejor es tener un maestro que te enseñe, si no entiendes, puedes pedir consejo.
Más tarde encontré otro video muy bueno, "Clase de empleo integrada de base cero", lanzado en el sitio web de IT Learning Alliance (si te gusta la "Clase de empleo integrada de base cero", puedes copiarlo Pegar sina. lt/qKh en el navegador y presione Enter para abrirlo). Los tutoriales que contiene son bastante buenos y completos, lo que me permite aprender desde lo básico. El vídeo es más barato.
La siguiente es una introducción a mi proceso de aprendizaje. Espero que sea útil para amigos que no tienen ninguna base como yo.
Después de recibir el CD de ellos, comencé a aprender. Como no tenía ninguna base, comencé con el video tutorial en lenguaje C más simple. Es simple de decir, pero de hecho todavía no lo tengo. Entiendo mucho. Sí, tuve que pedirles consejo. Todavía estaban muy entusiasmados y me ayudaron a resolverlo. Aprendí el lenguaje C durante casi una semana, y luego aprendí los comandos básicos de Linux. Hice ejercicios en la máquina virtual Linux que me proporcionaron. Escribí los comandos básicos de Linux y escribí códigos simples en lenguaje C, que fueron aproximadamente tres adoraciones. Seguí escribiendo algunos códigos simples todos los días, de modo que después de un mes básicamente dominaba las operaciones básicas de C y Linux.
Luego fui a estudiar los tutoriales de capacitación en video de otras personas. Era un conjunto completo y no era muy diferente de asistir a una capacitación. Me tomó dos meses aprender los principios básicos de ARM y aprender. También domino el concepto de sistemas integrados y algo de construcción de entornos integrados. También tengo un conocimiento más profundo de Linux y de cómo se crean las aplicaciones integradas. Sin embargo, solo tengo un poco de conocimiento de los controladores, lo cual es relativamente difícil. Quiero mordisquear lentamente más tarde.
En los últimos dos meses, además de comer y dormir, he estado estudiando casi todo el tiempo. Porque sé que casi no tengo base y que soy peor que los demás. Sólo puedo seguir trabajando duro y no puedo rendirme. Tengo que depender de mí mismo para mantenerme. Debo aprender bien esta tecnología. Y escribo los problemas que no entiendo. Después de acumular lentamente durante un período de tiempo, descubrí que realmente estaba comenzando.
En el último mes, fui a leer la parte práctica para comprender el proceso de desarrollo específico de proyectos integrados y qué tipo de conocimiento se necesitaba para comenzar a preparar este conocimiento, es decir, a aprender esto. Al mismo tiempo, me sugirieron que buscara algunas preguntas de entrevista integradas para prepararme para mi futura búsqueda de empleo. Fui a Internet para encontrar muchas preguntas integradas y escribí lo que entendían. De esta manera, me preparé durante unos 20 días.
Siento que casi estoy comenzando y puedo hacer algunas simples. cosas.
Solo quería encontrar un trabajo, así que fui a 51job y envié mi currículum como loco. Debido a mis calificaciones académicas, no me gradué de una universidad. Para ser honesto, nadie en las grandes empresas me querría. Postulé a pequeñas empresas privadas, espero que mis esfuerzos valgan la pena. Nunca pensé que habría una entrevista unos días después, pero fallé en la primera entrevista. Aunque pensé que la prueba escrita era buena porque me había preparado antes, sus requisitos eran más estrictos y requerían un año de experiencia en proyectos. no fue seleccionado.
Más tarde, me entrevisté con varias empresas, una tras otra, y finalmente el arduo trabajo dio sus frutos. Finalmente conseguí una entrevista con una empresa privada en Minhang. La empresa era relativamente pequeña. Mi trabajo era el desarrollo de aplicaciones Linux integradas y la aplicación de productos de seguridad. Creo que soy relativamente afortunado. El gerente valoró mis esfuerzos y decidió contratarme. El salario ofrecido era de 3.500 yuanes al mes. Aunque sabía que con 3.500 yuanes en Shanghai sólo podía llevar una vida de subsistencia, pensé que era suficiente. Al menos no tengo que depender de mis padres para que me apoyen todos los días. También puedo mantenerme a mí mismo. Creo que mientras siga trabajando duro, mi salario definitivamente se duplicará.
Al escribir este artículo, espero dar confianza a amigos que no tienen fundamento como yo. De hecho, no hay necesidad de que nos sintamos inferiores. No somos más estúpidos que los demás. duro, lo lograremos.