嵌入式软件工程师掌握技能(成为一个合格的嵌入式软件工程师)
嵌入式软件工程师掌握技能(成为一个合格的嵌入式软件工程师)
2024-07-05 01:01:49  作者:绚丽流年  网址:https://m.xinb2b.cn/sport/cnu336618.html

成为一个合格的嵌入式软件工程师,怎么分配技能点

一、嵌入式系统

要明白什么是嵌入式软件工程师,我们先从嵌入式系统(嵌入式设备)说起。维基百科上对嵌入式系统的定义如下:

嵌入式系统(Embedded System),是一种嵌入机械或电气系统内部、具有专一功能和实时计算性能的计算机系统。

嵌入式软件工程师掌握技能(成为一个合格的嵌入式软件工程师)(1)

///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像黑色字体加我地球呺也能领取哦。最近比较闲,带做毕设,带学生参加省级或以上比赛///

正文开始:

通俗的讲,嵌入式系统就是一种具有专一功能的计算机系统。我们身边就有好多嵌入式设备,常见的比如智能手机,数码相机等消费类的电子设备,再比如最近几年兴起的诸如智能音箱、智能电视、扫地机器人智能家居设备。当然还包括汽车防抱死系统、各种医疗成像系统等设备。总之各行各业我们都有可能接触到它,尤其随着智能化时代的到来,很多非智能的设备也将逐步由嵌入式设备所替代,典型的如智能门锁。

嵌入式软件工程师掌握技能(成为一个合格的嵌入式软件工程师)(2)

二、嵌入式工程师

随着嵌入式设备应用越来越广泛,相关人才的需求也越来越大。那么相关的人才都有哪些呢?其中最主要的就是嵌入式工程师。嵌入式工程师分为两种:嵌入式硬件工程师和嵌入式软件工程师。

·嵌入式硬件工程师主要职责是负责设计嵌入式系统的硬件原理图,使用相应的工具画出PCB图,后期配合嵌入式软件工程师调试系统。

·嵌入式软件工程师从系统软件上又可以分为两种:BSP工程师和嵌入式应用软件工程师。嵌入式应用软件工程师主要是负责编写基于嵌入式系统的应用软件。类似于基于windows上的QQ, word。由于我本人是做BSP的,因此这里我们着重讨论BSP工程师。

嵌入式软件工程师掌握技能(成为一个合格的嵌入式软件工程师)(3)

三、BSP工程师

BSP,全称Board Support Package,汉语意思即板级支持包。BSP工程师,顾名思义就是负责板级支持包的开发、调试和维护工作。那么什么是板级支持包呢?前面我们讲过,嵌入式硬件工程师负责设计硬件,画出PCB图,工厂会根据PCB图生产出对应的电路板。一个嵌入式系统光有电路板是不够的,还要有对应的软件支持,软件开发的前提是首先使板子正常稳定的工作,然后再在其上编写对应的应用软件以实现其特有的功能。其中使板子正常稳定的工作的代码就属于板级支持包。那么BSP工程师的具体工作有哪些呢?

我们首先从嵌入式设备谈起,前面我们谈到了很多的嵌入式设备,从系统角度来讲这些设备有些是跑操作系统的,有些没有跑。对于不跑操作系统的设备来讲,其功能相对简单一点,使用的主控芯片一般也比较简单,比如风靡一时的51系列单片机、stm系列的单片机。对于这些简单系统来讲,它对软件开发人员要求相对比较低,当然也就没有我前面所说的分工那么详细,有时候甚至从画板、点亮、开发都是由一个人来完成的。对于跑操作系统来讲的设备,就不一样了。一般来讲,跑操作系统的设备其软件开发分

嵌入式软件工程师掌握技能(成为一个合格的嵌入式软件工程师)(4)

三个阶段:

1.点亮板子

第一批板子出厂时是不包含任何软件的。BSP工程师需要结合硬件原理图修改从芯片厂商拿到的参考代码,调试板子,使板子上的操作系统能够正常稳定工作,从而提供一个稳定的开发调试环境,这个过程叫做点亮板子,行话叫做Bringup。这属于BSP工程师最具有价值含量的工作之一,因为它对BSP工程师所掌握的知识的广度和深度都有一定要求。其中会涉及到计算机原理、操作系统,处理器架构等,还包括硬件方面的一些知识。综合起来其最核心的工作就是对内核的移植、裁剪。

2.使能板子上所有设备

上个阶段中,板子的CPU和基本的器件已经能正常工作,这个阶段中将使能所有的外设,并为后面要开发的应用程序提供对应的软件控制接口。这个过程的实质是对应的操作系统下驱动开发的过程,需要掌握硬件工作的原理,操作系统的相关知识。

3.为板子开发应用程序

如前文所述,嵌入式系统是一个具有专一功能的系统,其上所有的硬件,软件都应该为这一功能服务。第二个阶段结束的时候,板子上所有的设备都已经可以正常使用了。这个阶段的任务就是开发应用程序来实现某种特定的功能,应用程序中会使用第二阶段提供的软件接口控制板子上的设备来完成这一功能。

四、BSP工程师应具备的能力

