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

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

一、嵌入式系统

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

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


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

正文开始:

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


二、嵌入式工程师

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

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

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


三、BSP工程师

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

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


三个阶段:

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-11-05糖炒栗子的做法首先我们要把买来的栗子,进行一下挑选,选出优质的栗子后,把栗子放入容器中,用清水把栗子洗净,然后洗好的栗子在水中泡会把洗好的栗子控水后,放在菜板上,用刀在栗子顶端切上十字口,所有要炒的栗子都切好待用准。
  • 郭麒麟郭德纲镜花台同台完整版(周群调侃郭德纲长不高)
  • 2024-11-05周群调侃郭德纲长不高熟悉郭德纲的人都知道,早年间郭德纲名气还不算很大的时候曾在安徽卫视做过主持人而且,还在综艺节目中挑战过橱窗48小时,那一段经历可以说是郭德纲早年间的一笔非常珍贵的精神财富当然,被人当猴子一样的看,那滋。
  • 特战荣耀你可能没在意的12件事(之所以害怕拥有)
  • 2024-11-05之所以害怕拥有《特战荣耀》里,“猎豹”的新小队里,郭笑笑的代号叫“孤狼”,但是整个小队里,却不止她一匹孤狼,燕破岳和白龙也是不过,他们三人之所以会这样,原因却各不相同——燕破岳想要成为孤狼,是因为小时候被人出卖过,。
  • 大踏板骑行服推荐(骑行热下穿上身了)
  • 2024-11-05骑行热下穿上身了露营、飞盘、骑行,这个夏天都市年轻人的绝对新宠骑行作为绿色出行的一种生活方式,本身就因其低碳的属性在近些年得到了愈发的重视与喜爱;随着今年夏天骑行热在各大城市陡然掀起的风潮,不仅越来越多的运动爱好者加。
  • 关于给朋友的生日祝福(送给朋友的生日优秀祝福语)
  • 2024-11-05送给朋友的生日优秀祝福语今生有你是朋友,人生携手一起走,走过快乐童年,走过懵懂少年,走过多彩的每一天,感谢上苍把你赐给我,朋友生日快乐!一句问候,一声祝福,一切如愿,一生幸福,一世平安祝生日快乐!今天是你的生日,愿所有的快乐。
  • 海地前总统杜瓦利埃简介(海地吸血鬼小杜瓦利埃)
  • 2024-11-05海地吸血鬼小杜瓦利埃他年仅19岁就登上了海地总统的宝座,是人类历史上最年轻的总统他的父亲是海地历史上臭名昭著的独裁者,他却青出于蓝而胜于蓝,把海地彻底变成了“人间地狱”他为了敛财不择手段,不仅将国际社会的援助资金尽数收入。
  • 小型火锅店需要哪些设备(捋一捋开火锅店需要购买哪些设备)
  • 2024-11-05捋一捋开火锅店需要购买哪些设备近几年餐饮行业蓬勃发展,火锅行业成为创业者加盟的热门项目,火锅加盟店装修施工后必然要考虑设备设施的购买,渝中记忆老火锅就来捋一捋开火锅店需要购买哪些设备呢?当然了,这些只要加盟像渝中记忆老火锅这种好的。
  • pid怎么看(啥是PIDPID可以吃吗)
  • 2024-11-05啥是PIDPID可以吃吗啥是PID?PID,就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种很常见的控制算法PID已经有107年的历史了它并不是什么很神圣的东西,大家一。
  • 白色粉末怎么养花(一勺白粉末)
  • 2024-11-05一勺白粉末善于探索的花友们会发现,其实我们生活中随处可见的很多小东西都可以用来养花,就比如厨房里常见的小苏打就是养花的神器小苏打不仅有非常强的清洁能力,还能抑菌杀菌,用来养花效果非常好那到底怎样正确地用小苏打养。
  • 英牛怀孕40天有啥反应(英牛的孕产记实)
  • 2024-11-05英牛的孕产记实主人公叫巴莎,一只英国斗牛犬两年前的一次偶然,我在网上遇见了这只纯白色的小公主,仅仅一张微博照片,我已被它高贵的气质和温柔的眼眸深深迷住不久后我辗转飞到它所在的城市,在它原生家庭男主人的引荐下,我们终。
  • 河北专接本考什么(河北专接本和专升本有什么区别)
  • 2024-11-05河北专接本和专升本有什么区别正如我们都知道的,对于河北省来讲,专接本、专升本是学历提升方式的两种不同称呼那么,问题来了.......专接本和专升本到底有什么区别呢?首先为大家介绍一下:专接本和专升本的含义专接本在大三时参加的全省。
  • 陈若琳怎么评价全红婵(陈若琳太敬业了)
  • 2024-11-05陈若琳太敬业了国际泳联世锦赛,女子10米台决赛,全红婵以0.3分之差不敌陈芋汐,中国队包揽该项目金银牌但在背后,是中国跳水队所有人的付出,在奥运冠军王涵的镜头下,感受到了奥运5金王陈若琳的不容易,她是全红婵的主管教。