Resumen: este artículo presenta brevementeOpenHarmony, que se dividirá en varios artículos.
Grupo adecuado: Amigos que quieran trasplantarel sistema livianoOpenHarmony
Comencemos tratando de explicar el trasplante de sistemas, principalmente sistemas livianos, y tal vez también hablemos sobre el trasplante L1 , por cierto.
1.1 Tipos de trasplante
La migración del sistema liviano OpenHarmony es relativamente simple y el desacoplamiento en el código es muy bueno. Desde la perspectiva del concepto de diseño del código, el trasplante consta principalmente de tres partes:
( 1 ) Código de la parte ARCH
( 2 ) Código de pieza de SoC
( 3 ) Código a nivel de placa
De arriba a abajo podemos usar una imagen para comparar:
ARCH es arquitectura, como arquitectura ARM , arquitectura RISC-V , etc.
SoC es un chip específico, como STM32 , HiSilicon, etc. Una arquitectura puede tener varios chips.
La placa es una placa de desarrollo específica, por ejemplo, 3861 tiene la placa de desarrollo de Runhe y la placa de desarrollo de Xiaoxiongpai.
En términos generales, diferentes SoC con arquitecturas relacionadas deben compartir un conjunto de códigos ARCH . No es necesario reescribir el código ARCH para cada SoC , lo que puede aumentar la reutilización del código.
Si el SoC relacionado no utiliza la placa de desarrollo, también debe compartir un conjunto de códigos SoC y las diferencias de código entre las placas deben colocarse en la placa .
Según el diseño anterior, nuestros tipos trasplantados se pueden dividir en 3 partes:
( 1 ) Trasplante ARCH : un nuevo trasplante a nivel de arquitectura
( 2 ) Trasplante de SoC : trasplante a nivel de SoC de arquitecturas compatibles
( 3 ) Trasplante a nivel de placa : solo se realiza una pequeña cantidad de trasplante para las juntas de desarrollo.
La dificultad del trasplante también es la más difícil para ARCH , siendo el SoC más difícil y el tablero más simple.
1.2 Código relacionado
Echemos un vistazo a dónde están los códigos para las tres partes del sistema liviano OpenHarmony :
( 1 ) Códigos relacionados con ARCH
El código relacionado con ARCH se almacena en la carpeta kernel\liteos_m\arch
Puede ver que las arquitecturas actualmente admitidas incluyen ARM ( M3 , M4 , M33 , M7 , ARM9 ), csky , risc-v y xtensa .
( 2 ) Código relacionado con SoC
El código relacionado con SoC se encuentra en: dispositivo\soc
( 3 ) código relacionado con la placa
El código relacionado con la placa se encuentra en: dispositivo/placa
( 4 ) código relacionado con el proveedor
Además de las tres partes del código anteriores, también hay un código relacionado con la configuración del proveedor. Esta parte se utiliza principalmente para compilar el sistema, configurar HDF , etc. La ruta es: proveedor
El contenido es el siguiente:
1.3 Ideas de trasplante
La sugerencia es empezar primero por el más sencillo, la ruta es la siguiente:
proveedor —— tablero —— soc —— ARCO
El próximo artículo comenzará a explicar cómo crear su propia configuración de proveedor y proceso de compilación.
Al principio se basará en hi3861 y luego en el microcontrolador STM32 o GD32 . También puede escribir el modelo de chip que desea trasplantar en el área de comentarios.
Ejemplo de trasplante específico: https://gitee.com/lianzhian/openharmony-bsp-example