Red de conocimiento informático - Conocimiento informático - Proyecto Linux embebido en vivo Linux embebido en vivo.

Proyecto Linux embebido en vivo Linux embebido en vivo.

¿Cuál es el modelo de desarrollo del sistema Linux integrado?

Los sistemas integrados suelen ser sistemas con recursos limitados. Escribir software directamente en la plataforma de hardware de un sistema integrado es difícil y, a veces, imposible. En la actualidad, el enfoque general es escribir primero un programa en una computadora de uso general, luego realizar una compilación cruzada para generar un formato de código binario que pueda ejecutarse en la plataforma de destino y, finalmente, descargarlo en una ubicación específica en la plataforma de destino. Para ejecutar lo siguiente lo realiza Fuzhou Zhuoyue Education. Se introducen pasos específicos. El primer paso es establecer un entorno de desarrollo de aplicaciones Linux integrado. Actualmente, los entornos de desarrollo cruzado más utilizados son principalmente abiertos y comerciales. Un representante típico del entorno abierto de desarrollo cruzado es la cadena de herramientas GNU, que ya admite procesadores como x86, ARM, MIPS y PowerPC. Los entornos comerciales de desarrollo cruzado incluyen principalmente MetrowerksCodeWarrior, ARMSoftwareDevelopmentToolkit, SDSCrosscompiler, WindRiverTornado, MicrosoftEmbeddedVisualC++, etc. Un entorno de desarrollo cruzado es un entorno para compilar, vincular y depurar software de aplicaciones integradas. Es diferente del entorno que ejecuta software de aplicación integrado, que generalmente adopta el modo host/destino. El segundo paso es realizar una compilación cruzada y vincular. Una vez codificado el software integrado, es necesario compilarlo y vincularlo para generar un código ejecutable. Dado que el proceso de desarrollo se lleva a cabo principalmente en computadoras de uso general que utilizan CPU de la serie Intel x86, y los chips de procesador en el entorno de destino son en su mayoría ARM, MIPS, PowerPC, DragonBall y otras series de microprocesadores, esto debe llevarse a cabo en un Entorno de desarrollo cruzado establecido. Compilación cruzada y enlace. El tercer paso es la depuración cruzada. ① Depuración de hardware. Si no utiliza un emulador en línea, puede dejar que la CPU implemente directamente la función de depuración dentro de él. A través del puerto de depuración introducido en la placa de desarrollo, puede enviar comandos de depuración, recibir información de depuración y completar el proceso de depuración. Actualmente, las placas de desarrollo proporcionadas por Motorola utilizan el puerto de depuración DBM, mientras que las placas de desarrollo proporcionadas por ARM utilizan el puerto de depuración JTAG. Al conectar estos puertos de depuración utilizando herramientas de software adecuadas, se pueden obtener resultados de depuración similares a los de ICE. Depuración de software. En un sistema de desarrollo de aplicaciones Linux incorporado, al depurar el kernel del sistema Linux, primero puede configurar un kernel de depuración (debugstub) en el stub del kernel de Linux para usarlo como servidor de comunicación entre el proceso de depuración y el host. Luego, puede comunicarse con el código auxiliar de depuración a través del puerto serie del depurador en la máquina host y controlar la ejecución del kernel de Linux en la máquina de destino a través del depurador.

¿Linux integrado?

BSP (BoardSupportPackage), el paquete de soporte de la placa, también se denomina 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.