电子产业一站式赋能平台

PCB联盟网

搜索
查看: 40|回复: 0
收起左侧

不能独立开发,是因为你不懂软件架构

[复制链接]

493

主题

493

帖子

3127

积分

四级会员

Rank: 4

积分
3127
发表于 2024-3-15 08:00:00 | 显示全部楼层 |阅读模式
不想错过,记得右上角-查看公众号-设为星标,摘下星星送给我

nxr5gg2nl0z64079850137.gif

nxr5gg2nl0z64079850137.gif

itfxp3mklsg64079850237.gif

itfxp3mklsg64079850237.gif

嵌入式软件架构设计一般采用分层思想,称为“分层架构”。
part1
一、什么是分层架构?
分层架构(Layered Architecture)是一种将系统分为互相隔离的层,每一层完成特定功能的设计方式。这种架构有助于提高代码的可管理性和可维护性。在嵌入式系统中,分层架构常常如下划分:
物理硬件层:这是系统最底层,包括微处理器、存储设备、传感器、执行器等具体的物理硬件。
硬件抽象层(HAL):提供一个与硬件通信的统一API,使上层软件不用关心硬件的具体实现细节。HAL定义了一组标准的函数或指令集,用于访问接口硬件。
低级驱动层:包括直接与硬件组件如GPIO、ADC、UART等进行通信的驱动程序。这些驱动封装了对硬件的访问,供高级应用使用。
操作系统层:如果嵌入式系统采用了操作系统(如Linux、RTOS等),则该层负责管理硬件资源、任务调度、内存管理、设备管理等。
中间件层:提供一种抽象层,协助开发者处理如通信协议、数据格式转换、设备配置、系统服务等复杂的功能。
应用层:该层包含用于执行特定任务的应用程序。它使用下层提供的服务,并通过用户接口与用户互动。
part2
二、分层架构有哪些实例?
01

2ky10hcqpto64079850337.png

2ky10hcqpto64079850337.png

RT-Thread

3fz5jr01nz264079850437.png

3fz5jr01nz264079850437.png

yopub2l2y4z64079850537.png

yopub2l2y4z64079850537.png

02

华为LiteOS


cl04ktxnkit64079850637.png

cl04ktxnkit64079850637.png

03

基于STM32G474双向DCDC数字电源项目


o4o1ldjr2lr64079850737.png

o4o1ldjr2lr64079850737.png


- 点击查看 -
【基于STM32G474的DCDC数字电源】项目详情介绍

part3
三、为什么要使用分层架构?
使用分层架构主要是因为它提供了如下几个重要的优势:
抽象性和解耦:分层架构通过在硬件和应用代码之间提供抽象层,允许应用程序开发者编写与特定硬件实现无关的代码。这降低了各组件之间的耦合度,方便了软件维护和升级。
可维护性和可测试性:分层架构提高了代码的可维护性,因为每层都可以独立地开发和测试,问题定位也更为直接。
模块化和重用性:嵌入式系统往往需要在不同产品或项目间重复使用某些模块。分层架构设计的系统可以更容易地重用某层代码,减少开发工作量和成本。
跨平台移植性:当嵌入式系统需要移植到新的硬件平台时,分层架构使得只需要改动硬件抽象层和设备驱动层,而应用层和中间件层可以不作或少作修改。
更好的协作:分层架构使得工作可以在项目团队成员间更高效地分工。例如,一些成员可以专注于底层驱动,而其他人可以专注于业务逻辑和用户界面。
安全性和隔离:通过在不同层之间设立防火墙,可以抵御系统级别的故障扩散。若一层出现问题,不会直接影响到其他层,这在安全关键的嵌入式系统中尤其重要。
简化复杂性:嵌入式系统往往需要处理许多低级硬件操作,将这些细节隐藏在底层可以简化上层的逻辑,使得开发更为简单。
规范开发流程:分层架构通过对功能和责任的清晰划分,帮助制定标准化的开发流程,这使得项目更容易管理和跟踪。

gevbam00vlz64079850838.gif

gevbam00vlz64079850838.gif

izlw21qi2hh64079850938.gif

izlw21qi2hh64079850938.gif

扫描下方二维码,加入技术群交流

tiulhoxabfs64079851038.gif

tiulhoxabfs64079851038.gif

mtf2pgccu4t64079851138.gif

mtf2pgccu4t64079851138.gif

dqcwghqvhvz64079851238.png

dqcwghqvhvz64079851238.png

hfa03zfqplb64079851338.png

hfa03zfqplb64079851338.png

微信号:zls_it


tvbkqif30xe64079851438.gif

tvbkqif30xe64079851438.gif
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表