Redian新闻
>
嵌入式 BSP工程师 到底是干嘛的

嵌入式 BSP工程师 到底是干嘛的

公众号新闻

原文:https://luomuxiaoxiao.com/?p=170

到底什么是BSP工程师呢?来看这篇文章吧

一、嵌入式系统

要明白什么是嵌入式软件工程师,我们先从嵌入式系统(嵌入式设备)说起。维基百科上对嵌入式系统的定义如下:
嵌入式系统(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插件组合等。

END

官方站点:www.linuxprobe.com

Linux命令大全:www.linuxcool.com

刘遄老师QQ:5604215

Linux技术交流群:2636170

(新群,火热加群中……)

想要学习Linux系统的读者可以点击"阅读原文"按钮来了解书籍《Linux就该这么学》,同时也非常适合专业的运维人员阅读,成为辅助您工作的高价值工具书!


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
多位华人上榜全球AI百大人物名单!华为公开半导体新专利;移动海尔华为实现RedCap工业领域验证|AIoT情报走嵌入式方向,一定要软硬件都懂吗?嵌入式开发工程师,写得了代码,焊得了板加州死亡谷最高气温达54摄氏度 逼近世界纪录!特朗普“真相社交”App工程主管辞职!FBI搜捕便利贴大盗:假扮女性十天抢3家银行周三开幕!上海国际嵌入式大会精彩内容抢先看!许家印豢养文工团是干嘛用的?嵌入式:听说,嵌入式这个行业未来十年都不会卷?逢中必反,咋的?轨道交通工程也能通过澳洲EA的土木工程师职业评估,可参考成功案例101个职业讲给孩子听|猎头是干嘛的?到底干嘛的?纽约1幢40层高楼没窗户引猜测。特朗普“真相社交”App工程主管辞职本周开幕|embedded world中国首展暨上海国际嵌入式大会精彩内容抢先看!加州14岁神童大学毕业创172年来纪录 成SpaceX最年轻工程师行业观察 | 优化嵌入式短视频平台管理 提升未成年人保护标准北大硕士7年嵌入式学习经验分享GitHub工程师分享开发Copilot所采用的提示词工程2023 嵌入式现状101个职业讲给孩子听|律师是干嘛的?即将开幕!elexcon电子+嵌入式+半导体大展『观展攻略』来了,8.23-25与您相约鹏城!李玟录音事件升级!导演柳骊回应态度嚣张,她到底是什么来头?音频到底是不是恶意剪辑?嵌入式 BSP 工程师到底是干嘛的彩礼交通工程专业获澳EA土木工程师职业评估并得到了工作相关度的加分!101个职业讲给孩子听|私人图书馆老板是干嘛的?ChatGPT爆火后,NLP工程师应该何去何从?最初的造梦人-马韬原来生命中所有的灿烂,终究要用寂寞来偿还【六月职场读书会报名】工程师的《原则》,豆瓣8.7分大作《卓有成效的工程师》「 云集|职挂云帆 」嵌入式BSP工程师到底是干嘛的嵌入式生成AI将为游戏角色提供动力少年不识愁滋味 冷明101个职业讲给孩子听|建筑师是干嘛的?食品工程澳洲移民与EA生产工程师职评方案3800万美元,Senti Bio转租cGMP工厂并出售CMC工艺
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。