关于嵌入式开发

写在前面

       嵌入式是一个具有深度和广度的概念,设计的知识面非常广阔,如数字、电子、编程语言和通讯网络等。嵌入式开发就是指在嵌入式操作系统下进行开发。对于嵌入式系统的定义,目前一种普遍被认同的定义是:以应用为中心,以计算机技术 为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面要求严格的专用计算机系统。随着互联网及物联网技术飞速发展和普及,从各种手持的电子产品到空间探测和卫星控制系统,从家用电器到工业生产设备,在工业、军事、通信、运输、金融、医疗、气象、农业等领域,嵌入式发挥了举足轻重的作用。

行业认知

怎么学习嵌入式呢?学习嵌入式,首先要了解嵌入式的方向,如果一开始就买开发板去研究,很容易让自己一头雾水,失去信心,难以坚持下去。嵌入式涉及的内容很多,我们不可能在短时间将其都掌握,一定是需要长时间的知识积累和项目经验的总结和思考。

嵌入式大体可分为软件、硬件两个方向

1、嵌入式硬件

嵌入式硬件的学习难度较大,自学成本很高,岗位相对较少,而嵌入式软件的学习难度相对较小,尤其是应用开发,就业岗位多,薪资也不错,是一个不错的选择。对于嵌入式硬件方向,需要学习硬件电路原理图和PCB的设计、以及硬件的可靠性、稳定性和抗干扰设计。由于大部分集成电路厂商都会提供参考的电路图,硬件电路原理图的设计相对来说会比较简单,因此硬件工程师的主要技术区别体现在所设计的电路的是否稳定、可靠性和电磁兼容等方面。

学习嵌入式硬件,首先需要有一定的硬件基础。基本的电磁、物理定律,电路,数电,模电等需要了解。学会使用一种单片机,不论是8位、16位或者是32位,学习单片机接口的应用,像UART、IIC、SPI、USB、CAN、RS232、RS485等协议。应当熟练使用一种原理图PCB绘制软件,目前常用的软件有Altium Designer、PADS等,只要掌握其中的一款即可。熟练掌握各种元器件的原理及电气特性,并依据此综合特性、成本、供应等各个方面进行器件选型。有一定的英文基础,会看各种芯片的数据手册(datasheet),会使用翻译软件看懂也是可以的。还要有良好的动手能力,熟练使用各种调试仪器如万用表、示波器、逻辑分析仪等,还要会使用EMC测试仪器如雷击浪涌发生器、脉冲群发生器、静电枪等。

2、嵌入式软件

对于嵌入式软件方向可以具体分为三类,分别是嵌入式驱动工程师、嵌入式系统工程师和嵌入式应用工程师。

嵌入式驱动工程师一般是指Linux驱动开发工程师,负责编写和移植各厂商的芯片驱动,因此对硬件的接口协议和操作系统的知识要求很高,门槛相当高;

嵌入式系统工程师主要负责编写固件,根据不同平台移植操作系统、优化系统,需要熟悉操作系统的组成与调度,门槛也很高,主要看项目经验;

嵌入式应用工程师主要负责编写业务逻辑,调用驱动接口控制设备,在软件开发过程中涉及的内容范围非常广,主要使用C语言和C++开发,需掌握计算机网络、操作系统、多线程、数据库和通信协议等知识。同时嵌入式应用工程师也是各大公司里需求量最大,门槛较低的一个职位。从就业的角度出发,对于有一定计算机基础的朋友而已,如果你想入行嵌入式行业,嵌入式应用软件开发可能是比较好的选择,没有之二。

只需要掌握C语言、操作系统基础、数据结构和算法基础、Linux系统编程、C++与STL、Qt界面开发,然后有针对性地背下相关的八股文,就可以在很大程度上应付秋招面试中的理论考察了。

如果你从来没有接触过嵌入式,建议你买一块51单片机开发板、STM32开发板,跟着B站各路大神认真学习课程,把相关的实验项目代码跑一遍,能够让你对嵌入式系统有一个深刻的了解。当然有人带那是最好不过,但千里马常有而伯乐不常有,你可以把自己当做自己的伯乐,相信自己,贵在坚持!

