嵌入式是软件设计领域的一个分支,它自身的诸多特点决定了系统架构师的选择,同时它的一些问题又具有相当的通用性,能够推广到其他的领域。
嵌入式方向
嵌入式工程师须要掌握的内容非常广泛,主要包含嵌入式软件、嵌入式硬件、以及有关行业、产品的专业知识。作为嵌入式初学者,我们不可能,也没有那么多精力把所有的知识到搞的很精通,我们要学会抓住重点,学会取舍,到达一通百通,事半功倍的进修效果。 首先嵌入式技术主要分为嵌入式软件和嵌入式硬件两大方向。
嵌入式软件方向
嵌入式软件工程师的职责主要是依据产品的功能需求设计好软件,让硬件工作起来。
嵌入式电子产品硬件局部,大局部都是相同的,核心的都是由CPU、RAM和FLASH 几大局部组成,而软件就千差万别了。产品的详细功能都是由软件来达到的,一般来讲一个产品的达到,软件设计的工作量是硬件设计的4 ~ 5倍。
所以一般情况下,一个公司的软件工程师数量是硬件硬件工程师的4~5倍,嵌入式软件工程师需求比硬件工程师大很多,同时跟硬件工程师相比,嵌入式软件工程师学起来相对容易些,所以这里我重点和大家谈一下嵌入式软件工程的进修路线。
文章相对比较长,字数比较多,大家可以先打开头像关注我,之后慢慢看,///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像左下角黑色字体加我也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///
提起嵌入式软件设计,传统的印象是单片机,汇编,高度依赖硬件。传统的嵌入式软件开发者往往只关注达到功能自身,而忽视诸如代码复用,数据和界面别离,可测试性等因素。从而导致嵌入式软件的质量高度依赖开发者的水平,成败系之一身。随着嵌入式软硬件的飞速开展。
今天的嵌入式系统在功能,规模和复杂度各方面都有了极大的提升。假如,Marvell公司的PXA3xx系列的最高主频已经到达800Mhz,内建USB,WIFI,2D图形加速,32位DDR内存。在硬件上,今天的嵌入式系统已经到达甚至超过了数年前的PC平台。在软件方面,完善的操作系统已经成熟,假如Symbian, Linux, WinCE。
基于完善的操作系统,诸如字处理,图像,视频,音频,游戏, 页浏览等各种应用程序层出不穷,其功能性和复杂度鄙偃诸PC软件不遑多让。原来多选用专用硬件和专用系统的一些商业设备公司也初始转换思维,以优秀而廉价的硬件和完善的操作系统为根底,用软件的方式代替以前运用专有硬件达到的功能,从而达到更低的老本和更高的可变更,可维护性。
决定架构的因素和架构的影响
架构不是一个孤立的技术的产物,它受多方面因素的影响。同时,一个架构又对软件开发的诸多方面造成影响。
下面举一个详细的例子。
摩托车的动员机在出厂前必需通过一系列的测试。在流水线上,动员机被送到每个工位上,由工人进行诸如转速,噪音,振动等方面的测试。要求达到一个嵌入式设备,具备以下根本功能:
1.安装在工位上,工人上班前开启并登录。
2.通过传感器自动采集测试数据,并显示在屏幕上。
3.记录所有的测试结果,并提供统计功能。假如次品率。
假如你是这个设备的架构师,哪些问题是在设计架构的时候应该关注的呢?
常见的误解
小型的系统不须要架构
有相当多的嵌入式系统规模都较小,一般是为了某些特定的目标而设计的。受工程师认识,客户规模和项目进度的影响,经常不做任何架构设计,直接以达到功能为宗旨进行编码。这种行为外表上看满足了进度,老本,功能各方面的需求,但是从长远来看,在扩展和维护上付出的老本,要远远高于最初节省的老本。假如系统的最初开发者继续留在组织内并负责这个项目,那么可能一切都会正常,一旦他离开,后续者由于对系统细节的了解不足,就可能引入更多的错误。要注意,嵌入式系统的变更老本要远远高于一般的软件系统。好的软件架构,能够从宏观和微观的不同层次上描述系统,并将各个局部隔离,从而使新特性的添加和后续维护变得相对简略。
对单片机感兴趣的朋友可以找我,我录制了一些关于单片机的入门教程,有需要的童鞋找我拿就像,免费的,私信我“林老师”就可以拿~点击打开我的头像就能领取。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!