Red de conocimiento informático - Conocimiento informático - ¿Ruta de aprendizaje sobre el desarrollo de controladores Linux integrados?

¿Ruta de aprendizaje sobre el desarrollo de controladores Linux integrados?

Con respecto a esta dirección, creo que hay aproximadamente 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 integrados para Linux

Actualmente, Embedded se dirige principalmente a varios sistemas operativos, como LINUX.WINCE, VxWorks, etc.

Linux es de código abierto y gratuito, con código abierto. código, que es más adecuado Aprendemos incrustados.

Así que puedes probar los siguientes enfoques:

(1) El lenguaje C es el más potente de todos los lenguajes de programación y puede usarse para microcontroladores, DSP y varios chips similares a Programación ARM en lenguaje C), por lo que debes ser muy competente.

Libros recomendados: "Programación en lenguaje C" es un libro de texto clásico escrito por un extranjero y también tiene una traducción al chino.

(2) Los principios del sistema operativo son necesarios, si es así. No importa si se graduó con una especialización en informática. Si no se especializa en informática, debe buscar un libro relativamente simple sobre principios de informática y leer qué es "proceso", "hilo", "programador del sistema", "programador del sistema". " y " Proceso".

(3) El sistema operativo Linux está escrito en lenguaje C, por lo que también debes aprender a programar Linux. Solo sabiendo cómo aplicarlo podrás comprender la esencia del kernel.

Libros recomendados: "Programación avanzada en entorno UNIX" (2.ª edición)

(4) Comprender la arquitectura, los principios y las instrucciones de ensamblaje de ARM Cuando realizamos desarrollo integrado, generalmente. Rara vez escribe ensamblaje, pero al menos El requisito es poder comprender el ensamblaje del brazo.

(5) Trasplante del sistema, que requiere comenzar desde el cargador de arranque inferior, luego el trasplante del kernel, el trasplante del sistema de archivos, etc. Además, esta parte del trasplante depende mucho del hardware, sus 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 es sólo un campo muy desafiante, sino también un campo 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 es una condición necesaria para el kernel de Linux y la programación del kernel. Antes de aprender, primero debes comprender la composición del kernel de Linux, porque si estudias cada parte en detalle, puedes expandirla hasta convertirla 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. De esta manera, el ciclo de aprendizaje integrado será más largo. y el umbral será más alto. El autoestudio requiere una gran capacidad de aprendizaje y habilidades profesionales. ¡Mientras persistas, definitivamente tendrás éxito!

................................................ ............. .....

La lectura integrada es muy agotadora, relativamente oscura y difícil de entender, y personalmente no es fácil comenzar. viendo videotutoriales porque es más fácil empezar con la guía de un profesor. Lea un artículo sobre cómo un experto aprendió por sí mismo a integrarse.

Para presentarme, asistí a una escuela universitaria privada muy mala en 2007, donde me especialicé en biología. No nombraré la escuela específica porque es difícil de escuchar. Dejé la escuela en 2009. La matrícula anual en esa escuela era de más de 10.000 yuanes, pero no había nadie con quien estudiar. Realmente no podía ver ninguna esperanza, así que abandoné la escuela.

Después de abandonar la escuela, estaba muy confundida. No me había graduado de la universidad. Realmente no sabía qué podía hacer. Entonces, después de abandonar la escuela por un tiempo, quise encontrar un trabajo. Como soy callado y no soy bueno para hablar, no era apto para postularme a trabajos comerciales. Quiero postularme para un trabajo técnico, pero me encuentro contra un muro a cada paso.

Por casualidad, escuché sobre la industria integrada. Ese día, llegué a una librería Xinhua y quería encontrar un libro de informática para estudiar. En ese momento, una chica se acercó y me preguntó si estaba mirando computadoras y si estaba interesado en aprender integrado. Luego me presentó la popularidad de lo integrado, me dijo lo prometedor que era aprender integrado y me dio una. folleto., es un anuncio de formación integrada. Después de escuchar su introducción, sentí una picazón en el corazón. Tenía muchas ganas de aprender una técnica propia y comer con mis propias manos.

Después de llegar a casa, busqué en Internet. De hecho, esta es una industria popular hoy en día, es más fácil encontrar trabajo y el salario es relativamente alto. Decidí aprender bien las habilidades integradas. Entonces fui a buscar información sobre el entrenamiento integrado. Para ser honesto, tampoco sabía si el efecto del entrenamiento era realmente tan bueno como anunciaban, así que quería aprender sobre ello por un tiempo antes de hacerlo. cualquier plan.

Más tarde, vi un artículo muy inspirador sobre Baidu Zhizhi. Era un experto integrado que presentó cómo comenzar el autoaprendizaje integrado sin amigos. El artículo está bien escrito. para aprender. Un método que mencionó es mirar videos, porque leer libros es demasiado aburrido y difícil de entender, y muchos de nosotros no podemos entenderlo. Estoy totalmente de acuerdo con esto. Cuando leo un libro, normalmente no leo más que unas pocas páginas.