学习路线

嵌入式开发设计的知识面较广,了解知识框架,系统性的学习非常重要,以下是笔者提供的一份学习路线,如今互联网发达,相关课程在各大网络平台均有开源,资源丰富。

一、编程基础

   1、C语言

       需要掌握基本数据类型、运算符和表达式、数组、指针、函数、结构体、联合体、枚举、位运算等知识。其中重点掌握数组、指针、结构体、联合体和位运算,它们在实际产品开发中应用广泛,也是面试中的常考察的知识点。可以先在网上搜索C语言的常见面试题进行学习和总结,学习C语言推荐《C Primer Plus》,认真学习其底层原理。B站推荐华清远见的《C语言程序设计》和千锋教育的《C语言程序设计》。

   2、数据结构和算法基础

        重点掌握数组、链表、队列、栈和二叉树等数据结构。对于经典的算法,一定要有自己的理解并且学会手撕,需要重点掌握的有冒泡排序、选择排序、插入排序、归并排序、快速排序、二分查找算法,面试很有可能让你手撕代码或者问你某个算法的时间复杂度。推荐阅读《大话数据结构》,再做大量练习,加深对数据结构的理解。

   3、操作系统基础

         建议通读一本操作系统教材,把常规的概念理解清楚,书籍推荐《深入理解计算机系统》

二、Linux应用开发

       Linux软件开发需要掌握Linux开发环境的搭建、基本的Linux命令、文件IO和标准IO操作、进程控制、进程间通信、多线程编程、网络编程等,书籍推荐《鸟哥的Linux私房菜》。

 

      1、C++与STL

        推荐书籍《C++ Primer Plus》,在嵌入式在面试中对STL的理论考察点不会太多,这里根据各路大神的面试经历了解到,在面试中可以引导面试官去考察vector和list方面的内容,尤其是vector,能学多深就学多深,其他容器可以不懂,但vector一定要会!

      2、QT界面开发

       在有一定的C++基础之下,建议学习Qt框架,框架并不困难,有C++基础的话上手会很快,可以增加你的就业面,因为很多嵌入式项目和军工、医疗设备项目都有提到Qt框架。此外,不少研究生的研究方向与图像处理、点云处理相关,会接触到OpenCV、PCL这些库的使用,我们其实可以和Qt结合起来做一个相对完整的软件项目。若是要做些算法,像OpenCV这样的计算机开源视觉库可以用心学学,可以尝试着做做学校、商店、公司等都会使用到的人脸识别系统,笔者这里给各位朋友提供一份OpenCV学习文档——> https://opencv.org ,大家可以先尝试着在Linux上使用C++调用OpenCV实现人脸识别,自己做一个简单的人脸识别系统也是不错的想法。有条件的话,可以录制一下项目的工作视频和实验图片,在线上面试的时候,以PPT形式来介绍自己的科研经历。Qt学习中,需要重点掌握信号事件循环机制对象树等。课程推荐传智教育的Qt从入门到实战。

     3、补充

       ①在学习C++过程中,还可以接触一些C++单元测试框架,比如Google Test。Google Test是由Google开源的C++单元测试框架,简称gtest。

        ②FreeRTOS,全称Free Real Time Operating System,即免费的实时操作系统。相比于常见的Windows,MacOS,Linux等操作系统,实时操作系统(RTOS)是一种轻量级的操作系统,适用于嵌入式硬件中,用于解决单片机类裸机轮询方式在处理多个任务时的实时性不高的问题。

如果你有一定单片机开发基础,建议掌握它,可以提高你的竞争力。关于FreeRTOS的文档资料,推荐韦东山的freeRTOS教程。

        ③ROS,全称Robot Operating System,即机器人操作系统。它一个通信框架,如今已经广泛应用于机械臂、移动底盘、无人机、无人车等许多种类的机器人上。如果你以后想去机器人公司工作,掌握ROS是一个加分项。在这里我推荐Autolabor的ROS教程。

        ④SQLite是一个基于C语言编写的关系型数据库管理系统,是一个程序库。与许多其他的数据库系统不同,它是被嵌入到终端程序中的。SQLite作为嵌入式数据库软件, 可以说是部署得最广泛的数据库引擎,已经被一些浏览器、操作系统和嵌入式系统(如手机)广泛使用。

