什么是嵌入式软件开发

嵌入式软件开发又是指什么?
随着嵌入式软件系统结构越来越复杂,嵌入式软件的开发已成为复杂的系统工程。早期的嵌入式系统中,软件与硬件密不可分浑然一体,开发者多是电子工程、自动控制等领域的工程师,软件基本上都是用汇编语言实现。随着软硬件技术的发展,人们对嵌入式系统的功能要求越来越复杂(比如,手机可以照相、摄影、播放mp3,还可以上网读新闻、玩游戏、购物等),而性能(比如,可靠性、安全性、响应速度、功耗等)要求也越来越高,与此同时,嵌入式软件的开发与硬件仍然密不可分,从软硬件系统与平台选择、设计、开发到测试与集成,整个过程都是软硬件并行交互进行,这样嵌入式软件开发已经成为一项很复杂的系统工程,嵌入式软件的开发必须遵循系统工程和软件工程的要求。 一个嵌入式系统的开发过程如下:
1)嵌入式系统的需求获取与需求分析;
2)设计系统的体系结构:选择处理器和相关外部设备,操作系统,开发平台以及软硬件的分割和总体系统集成;
3)硬件的结构设计、软件的系统设计;
4)软硬件详细设计:
5)软件代码开发,软件测试与调试;
6)软硬件的联调和集成;
7)系统的测试。
嵌入式系统中软件工作量约占全部工作量的80%,其中测试与验证的工作量占软件工作量的70%。而需求分析、系统设计在复杂系统中成为系统成功实现的关键,很多分析设计方法被引入到嵌入式系统设计中,包括面向对象方法、设计模式等。
基于pc 的软件设计只需考虑选择使用何种操作系统,而嵌入式软件设计不仅要慎重选择嵌入式操作系统,应用软件的设计与操作系统密切结合,甚至要根据需要对操作系统进行适当裁剪。
许多早期的嵌入式系统开发者认为嵌入式系统不需要操作系统,但现在除了最简单的系统外,越来越多的嵌入式系统都引入了操作系统,比如中断驱动系统在引入嵌入式操作系统之后,系统的可靠性、安全性、可扩展性、功能性、灵活性、可管理性都大大提高。当然,我们这里所讲的嵌入式操作系统不一定是ucos、vxworks、wince、linux等通用产品,也包括开发者自己编写的专用嵌入式操作系统。
在这些嵌入式操作系统中封装了越来越多的功能,除了对任务的切换、调度、通信、同步、互斥、中断管理、时钟管理等,还可进一步封装内存管理、网络通讯协议、文件管理等功能,这些功能可以根据需要进行裁减。linux正是由于其源代码开放,可以使开发者根据自己的需要进行裁剪而受到开发者的青睐。

三星GalaxyFold折叠屏手机高清图赏
SDSoC就绪,它如何在实际的设计开发工作中支持你的“表演”
通过弹片微针模组来完美解决FPC测试的难题
如何计算方管的重量,它的计算公式是怎样的
苹果A11芯片将采用10nm制程 A12/A13采用台积电7nm
什么是嵌入式软件开发
OPPO Reno5 Pro究竟值不值得买
争抢AI人才,OPPO华为们要从大学里攻坚前沿科技
深入介绍晶圆代工巨头台积电的先进封装
今年台湾半导体产业产值规模可达到新台币3.21兆元
芯华章将如何实现高端EDA工具的国产替代?
耐腐蚀加热管 四氟乙烯加热管 铁氟龙加热管 螺旋状加热管 昆山晟华
如何回收印刷电路板和印刷电路板的材料
外媒认为华为若执意使用替代操作系统,恐面临失败的窘境
海康威视为何大涨
五分钟看懂丰田TNGA架构
广州首座12英寸芯片厂进行封顶 预计于2019年正式投产
5G移动通信室内分布系统现状分析
使用晶体管构建的简单正弦波发生器电路
军工级工业平板电脑Q8