Estaba pensando, ¿por qué otros pueden ser autodidactas, pero yo también? Tengo que creer en mí mismo, así que tengo que aprender por mi cuenta. Si realmente no puedo aprenderlo, tomaré otra formación.

Me decidí por la idea, así que busqué videos incrustados. Aunque encontré algunos videos incrustados aquí y allá, no eran sistemáticos. Quería encontrar un video que me dijera cómo aprender. Conjunto de videos de principio a fin. La información es relativamente completa. Es mejor que un maestro te enseñe. Si no entiendes, puedes pedir consejo.

Más tarde encontré un video muy bueno, que es el video "Clase de empleo integrado de base cero" lanzado en el sitio web de IT Learning Alliance (si le gusta "Clase de empleo integrado de base cero", puede copiar sina. lt/qKh Pégalo en el navegador y presiona Enter para abrir). Los tutoriales que contiene son bastante buenos y lo suficientemente completos como para ayudarme a comenzar a aprender los conceptos básicos. El vídeo es más barato.

El siguiente es mi proceso de aprendizaje, espero que sea de ayuda para personas como yo que no tienen ningún fundamento.

Después de recibir el CD de ellos, comencé a aprender. Como no tenía ninguna base, comencé con los videos tutoriales más simples en lenguaje C. Dijeron que eran fáciles, pero en realidad todavía no podía. No entendí a muchos de ellos. Sí, tuve que pedirles consejo. Todavía estaban muy entusiasmados y me ayudaron a resolver el problema. Aprendí el lenguaje C durante casi una semana y luego aprendí los comandos básicos de Linux. Lo que aprendí fueron los comandos básicos de Linux, y todos proporcionan máquinas virtuales Linux. Aprendí los comandos básicos de Linux y practiqué en la máquina virtual de Linux que me proporcionaron. Me tomó aproximadamente tres semanas escribir los comandos básicos de Linux y escribir código C simple. Insistí en escribir algunos códigos simples todos los días, así que después de un mes, básicamente dominé las operaciones básicas del lenguaje C y Linux.

A continuación, fui a estudiar los videos tutoriales de capacitación de otras personas. Era un conjunto completo y no era muy diferente de la capacitación en la que participé. Duró dos meses y aprendí los principios básicos de. ARM y integrado También domino el concepto de sistemas integrados, domino parte de la construcción de entornos integrados y tengo una comprensión más profunda de Linux. Entiendo cómo crear aplicaciones integradas, pero solo tengo una comprensión superficial de los controladores. Solo entiendo un poco al conductor. Esto es relativamente difícil y quiero tomarme mi tiempo en el futuro.

En los últimos dos meses, además de comer y dormir, he estado estudiando casi todo el tiempo. Como no entiendo casi nada de lo básico y soy peor que los demás, solo puedo seguir trabajando duro, no puedo rendirme, tengo que mantenerme, debo aprender bien esta tecnología y luego resumir y escribir los problemas. No lo entiendo, así que después de acumular lentamente durante un período de tiempo, descubrí que realmente estaba comenzando.

En el último mes fui a ver la parte práctica y aprendí sobre el proceso de desarrollo específico de proyectos embebidos y qué tipo de conocimiento se necesitaba para preparar este conocimiento, es decir, aprender esto. . Me conecté a Internet para encontrar muchas preguntas integradas y escribí mis conocimientos. Me tomó unos 20 días prepararme.

Siento que casi estoy comenzando y puedo hacer algunas cosas simples. Quería encontrar un trabajo, así que fui a 51job y envié mi currículum como loco. Debido a mi formación académica, no me gradué de la universidad. Para ser honesto, nadie en las grandes empresas me querría, así que presenté mi solicitud. para pequeñas empresas privadas. Espero poder. Los esfuerzos se ven recompensados.

Inesperadamente, hubo una entrevista a los pocos días, pero fallé en la primera entrevista. Aunque pensé que la prueba escrita era buena porque me había preparado antes, sus requisitos eran estrictos y requerían un año de experiencia en proyectos, así que perdí la entrevista. elección.

Más tarde, entrevisté a varias empresas una tras otra y finalmente mi arduo trabajo dio sus frutos. Mi última entrevista fue con una empresa privada en Minhang. La empresa era relativamente pequeña. Mi puesto era el desarrollo de aplicaciones Linux integradas y aplicaciones de productos de seguridad. Creo que también 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 solo podía llevar una vida de subsistencia, sentí que era suficiente. . Al menos no tengo que depender de mis padres todos los días y puedo mantenerme. 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 tenemos por qué sentirnos inferiores. No somos más estúpidos que los demás. , lo lograremos.