推荐教程SQLite教程。

        ⑤嘉立创EDA,一款基于浏览器的免费电路板设计软件,在线绘制原理图、仿真、PCB软件,学习PCB设计,可以关注微信公众号嘉立创EDA,有不少开源的硬件工程可以参考学习。    

结语

无论何时,就业形势永远是复杂的,ChatGPT4 已经问世,AI迅速发展,我们能做的就是跟上时代节奏,抓住机遇勇敢面对挑战,如今大环境骤变,新的一百年充满着为什么,我们无法改变它,我们能做的只有尽量适应它然后调整自己,这可能听起来很残酷,但这是真的。心灵鸡汤听听就好,但内心应当提高觉悟,努力学习不断提高自身能力,提高竞争力是关键。加油吧,各位!请保持热爱,如果有喜欢的东西,那就努力去争取!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28041.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

万字长文说清大模型在自动驾驶领域的应用

交流群 | 进“传感器群/滑板底盘群/汽车基础软件群/域控制器群”请扫描文末二维码,添加九章小助手,务必备注交流群名称 真实姓名 公司 职位(不备注无法通过好友验证) 作者 | 张萌宇 随着ChatGPT的火爆,大模型受到的…

Android开发成功转行车载开发之后,并没有想象中的那么简单,我承认,是我小瞧了它

前言 近几年的Android开发岗位就业环境想必大家也都有所耳闻,许多Android开发工程师都找不到自己满意的工作,于是纷纷另谋出路… 刚好这几年随着Android车载开发的兴起,令人眼睛一亮的是车载开发工程师的工资普遍偏高,这高昂的工…

2023年,Android程序员就业方向是怎样的?

一转眼,2023年一半就要过去了,各位Android程序员的工作还顺利吗? 今年以来各大厂纷纷爆出裁员的新闻,Chat GPT等人工智能工具的爆火也让今年IT行业的就业状况雪上加霜。 不少人觉得近几年的打工人普遍又卷又焦虑,岗位…

如何定义一款好的自动驾驶芯片?

导读 自动驾驶领域,传统处理器的竞争规则正发生急速的变化。 一般来说,人工智能的发展主要取决于两大基本要素:算力和算法。自动驾驶作为目前技术投入较大、商业落地较早、市场前景广阔的人工智能应用,其主控芯片的算力也被业内拿…

星火认知大模型发布,科大讯飞入场科技巨头AI大战?

自从ChatGPT横空出世,一个更美好的世界开始向我们招手。为了推开新时代的大门,几乎所有人工智能厂商都投入了最大的热情逐浪AIGC。 5月6日,科大讯飞召开了“讯飞星火认知大模型”成果发布会。发布会现场,科大讯飞董事长刘庆峰展示…

浪潮之巅 OpenAI有可能是历史上第一个10万亿美元的公司

淘金时代很像 如果你那个时候去加州淘金,一大堆人会死掉,但是卖勺子的人、卖铲子的人永远可以赚钱。所谓的shove and pick business。 大模型是平台型机会。按照我们几天的判断,以模型为先的平台,将比以信息为先的平台体量更大。…

ChatGPT告诉你智能制造

ChatGPT自上线以来,几乎得到了外界的一致好评,上线两个月,获得1亿月活跃用户,成为增长最快的面向消费者的应用。 面对ChatGPT拟人一般的问答能力,很多人认为它代表着AlphaGo之后,人工智能应用的第二次浪潮…

这一次AI应该是真正的已经到来

渐渐感觉这一次AI的变革能真正的突破迷雾,迎来真正的人工智能时代的到来。所以写篇博文学习一下。经过半年的发酵与发展,不得不说AI已经成为了不可逆转的趋势。之所以说这一次AI应该是真正的已经到来,是因为人工智能的发展其实已经经历了几十…

chatgpt赋能python:Python在电气行业中的应用——从数据分析到自动化控制

