Desarrollo de sistemas Linux embebidos
¿Por qué el desarrollo embebido utiliza el entorno Linux?
Debido a las ventajas inherentes de LINUX, la mayoría del desarrollo integrado utiliza el sistema LINUX:
1. Código abierto, lo que le ahorra la molestia de escribirlo usted mismo y ahorra costos. y no involucrado en disputas sobre patentes y derechos de propiedad.
2. Es completamente funcional y tiene controladores completos para muchos dispositivos de hardware. Solo necesita ser trasplantado y no es necesario cambiarlo demasiado.
3. Estable, Linux es de hecho más estable que Windows.
4. Para la mayoría de los chips, existen archivos de configuración personalizados. En el código fuente del kernel de Linux, arch/arm/configs tiene muchos archivos de configuración de chips.
5.La filosofía de "divide y vencerás" de Linux permite que los controladores y las aplicaciones se desarrollen en paralelo, acelerando así el desarrollo.
Me gustaría preguntar: Acabo de terminar de aprender sobre aplicaciones y sistemas integrados de Linux y quiero comenzar mi propio negocio. ¿Cuáles son mis planes? ¿O trabajar primero y luego encontrar trabajo? ¿Iniciar un negocio directamente?
Primero debes trabajar para acumular experiencia y enriquecer capital, y luego ganar experiencia y capital.
En este momento ya tengo una base y he llegado al campo que me gusta.
¿Linux integrado?
BSP (BoardSupportPackage), paquete de soporte de placas de circuito, también conocido como capa de abstracción de hardware HAL o capa intermedia.
Separa el software del sistema de capa superior del hardware subyacente, de modo que los desarrolladores de software del sistema de capa superior no necesitan involucrar los detalles específicos del hardware subyacente, sino que pueden desarrollar de acuerdo con la interfaz proporcionada por la capa BSP.
BSP es relativo al sistema operativo. Los diferentes sistemas operativos tienen diferentes definiciones de BSP y requieren que BSP implemente diferentes funciones.
En un sistema Linux integrado, inicializa principalmente el hardware subyacente y arranca el sistema operativo al mismo tiempo. El BSP está relacionado con el hardware y también se debe considerar la operación de inicialización del hardware. Estas operaciones de inicialización son principalmente para configurar correctamente la CPU, la memoria, las interrupciones y otros registros y coprocesadores relacionados.
En diferentes etapas de desarrollo, debido a las diferentes ubicaciones del kernel y el sistema de archivos, el trabajo que debe completar el BSP también es diferente en las etapas de desarrollo y depuración, el BSP debe poder comunicarse; con el host y descargar el kernel desde el host; y en el producto de destino, el BSP debe poder cargar el kernel desde un dispositivo de almacenamiento no volátil.
Información ampliada
BSP tiene dos características: dependencia del hardware y dependencia del sistema operativo.
Diseñar un BSP completo requiere dos partes:
A. Inicialización del hardware y funciones BSP del sistema integrado.
Inicialización a nivel de chip: un proceso de inicialización de hardware puro que configura gradualmente el microprocesador integrado desde el estado predeterminado en el encendido hasta el estado operativo requerido por el sistema.
Inicialización a nivel de placa: incluye el proceso de inicialización de los componentes de hardware y software, y establece el entorno operativo de hardware y software para la inicialización posterior del sistema y las aplicaciones.
Inicialización a nivel del sistema: proceso de inicialización basado en software que se utiliza para inicializar el sistema operativo.
B. Diseñar controladores de dispositivos relacionados con el hardware.
¿Es la programación en Linux lo mismo que la programación en Linux integrada?
El desarrollo integrado en LINUX requiere principalmente los siguientes aspectos de conocimiento:
A. La programación en lenguaje C en LINUX es esencial y es la base del desarrollo integrado. En cuanto a estar familiarizado con el lenguaje C, puedes hacerlo en un sistema de PC general (LINUX). Por supuesto, también es necesario conocer los conocimientos relacionados con la compilación del lenguaje C en LINUX, como la preparación de Makefile. Algunos desarrollos también requieren C++ o Java.
En segundo lugar, el kernel y el sistema operativo LINUX son difíciles de aprender en un corto período de tiempo y sólo se pueden aprender con el tiempo. En la etapa inicial, puede leer algunos libros relacionados con sistemas operativos y sistemas LINUX, y luego, en la práctica futura, profundizar lentamente su comprensión de los sistemas operativos y los kernels de LINUX.
3. Algunos conocimientos básicos de hardware integrado están relativamente relacionados con el hardware, por lo que si comprende algunos conocimientos de hardware en la etapa inicial, encontrará que puede ser muy útil en el desarrollo futuro.
4. El desarrollo integrado de LINUX es algo difícil y desafiante. Te deseo buena suerte.