上述前两个阶段属于BSP开发的内容,第三个阶段属于嵌入式应用软件开发的过程。综上所述,BSP工程师主要应该具备的能力主要有:

·掌握计算机原理方面的知识;

·掌握操作系统的相关知识,深入研究某种操作系统,目前来讲,研究linux操作系统应该是大部分人的选择;

·基本的linux(开发环境)操作

·精湛的C语言功底和一定的C /汇编的知识。

·掌握一定的硬件和电路原理方面的知识;

·熟悉常见的接口协议,如I2C, SPI, UART, USB等。

当然作为一个软件开发人员也必须掌握一些通用的软件,比如:

·代码管理软件,常见的如git等;

·代码阅读软件,这个就因个人喜好而不同了,比如:opengrok,source insight,vim下ctags/cscope插件组合等。

  • 小米手机如何设置更流畅(小米手机这样设置)
  • 2024-07-05小米手机这样设置我们使用小米手机,经过大半年的时间以后,手机多少会慢很多,导致不太流畅,这个时候一般都会对手机进行深度清理下面教各位米粉简单设置一下,让手机更流畅一、关闭自启动我们通过打开【设置】-【授权管理】-【自。
  • 素油酿面筋做法(油面筋酿肉上热搜了)
  • 2024-07-05油面筋酿肉上热搜了众所周知,油面筋酿肉上了热搜,很多人可能不了解油面筋酿肉它就是江苏无锡的名菜无锡肉酿面筋,很多人都将它列为有祖母味道的古早味菜肴,每逢过年或远游的孩子回家,祖母、母亲会亲自下厨做这道其实并不复杂但充满。
  • 合同制与国企编制哪个更好(为什么现在有的国企是合同制)
  • 2024-07-05为什么现在有的国企是合同制作为国企职工,我来回答你这个问题最合适不过了首先先交代一下,本人是一名铁路职工国企工作人员,入职中国铁路某集团公司,参加工作6年针对你这个问题,我分两个方面来回答一,为什么有的国企现在也是合同制要清楚。
  • 不耻就问什么意思(你知道不耻下问)
  • 2024-07-05你知道不耻下问你知道“不耻下问”是什么意思吗?其实不“耻下问”还有上一句,连起来就是“敏而好学,不耻下问”孔子被称为孔圣人他是我国有名的思想家,政治家,教育家然而就是这么一个极其牛叉的人物,他认为,无论什么人,包括。
  • 家长怎么应对孩子的厌学(孩子厌学怎么办)
  • 2024-07-05孩子厌学怎么办您的孩子在学习时是否有以下情况:当你做作业时,你经常会走神?你害怕学习,不喜欢学习吗?抱怨自己不喜欢上学,早上赖在床上?甚至拒绝上学,休学在家?…………孩子厌学的现象越来越普遍很多家长其实误解了厌学的。
  • 周星驰电影堪称照妖镜(因为被嫉妒长得帅)
  • 2024-07-05因为被嫉妒长得帅“如花”的扮演者李健仁从影前是餐饮界的大老板,却被周星驰忽悠拍了电影接受采访时,他忿忿不平说:“星仔从小就嫉妒我长得比他帅,身边围着一大群女孩”周星驰小时候在香港圣玛丽奥高中读书,那个时候他个子矮小,。
  • 高远开粮李永保结局
  • 2024-07-05高远开粮李永保结局结局是:李永保作为粮食局局长,兼任粮库主任,知法犯法、玩忽职守,利用职务之便中饱私囊,使国家和人民遭受重大损失,被警方立案调查,最终坐牢了。
  • 一千零一夜七七被表白柏海吃醋(一千零一夜不是小甜剧)
  • 2024-07-05一千零一夜不是小甜剧看完今天的电视剧《一千零一夜》有点理解编剧为什么没有把剧本写成从头到尾的小甜剧,也理解设置戏剧冲突的必要,柏海童年阴影、创想(威廉)坚持不懈地要搞垮花加,这两个问题从一开始就存在,也是必须解决的,如果。
  • 日本动漫十大名著(日本三大动漫病)
  • 2024-07-05日本三大动漫病日本三大动漫病,除了钉宫病还有中二病和五月病钉宫病“钉宫病毒是日本三大疾病其中一种无法治疗的病”钉宫理惠本人也被感染了这种“钉宫病”的病毒,然后大部分的患者都是因为钉宫理惠所配音的角色为媒介所感染,发。
  • 自导自演被绑架骗钱还债(自导自演绑架闹剧)
  • 2024-07-05自导自演绑架闹剧“绑匪”大动干戈将“人质”带至杭州却只索要9000元钱款且看民警如何抽丝剥茧救“人质”抓“绑匪”市民叶女士匆忙来到上海市公安局奉贤分局邬桥派出所报警称自己儿子骆某遭遇绑架被困杭州对方要求汇款9000元。
  • 上海五一买车优惠(史上最大优惠力度)
  • 2024-07-05史上最大优惠力度你知道吗?五月是汽车交易的淡季此时的汽车优惠力度最大今年的五月又遇购物节折扣力度更是前所未有!如果正好打算购置汽车千万别错过这段好时机此时“下手”刚好让人直呼内行5月9日,在位于金山区亭卫公路2258。