Python在电气行业中的应用——从数据分析到自动化控制 介绍 Python语言作为一种高级编程语言,越来越受到电气行业的关注。随着互联网、物联网以及大数据时代的到来,电气行业需要将传统的工业控制与现代化的数据分析、智能决策等技术相结合,…

学会提示-AI时代职场必修课

作者:京东 何雨航 “ 上个时代要学会提问,这个时代要学会提示。” 引言 当你在写提数代码时,小张已经完成了数据分析;当你正在整理材料时,小王却在和对象逛环球影城;述职时,你发现小郑的汇报有…

来 Azure 学习 OpenAI 四 - 用 Embedding 赋能 GPT

大家好,我是学生大使 Jambo。在我们前一篇文章中,我们介绍了 OpenAI 模型的调用。今天,我将为大家介绍 Embedding 的使用。 嵌入是什么 嵌入(Embedding )是一种将高维数据映射到低维空间的方法。嵌入可以将高维数据可…

北信源VRVEIS网管软件测试

本文出自 “李晨光原创技术博客” 博客,谢绝转载!

北信源顺利获得信息技术服务标准(ITSS)符合性二级证书

近期,北信源系统集成有限公司顺利通过了中国电子工业标准化技术协会信息技术服务分会的专家评审,成功取得了“信息技术服务标准(ITSS)符合性二级证书”,具备了为客户提供更专业、标准化、可信赖的IT服务能力&#xff0…

北信源携手天津麒麟共建国产信息安全

【51CTO.com原创稿件】操作系统安全是计算机网络系统安全的基础。在网络环境中,网络系统的安全性依赖于网络中各主机系统的安全性,而主机系统的安全性正是由其操作系统的安全性所决定的,没有安全的操作系统的支持,网络安全也毫无根…

华为鸿蒙生态伙伴峰会,华为鸿蒙生态加速!北信源率先参与其中

华为鸿蒙OS connect伙伴峰会来了! 北信源与金山办公战略合作签约仪式现场 (右一:北信源董事长林皓先生 右二:金山办公CEO章庆元先生) 5月12日,北信源与金山办公战略合作签约仪式在北京国家会议中心成功举行。在主题演讲环节,东莞华为CTO蒋兴发表了以《携手共筑安全领域可信鸿蒙…

成功粉碎北信源监控程序vrvedp_m.exe ,vrvrf_c64.exe,svchost.exe,vrvrf_c.exe

公司安装了北信源的监控软件,用360粉碎了大部分北信源的程序文件,但是有几个程序进程始终开机启动,进程无法杀死,一度成了我的一块心病! 后来不知咋的灵光一闪,彻底将其粉碎的毛都不剩,现将成功…

北信源华为鸿蒙概念,A股华为鸿蒙概念板块的股票有哪些

华为作为最近热点的股票,近日又启动鸿蒙高校人才计划,相关的概念股票都炒作了一波,华为鸿蒙概念股票成为热点之一,A股华为鸿蒙概念股票有哪些,目前还有多少的上升空间,我们来了解一下。 A股华为鸿蒙概念板块…

卸载北信源桌面监控攻略Uninstall VRV

北信源是个公安部认可的木马软件,用于监控员工的上网行为,网管可远程控制安装了客户端的机器,包括截图或上传下载任意文件。 内网监控客户端进程运行的特征:启动任务管理器,可以看到vrvrf_c.exe、vrvedp_m.exe、vrvsaf…

ChatGPT底层架构Transformer技术及源码实现(一)

ChatGPT底层架构Transformer技术及源码实现 Language Model底层的数学原理之最大似然估计MLE及最大后验概率MAP内部机制详解 Gavin大咖微信:NLP_Matrix_Space 传统人工智能算法的真相(The Truth Under Traditional AI Algorithms),传统人工智能算法是相对于贝叶斯(Bayesia…

AI稳定生成图工业链路打造

前沿 这篇文章会以比较轻松的方式,跟大家交流下如何控制文本生成图片的质量。 要知道如何控制文本生成质量,那么我们首先需要知道我们有哪些可以控制的参数和模块。要知道我们有哪些控制的参数和模块,我们就得知道我们文本生成图片的这架机器…