Desarrollo de Linux integrado
El sistema integrado es un concepto muy amplio y existen muchas definiciones. Creo que la clave para comprender los sistemas integrados es comprender los siguientes puntos:
1. Los sistemas integrados son relativos a las plataformas de PC. Las plataformas utilizadas para los sistemas integrados generalmente son para plataformas que no son de PC, como ARM, PPC y DSP. Por lo tanto, las herramientas de compilación y depuración utilizadas no son VC6.0, sino diferentes necesidades de plataforma. herramientas de compilación y desarrollo, la compilación cruzada es un concepto único para sistemas integrados;
2. Los sistemas integrados a menudo se refieren a sistemas con sistemas operativos. En el pasado, los sistemas simples se podían desarrollar directamente sobre metal desnudo (como 51 microcontroladores), pero ahora el sistema operativo se ha convertido en una característica básica de los sistemas integrados. o sistemas operativos con todas las funciones, por lo que los requisitos para los programadores son mayores
3. Los sistemas integrados a menudo incluyen software y hardware. Los desarrolladores de software a menudo también necesitan conocer el conocimiento del hardware. Sólo conociendo las características del hardware pueden desarrollar programas de alto rendimiento. Además, si no desea desarrollar en una PC, los controladores ya existen. En los sistemas integrados, debido a la complejidad de los periféricos conectados, a menudo necesita escribir sus propios controladores. Lea el manual del hardware antes del desarrollo del programa.
De las características anteriores, podemos ver que el desarrollo integrado es diferente del desarrollo de programas en PC. El desarrollo en PC es principalmente el desarrollo de aplicaciones, centrándose en ideas, mientras que el desarrollo integrado debe considerar todos los aspectos del software y. Además, normalmente es necesario comprar emuladores y placas de desarrollo costosos, por lo que el punto de partida es relativamente alto.
Entré en contacto con los sistemas integrados cuando estaba en el último año de la universidad. En ese momento, ya había estudiado cursos como principios de microcomputadoras, microcontroladores y DSP. Siempre esperé hacer un sistema completo. Entonces entendí los sistemas integrados por primera vez. He tenido un gran interés en el sistema desde que era un niño. Sin embargo, mi interés era alto y todavía era un novato. La acumulación es muy importante. Estudié incrustado solo después de la escuela. El camino hacia el aprendizaje integrado fue muy difícil, pero acumulé un poco de experiencia. El resumen es el siguiente:
1. ¿Por dónde empezar a aprender integrado?
Esta es una pregunta que los principiantes quieren saber, pero también es una pregunta difícil de responder. Era lo mismo cuando yo era principiante. No te preocupes por el aprendizaje integrado. Creo que lo más importante es sentar una buena base y empezar de forma sencilla.
Las habilidades básicas incluyen principalmente:
Debes estar familiarizado con los principios e interfaces de las microcomputadoras y conocer al menos un lenguaje ensamblador. No requiere que memorices instrucciones, pero sí que las comprendas. la ejecución del procesador. Los procedimientos y operaciones realizadas por instrucciones de uso común;
Estar familiarizado con las arquitecturas de uso común. Los procesadores de arquitectura ARM se utilizan cada vez más y vale la pena estudiarlos. Por supuesto, hay muchas arquitecturas de sistemas. El proceso de leer el manual de hardware durante el desarrollo es entrenarse para leer el manual y consultar el manual. es largo y, a menudo, solo necesita conocer un esquema general, los detalles deben consultarse durante el uso;
Programación en lenguaje C: todos pueden usar el lenguaje C. Sé que cuando estudié en la escuela. Basado en PC, y básicamente no utilicé programas en lenguaje C para acceder a registros o periféricos. Durante el desarrollo integrado, encontrará que hay muchos lugares donde debe tener cuidado, como las variables globales a las que se debe acceder. por interrupción, las rutinas del servicio deben declararse volátiles;
Con las habilidades básicas anteriores, puede iniciar el camino de desarrollo de integración más simple.
2. Desarrollo integrado sin sistema operativo
No se apresure a mirar primero los principios del sistema operativo. Si no tiene experiencia en desarrollo, no podrá comprender esas cosas con claridad. Primero, debe encontrar la comprensión perceptiva. de desarrollo integrado. Recomiendo comenzar con el desarrollo de 51 microcontroladores, porque 51 microcontroladores son baratos y hay muchos códigos listos para usar en Internet como referencia. Primero escriba algunos programas simples en lenguaje ensamblador y luego aprenda C51 para la programación en lenguaje C. Estar familiarizado con los procesos de desarrollo y compilación cruzada. Métodos para acceder al hardware y aprender a escribir rutinas de servicio de interrupción. Además, puede aprender las precauciones para la programación en C integrada durante este período. "Programación de sistemas integrados en C y C" y "Trampas y defectos de C" son buenos libros y vale la pena leerlos.
3.
Programar con SO
Una vez que ejecuta un sistema operativo, la programación se vuelve más difícil y su pensamiento y métodos de programación son muy diferentes a los de aquellos sin un sistema operativo. Esta transición es muy difícil. Es necesario aprender los principios del sistema operativo. Sólo con un buen conocimiento del sistema operativo se puede programar más en el sistema operativo, como procesos, programación, sincronización y exclusión mutua, cambio de prioridad, etc. El sistema operativo se divide en un kernel simple en tiempo real y un sistema operativo complejo con todas las funciones. uCOSII es un kernel típico en tiempo real, y Linux es un sistema operativo típico con todas las funciones. Los diferentes sistemas operativos satisfacen diferentes necesidades y usted debe elegir el apropiado. SO según su propio diseño. Muchos requisitos de procesamiento integrado son en tiempo real y deben garantizarse. Se debe prestar especial atención a la escritura de programas y la selección del sistema operativo. Se recomienda comenzar con uCOS porque el código fuente está disponible y hay mucha información en Internet que se ha trasladado a muchas plataformas. En este momento, calculo que puedo estudiar por mi cuenta. Necesito hacer algunos proyectos más y explorarlos. Debes saber que escribir programas es fácil, pero escribir programas estables y confiables no es fácil. . Actualmente también estoy aprendiendo Linux y comenzando a escribir controladores. Creo que esto todavía es el comienzo. Todavía hay muchas cosas que aprender en el futuro ^_^
Lo anterior es muy simple, pero en funcionamiento. requiere esfuerzo. Mucho esfuerzo y muchas cosas que aprender. Estos son solo algunos pasos generales para aprender, dando a los principiantes una idea general. Espero que aquellos que todavía están confundidos eviten tomar algunos desvíos.