0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式软件架构的设计中分类整理

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2022-08-18 11:47 次阅读

最近项目有点多,总结一下目前接触的软件架构中的几个分类,个人拙见,大家可以相互学习。

1. 分层设计

分层设计,就是把整个流程要做的事情按照模块化各自的特征,进行功能的分层,是和硬件寄存器打交道的,还是完全脱离硬件和业务打交道的。

一般来说,个人总结有几个原则:接口是上下级调用,很少跨层调用。即第4层的代码一般不会直接去第1/2层调用接口,非要用的话,就从第3层透传封装一下。同层级的模块间尽量避免相互调用,需要的数据都是通过高一层的接口获取再下传

MCU程序:单片机程序就是一个程序驱动硬件,实现一个具体功能,代码特点就是从底到高,基本所有层都会涉及,所以对单片机程序进行分层,相对来说会比较完整。5层软件架构

1.硬件驱动层

2.功能模块层

3.应用接口层

4.业务逻辑层

5.应用层

6层软件架构

1.HAL硬件抽象层

2.OSL操作系统

3.HDL硬件驱动层

4.FML功能模块层

5.BLL业务逻辑层

6.APL应用层

pYYBAGL9tT6AaFhHAAGVg09cGE8495.png

功能模块层是按照项目需求提取出来的功能,需要硬件抽象层和硬件驱动层的硬件支持才能实现,功能模块层根据项目的功能需求改变而改变,而硬件抽象层和硬件驱动层则是项目需求书中的功耗等硬件相关的需求变动而改变,当然,若子功能的增加而硬件不支持,则也需更换硬件驱动。比如项目中的数据储存功能,硬件支持有AT24C02、W25Q128和芯片本身的FLASH,都可以支持数据储存功能,即使后期因为功耗或节约成本等问题,硬件的更换也不影响数据储存功能的实现(前提规划好标准规范的API函数定义)且避免了重写该功能代码所带来的各种问题,保证了该功能的稳定性。

裸机上跑操作系统需要考虑系统调度间的问题,内存消耗,内存践踏,内存泄漏,看门狗喂狗等操作。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6037

    文章

    44564

    浏览量

    635978
  • 嵌入式
    +关注

    关注

    5085

    文章

    19138

    浏览量

    305777
  • 软件架构
    +关注

    关注

    0

    文章

    64

    浏览量

    10291
收藏 人收藏

    评论

    相关推荐

    强烈呼吁版主分类整理封装库

    本帖最后由 eehome 于 2013-1-5 09:56 编辑 本论坛99SE封装库太多太乱,五花八门眼花缭乱,令人目不暇接,如果分类整理后再提供下载多好。省得浪费时间在大海里摸索。请版主酌情考虑为盼!
    发表于 03-21 18:10

    嵌入式软件开发中的程序架构

    嵌入式软件开发,包括单片机开发中,软件架构对于开发人员是一个必须认真考虑的问题。软件架构对于系
    发表于 02-02 06:58

    嵌入式C语言的相关资料分享

    为了方便大家平时公交、地铁、外出办事也能用手机回顾查看文章,我特意用心精选,并分类整理了部分文章:嵌入式C语言中嵌套汇编代码C语言 volatile 关键字在编译优化过程中有何作用#in...
    发表于 10-28 06:51

    为何要进行嵌入式软件架构设计?如何设计?

    为何要进行嵌入式软件架构设计?如何进行嵌入式软件架构设计?
    发表于 11-01 06:31

    决定嵌入式系统软件架构的因素和架构的影响

    嵌入式系统软件架构设计目录1.前言42.决定架构的因素和架构的影响42.1.常见的误解52.1.1.小型的系统不需要
    发表于 11-08 06:54

    嵌入式软件架构设计的相关资料分享

    方便其实整理代码结构,最主要想实现的就是:高内聚低耦合这样的代码方便移植管理,流程接口明确。一般的架构图主要就是两部分:分层分模块随便上百度搜了一张嵌入式软件
    发表于 11-09 08:25

    嵌入式工作有哪些分类

    嵌入式技术广泛应用的今天,已经有越来越多的人选择了嵌入式,那么,嵌入式工作有哪些分类嵌入式产品开发是基于产品的功能,从功能需求、提出并选
    发表于 07-14 16:07

    嵌入式软件架构设计

    嵌入式软件架构的设计,帮助我们建立合理,有效的软件架构
    发表于 11-09 17:34 19次下载

    嵌入式软件是什么意思_嵌入式软件分类有哪些

    本文首先阐述了嵌入式软件的概念,其次介绍了嵌入式软件的特征,最后介绍了嵌入式软件
    发表于 08-31 15:54 1.6w次阅读

    嵌入式开发中常用的软件架构

    嵌入式软件开发,包括单片机开发中,软件架构对于开发人员是一个必须认真考虑的问题。软件架构对于系
    的头像 发表于 01-01 10:16 5600次阅读
    <b class='flag-5'>嵌入式</b>开发中常用的<b class='flag-5'>软件</b><b class='flag-5'>架构</b>

    嵌入式软件配置的分类

    嵌入式软件配置的分类嵌入式编码中,有三种配置的方式Pre-compile timeLink timePost-build后记在嵌入式编码中
    发表于 10-20 20:36 8次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>配置的<b class='flag-5'>分类</b>

    嵌入式软件架构

    嵌入式软件架构
    发表于 10-20 20:51 20次下载
    <b class='flag-5'>嵌入式</b>系<b class='flag-5'>软件</b><b class='flag-5'>架构</b>

    精选汇总 | 嵌入式软件设计与开发

    关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号|嵌入式专栏为了方便大家平时公交、地铁、外出办事也能用手机回顾查看文章,我特意用心精选,并分类整理了部分文...
    发表于 12-31 19:26 8次下载
    精选汇总 | <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>设计与开发

    精选汇总 | 嵌入式软件基础知识

    关注+星标公众号,不错过精彩内容作者 | strongerHuang微信公众号|嵌入式专栏为了方便大家平时公交、地铁、外出办事也能用手机回顾查看文章,我特意用心精选,并分类整理了部分...
    发表于 01-13 14:54 0次下载
    精选汇总 | <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>基础知识

    嵌入式软件分类介绍

    嵌入式软件架构设计意图通常伴随着基于个人经验的假设。软件开发人员可能会从资源受限的基于微控制器的系统的角度来看待架构设计。系统人员可能会从应
    的头像 发表于 04-06 11:39 2182次阅读