Utilizar un ejemplo para explorar el diseño de la arquitectura de software embebido

En primer lugar, la emoción

La compañía casi nuevas tácticas para zapatos para niños desarrollan desarrollo de software embebido, que es zapatos de los niños de una de las empresas que cotizan en Shanghai a cabo, porque aquí no tienen suficiente, por lo que dispuesto para que sea responsable de un nuevo desarrollo de productos, pre-let que es responsable del acelerómetro, NB-IOT, mecanismo de dirección, prueba externa función de flash, una vez finalizada la prueba, listo para que lo haga un diseño preliminar del producto. Luego se pasó dos semanas tiempo para escribir un resumen del diseño, para ser honesto, vi el esquema de diseño, creo que está escrito por los graduados universitarios.

versión arquitectura de una
arquitectura 2.1 sistema de
sistema se divide en dos capas: la capa de controlador de hardware, la capa de aplicación.
2.1.1 hardware capa de controlador
capa de controlador de hardware contiene todos los controladores a bordo recursos de hardware necesarios para el funcionamiento normal.
1) MCU inicialización
2) el acceso a los datos I2C
3) de lectura de datos SPI
4) inicializa el acelerómetro
5) Bluetooth módulo de arranque
6) FC95 módulo de puesta en marcha
7) comienza módulo de comunicación 485
2.2.2 Capa de aplicación
1) Mcu interruptor de modo de funcionamiento
2) sacudida y la inclinación
3) el análisis de datos
4) de encendido / apagado de bloqueo
5) de transmisión de datos
6) de retención de datos histórica
después de ver una versión de la arquitectura, para ser honesto, la primera vez que veo una arquitectura de este tipo de escritura, es en realidad por número de serie para escribir, leer esto para que los demás, especialmente incómodas.  

La segunda versión del diseño arquitectónico

Después de ver el diseño de arquitectura dos versiones, aunque bastante satisfecho, pero esperamos que para lograr el deseado, sino también una gran distancia, el diseño de la arquitectura, principalmente las siguientes preguntas:

1. comprensión de la arquitectura no es muy clara, ya que está diseñado para hacer la arquitectura, lo que debería en su conjunto, y no sólo se limita a un módulo, o dentro de la función.

También 2. Cada nivel de comprensión no es muy claro, por ejemplo, hablar de MCU de inicialización, que se atribuye a la parte interior de hardware capa de conductor. MCU inicialización, en rigor, ser parte del proceso, y en lugar de conducir. Por ejemplo, iniciar el ordenador está encendido, esta atribuida a los controladores de hardware, que es sin duda parte de la irrelevante.

3. No es el comienzo de cada módulo, puede que no pertenecen a la capa de controlador de hardware, también forman parte de los procesos de negocio, y no debe ser parte de la capa de conductor.

4. Hay un bus de datos de escritura, aunque se lee el papel de la unidad, pero no bus de datos de escritura se escribe controladores de hardware.

5. La capa de aplicación de inicialización de parámetros de sistema, todavía pertenece al proceso.

6. La aparición de los análisis de datos y los datos, que pertenecen a una función de comunicación, y no debe ser un independiente separado, pertenecientes a una única aplicación.

 

Después de ver aquí, para ser honesto, yo estaba realmente sorprendido, confundido de zapatos para niños a partir de las grandes empresas, la capacidad de hacer todo esto? De gran negocio de los zapatos para niños, sino también para pagar los Lao Gao Gao Lao, perplejo que no saben, los salarios en Kunming, se basan en K para calcularlo? En Kunming 8K le puede pagar para hacer el desarrollo de las personas, entre otros. Luego de 1W

Por encima, los zapatos para niños eran incluso menos.

Para ser honesto, estamos zapatos de los niños, ir al trabajo, a menudo leer libros, durante la pasantía libros leen a menudo, no sé, tendría que encontrar la fuerza, el corazón puede poner de manera amplia, no hay ninguna cuenta completa de la vida , todavía hay tiempo para ver los e-libros. Por supuesto, le pidió su bendición, mi salario aumentó 6K por último, debido a que el nuevo salario es superior a los ancianos,

Ver en vivo sigue siendo el mismo (no es lo mismo como resultado lo sé), con el fin de tener en cuenta el desequilibrio corazón del anciano, así que simplemente dame salarios. Los líderes en el momento de la solicitud de subvención, más salario, pero también específicamente me llamaron a la oficina, por lo que me decidí a verla. .

 

