Red de conocimiento informático - Conocimiento informático - Cómo elegir la dirección de desarrollo del software y hardware ARM Linux integrado

Cómo elegir la dirección de desarrollo del software y hardware ARM Linux integrado

En la tecnología altamente desarrollada de hoy, creo que muchos estudiantes en la escuela están atrapados en el desarrollo de diversas aplicaciones en el microcontrolador 51, fabricando dispositivos y ganando una buena reputación, lo que sin darse cuenta aumenta su comprensión y conocimiento de los microcontroladores y les proporciona una mejor. futuro Ha sentado una base sólida para el trabajo futuro: el uso del lenguaje ensamblador puede hacer que se sienta cómodo en el desarrollo de ARM Bootloader y el uso de varios dispositivos periféricos puede hacer que se sienta cómodo en el desarrollo de aplicaciones. Sin embargo, si solo permanece en esta etapa, o permanece en el desarrollo y aplicación de microcontroladores de gama baja, el "oro" que puede obtener es limitado, lo que requiere que ingrese al desarrollo integrado en el campo electrónico más amplio. El más popular ahora es el marco "ARM Linux", y si continúas en este camino, te ayudará a mejorar tu calidad de vida.

Dado que la arquitectura "ARM Linux" tiene una amplia gama de desarrollo integrado, si desea dominarlo todo, necesita conocer Linux, el kernel de Linux, el controlador de Linux, el lenguaje ensamblador, el lenguaje C, C, Producción de PCB y diseño de circuitos de hardware... El autor siempre ha creído que la codicia por demasiado puede no ser algo bueno, por lo que se recomienda dividir el desarrollo integrado de ARM en dos direcciones: primero, centrarse en el hardware y segundo, centrarse en en software.

Hardware

En primer lugar, hablemos del énfasis en el hardware. En este sentido, deberíamos empezar por el diseño del hardware.

Primero, diseñe la placa del sistema más pequeña: dado que el arranque ARM es muy diferente al de un microcontrolador, se recomienda obtener una placa del sistema pequeña que contenga Flash, SRAM o SDRAM, CPU, JTAG y señales de reinicio. , saliendo de la siguiente interfaz de expansión. En este momento, puede consultar algunos diseños maduros para el diseño, como STM32 en el foro. Si el sistema mínimo que crea puede funcionar normalmente, entonces lo está haciendo bien. Después de todo, habrá algunas dificultades en el diseño del hardware, como memoria, largas colas, etc.

En segundo lugar, escriba el código de inicio. El cargador de arranque se utilizará cuando se inicie ARM. En este momento, puede consultar algunas introducciones del cargador de arranque, pensar en escribir un cargador de arranque simple y completar una pequeña tarea. lo que aumentará enormemente su confianza. Tus habilidades de ensamblaje te serán de gran utilidad a la hora de diseñar gestores de arranque.

3. Estudie detenidamente la información del chip que está utilizando, dibuje la placa externa, amplíe las funciones y mueva los recursos de su microcontrolador anterior aquí. Al escribir el programa de placa básica correspondiente, podrá darse cuenta. la transformación del microcontrolador al cambio hacia ARM integrado.

4. Investigue más sobre el diagrama esquemático de la placa DEMO del chip. Primero digiera el diagrama esquemático, tenga una idea clara del diseño del chip y logre un diseño universal dibujado a mano.

En quinto lugar, aprenda el dibujo, diseño, cableado, etc. de tableros multicapa. Al diseñar, las líneas de dirección de datos deben considerarse primero, y deben ser líneas de alta velocidad cuando la velocidad de la CPU es muy alta o la frecuencia de la señal es muy alta, las trazas de la placa PCB deben considerarse como líneas de transmisión; Las líneas de transmisión tienen su propia impedancia característica y se debe realizar una adaptación de impedancia y un procesamiento antiinterferencias. En el diseño de una placa de cuatro capas, la capa exterior suele ser la línea de señal y las dos capas intermedias son los planos de alimentación y tierra. Esto no solo aísla las dos capas de señal, sino que, lo que es más importante, se forman las trazas de la capa exterior. con sus planos adyacentes se utiliza una línea de transmisión denominada “Microstrip”, su impedancia es relativamente fija, asegurando el rendimiento.

Si hay muchos recursos de placa de circuito y necesita dibujar una placa de circuito con 6-10 capas, entonces existen diseños recomendados para el número correspondiente de capas. Puede consultar los de cuatro y seis capas. Placas de circuitos de capas en el diseño de PCB.

Si puede completar los cinco pasos básicos anteriores, entonces ha ingresado al mundo del hardware del desarrollo integrado y su autocultivo se pondrá a prueba en desarrollos futuros.

Software

Después de completar el hardware, es lógico decir que habrá desviaciones en el software.

Hasta donde yo sé, el desarrollo integrado orientado a software se puede dividir en los siguientes tres aspectos: diseño del cargador de arranque, desarrollo de controladores integrados y desarrollo de aplicaciones integradas. Si el sistema integrado ejecuta el popular sistema Android, entonces el desarrollo de Android también se puede clasificar como desarrollo de aplicaciones integradas, ¿verdad?

El primero es el desarrollo del cargador de arranque. Como se mencionó anteriormente, el inicio integrado es diferente del inicio del microcontrolador. Se requiere un cargador de arranque para implementar parte del hardware y guiar el hardware integrado hacia el sistema Linux o la función principal del lenguaje C. En resumen, el cargador de arranque es un contenido muy importante. Si desea ejecutar el popular sistema Android, también puede asignar el desarrollo de Android al desarrollo de aplicaciones integradas. En resumen, este gestor de arranque es un contenido muy importante. Si desea desarrollarse en esta área, debe tener una sólida capacidad de diseño en lenguaje ensamblador y una buena comprensión del mecanismo de funcionamiento del núcleo ARM. Por el contrario, el diseño de hardware es muy importante. Para esto, es un poco difícil al principio, después de todo, algunas cosas deben explorarse lentamente por uno mismo.

Lo que escuchamos a menudo ahora es el desarrollo de controladores integrados, ¡y el salario y los beneficios también son muy altos! Creo que mucha gente también quiere dedicarse a este campo de trabajo o está avanzando en este campo. Entonces, felicitaciones, siempre que tenga suficiente perseverancia, un trabajo con un salario mensual de varios W estará justo frente a usted, pero antes de eso, debe pasar por capas de capacitación: mecanismo del kernel de Linux, programación de Shell, reglas de Makefile. , tablas de datos de hardware y conexiones de circuitos, flujo de trabajo de controladores de Linux, escritura de aplicaciones simples (controladores de prueba)... Pero algunos expertos han dicho que en el camino hacia el desarrollo de controladores integrados, o subes a la cima de la montaña o caes al abismo. . Hasta donde yo sé, en una empresa, la cantidad de personas que trabajan en el desarrollo de controladores suele ser entre 1/5 y 1/8 de las personas que trabajan en el desarrollo de aplicaciones, lo que dice mucho sobre lo poderoso que es.

Para el desarrollo de aplicaciones, creo que todos están dispuestos a hacerlo siempre que aprenda a utilizar las funciones de la interfaz del controlador, comprenda los principios y tenga suficiente tiempo para escribir, depurar, mejorar y optimizar. el código, serás un excelente ingeniero de desarrollo de aplicaciones integradas. Sin embargo, el desarrollo de interfaces gráficas basado en Linux se ha vuelto muy popular ahora: al igual que la programación QT y el desarrollo de Android, están esperando separarse de Linux, pero esto les da a los programadores un nuevo espacio para el desarrollo. Hasta donde yo sé, el salario también lo es. Muy objetivo.