嵌入式软件架构实证:层次混淆与改进挑战
100 浏览量
更新于2024-08-31
收藏 187KB PDF 举报
本文主要讨论的是嵌入式软件架构设计中的实例分析,通过两个版本的设计对比,揭示在实际项目中的问题与改进点。首先,作者提到新入职的嵌入式软件开发工程师负责了一个新产品的研发,包括对加速度计、NB-IOT、舵机和外置Flash等功能的测试。测试完成后,他被要求进行产品概要设计。
版本一的架构设计采用了顺序列出模块的方式,如硬件驱动层主要包括MCU初始化、I2C数据存取、SPI数据读取等操作,而应用层则包含了Mcu运行模式切换、震动检测、数据解析、开关锁、数据发送和历史数据保存等功能。这种设计缺乏对整个系统结构的全局视角,比如将MCU初始化和模块启动视为硬件驱动,实际上这些操作更多涉及系统流程而非单纯的驱动层面。
版本二的架构设计则指出了一些问题,首先,强调了架构设计需要从整体上考虑,而不是孤立地看待每个模块或功能;其次,指出MCU初始化这类流程操作应从驱动层剥离,因为它们是系统启动过程的一部分;此外,数据总线读写、系统参数初始化和数据解析等不应仅作为硬件驱动的一部分,而应该归类于应用层的通信功能。
文章的作者对于新员工的技能水平表达了疑惑,认为其来自大企业的背景并不能保证其设计能力,特别是对于嵌入式软件架构设计的基本理解。他质疑在昆明这样的市场,大企业出身的员工是否真的具备这样的专业素养,并指出工资与能力之间的匹配度问题。
总结来说,这篇文章通过实例探讨了嵌入式软件架构设计中的关键要素,强调了从系统整体角度出发的重要性,以及不同层次模块间的明确划分。同时,它也引发了关于软件工程人员素质和期望值的讨论,提醒我们在招聘和培训时不应忽视基础理论和实践经验的结合。
531 浏览量
3452 浏览量
点击了解资源详情
877 浏览量
点击了解资源详情
点击了解资源详情
881 浏览量
141 浏览量
244 浏览量
weixin_38668274
- 粉丝: 2
- 资源: 937
最新资源
- 团队任务:introsort && shakesort
- fsdownload.rar
- Geerooniimoo.io
- full_MEAN_ministore
- project-library
- 曼德尔卡洛
- C语言及数据结构课程设计:超市信息管理系统.zip
- PepperTab-crx插件
- O-HARA_SNS
- 易语言数组剖析-易语言
- archetype-catalog.zip
- RNToDoAppFirebase:有多个列表和选项的待办事项
- holbertonschool-low_level_programming
- 磊科nw336无线网卡驱动 1085.2 中文版
- aesthetic-portfolio
- 遍历窗口控件判断内容被改变-易语言