Entonces, lo dejo ir y el cambio, digo a estos cambios, a continuación, vamos a ver, ¿Qué problemas? Los resultados que lo veo rascarse, hay todo tipo de suspiros, y luego me dijeron, no puede cambiar.

Ya que no puede cambiar, entonces sólo puedo personalmente cirujano batalla, después de todo, un colega.

 

 En segundo lugar, el marco básico de la figura.

Objetivo (1) Diseño de la arquitectura

1, la lógica de código de la aplicación Claro, y evitar duplicar crear la rueda.

2, si no hay una buena arquitectura, el trasplante sería una cosa muy dolorosa, por lo que una arquitectura bueno para la migración de software fácil.

3, el máximo de multiplexación.

4, bajo acoplamiento de alta cohesión. 

 

(2) ideas de diseño

Como el controlador de hardware y un módulo funcional en un solo paquete, a continuación, como un niño bloques de construcción, un módulo puede rápidamente colocan juntos para formar un modelo diferente.

Nuestra idea está incrustado arquitectura viene de esto, que cuentan con un diseño modular, diseño jerárquico.

Esto es similar al modelo MVC diseño y desarrollo web, nos estamos centrando en el diseño jerárquico.

 

El diseño modular: la necesidad de recoger, clasificar, analizar y resumir, estos requisitos se puede resumir como una función separada, cada función, un hecho bloques funcionales separados.

diseño jerárquico no expresa directamente una palabra, mira que refleja principalmente en varios aspectos:

1, el módulo funcional externa llama al módulo API encapsulado en una sola, será un controlador de nivel API módulo de llamada a la función baja para. (Módulos funcionales respectivas pueden ser compilados de forma independiente (por ejemplo, el módulo de comunicación pura ANSI C, se pueden multiplexar en cualquier plataforma), o llame a las interfaces de capa controlador (módulo de base de datos de registro de llamadas de la unidad para leer y escribir el flash), resumen, palabras y corto, los distintos paquete de funciones módulos funcionales independientes reutilizables.)

2, API API en el API de capa de unidad y la capa de aplicación, y no todos los programas llaman a la API de capa de conductor. (A través de la aplicación llama a la capa de conductor de llamadas a la API dará lugar a aplicaciones de conducir por todas partes, no es portátil y maximizar la reutilización)

 

En general controlador de hardware sub-capa -> capa de módulo funcional -> lógica de negocio -> capa de aplicación

Un diagrama de bloques esquemático que muestra la estructura general:

Descripción:

1. no puede cruzar capas entre las capas llamadas.

2. Módulo de Módulo de forma independiente, no hay dependencias.

3. El módulo proporciona una interfaz unificada para la llamada superior, la interfaz de módulo interno y externo con claridad.

4. La única función de los aumentos de los módulos, no se puede cambiar.

Las capas de cada módulo puede también continuar en capas, tal como la capa de interfaz, la capa de conductor, la capa de hardware.

 

(3) Descripción del nivel de módulo

controlador de hardware capa de
hardware de capa de controladores contiene todos los pilotos a bordo de los recursos de hardware necesarios para el funcionamiento normal y para proporcionar llamadas a la API en el módulo de función.

El módulo de función
módulo de función para darse cuenta de la capa de función comprende una función específica, llamando a la correspondiente API capa controlador de función, mientras que proporciona una API que se puede llamar a la capa de lógica de negocio.

La lógica de negocio capa de
la capa de lógica incluye varios procesos de negocio la funcionalidad del producto global, implementado por llamadas a la API funcionar capa de módulo.

Aplicación capa de
capa de aplicación para integrar varias llamadas de lógica de negocio, la finalización de la totalidad del producto.

 

(4) Advantage

Si el cambio de unidad, o el cambio de una plataforma diferente, sólo la capa de conductor, la capa de aplicación no se ve afectada.

Si el módulo de función cambia, simplemente actualizar los módulos de función correspondientes, otros módulos no se ven afectados, la capa de aplicación no se ve afectada.

De acuerdo con esta lógica, después de un buen diseño, el trabajo principal se encuentra en la capa de lógica de negocio. El proceso global y un marco para la capa de aplicación, en comparación con el programa, llame a la capa de lógica de negocio principal implementar diferentes funciones.

Publicados 136 artículos originales · ganado elogios 71 · vistas 160 000 +

Supongo que te gusta

Origin blog.csdn.net/u012308586/article/details/104970734
Recomendado
Clasificación