嵌入式应用开发的学习内容

嵌入式里有专门的应用开发岗位。这个岗位需要学习哪些内容,下面介绍一下。

  1. c、c++语言:一般用c语言进行编写,要熟练运用;c++也要学习,后面学习数据结构,做算法题也需要用c++语言进行解题,面试也会提问c和c++的基本语法(必问)。
  2. linux网络编程:掌握Socket编程,现在软件开发都在linux下开发,需要熟悉linux系统的操作及相关的命令,应用开发一定会涉及到网络编程,掌握linux下的网络相关的函数及功能使用(重要)。
  3. linux系统编程:linux下的进程通信线程同步、文件系统、Makefile、文件属性和用户用户组、目录和文件、gcc\gdb等
  4. Qt:有一些岗位需要开发上位机界面,一般用qt来做。
  5. 数据结构与算法:链表、树、数组,排序算法、查找算法、字符串匹配等。、
  6. STL:string容器、vector容器、deque容器、stack容器、queue容器、list容器、二叉树、set/multiset容器、pair、map/multimap容器、类型转换等等。
  7. c++11的新特性。
  8. 计算机网络:如TCP/IP协议等。
  9. 设计模式:单例模式、抽象工厂模式等。

全部评论
建议再学一点arm的相关知识,比如中断机制、硬件通信方式uart 、iic、spi,毕竟嵌入式是离不开硬件的
25 回复 分享
发布于 2023-02-15 21:36 广东
老哥您好,我只学过一些c++,刷过70道左右的力扣算法题,别的东西没咋学过,今年就要秋招了,请问走这个方向合适吗?
1 回复 分享
发布于 2023-03-05 01:04 辽宁
嵌入式不用学硬件吗
1 回复 分享
发布于 2023-02-28 17:08 河南
嵌入式软件需不需要单独个人做个项目,然后写进简历的?
1 回复 分享
发布于 2023-02-22 07:31 广东
请问一下老哥,嵌入式软件和硬件有什么区别?那个好点呢?
1 回复 分享
发布于 2023-02-19 10:56 云南
linux应用玩arm板子吗
点赞 回复 分享
发布于 2024-07-03 19:33 上海
楼主有推荐的教学视频吗。我想自学,资料好难找
点赞 回复 分享
发布于 2023-11-17 13:13 湖北
我学校学的大部分是硬件课,单片机玩的还行,打过电赛,垃圾省三,自己学了Linux,Linux驱动写了电demo,然后应用部分主要在学网络,看了一些网络编程的书,makefile能看懂,自己能写点简单的东西,现在是大三,想明年暑假找暑期实习,需要补什么知识呀,尽量是嵌软网络开发相关的
点赞 回复 分享
发布于 2023-10-23 11:34 陕西
Linux有推荐的资料吗?
点赞 回复 分享
发布于 2023-08-13 17:59 重庆
老哥有什么项目推荐吗
点赞 回复 分享
发布于 2023-03-14 16:24 福建
大厂捞人21.22届
点赞 回复 分享
发布于 2023-03-11 20:46 山东
这和C++的后端差别不大吧
点赞 回复 分享
发布于 2023-03-07 19:13 四川
那您这个路线适合linux应用开发吗?
点赞 回复 分享
发布于 2023-03-01 16:05 河南
嵌入式Linux应用开发怎么样
点赞 回复 分享
发布于 2023-02-28 17:08 河南
想转应用开发,楼主有没有推荐的开源项目啊?
点赞 回复 分享
发布于 2023-02-27 20:42 江苏
感觉不卷
点赞 回复 分享
发布于 2023-02-18 18:46 湖南
问一下这个需要要求会数电模电吗?
点赞 回复 分享
发布于 2023-02-18 13:42 广东
嵌入式能去啥公司
点赞 回复 分享
发布于 2023-02-16 18:39 陕西
嵌入式发展怎么样
点赞 回复 分享
发布于 2023-02-16 17:54 天津

相关推荐

首先声明:以下为笔者个人看法,仅供参考,如果你觉得不对,直接别看。之前和粉丝聊过学习路线的问题,发现还是有一些误区存在--同时学linux和mcu方向。这本身没有什么问题,毕竟多学一点也没有毛病。但是由于两个方向的应用场景不同,这就导致无法在同一份工作既做Linux,又做mcu;并且对于大多数人来说,无法同时精通这两个方向,还需要花费大量时间。因此,如果在时间不充裕的情况下,挑一个方向去学习就够了,不需要两个都学。那么接下来分别说一下两个方向:mcu方向(也称为嵌入式软硬件方向)更专注于软硬件结合,也就是说除了软件部分之外,还需要懂硬件,基本的要求是要能看的懂电路原理图和PCB。如果在软件和硬件分的没那么开的公司,作为一名嵌入式软件工程师,不仅要自己写代码,还需要自己画原理图,画PCB。在软硬件分开的情况下,基本要求是要能看的懂电路原理图。这也是大多数人缺乏的点,为什么没offer,为什么没面试,这就是原因。如果你没学历,那只能卷技术(软件和硬件),将自己提高到入门工程师的水平,这样你才能拿到offer,因此建议大家做项目不要只去找开源代码,把别人代码看懂就完事了,而是要自己去把原理图看懂,把硬件焊出来,自己再去把软件部分调通,这才是企业希望看到的项目。linux方向由于岗位较少,通常需要驱动/内核/应用一起做,仅有部分公司或者原厂才会放出单一的岗位出来,如单独的linux驱动岗位,内核/应用岗位等,这个方向可能对硬件能力的要求较低。由于岗位较少,因此门槛就稍微高一些。上述就是笔者对嵌入式两个方向的看法,仅供参考。最后多说一句的是,简历谨慎同时写linux项目和mcu项目,因为实习的时候,主管说看见同时写的,有很大可能是机构出来的,可能简历无法过筛。最后,如果有需要《STM32➕RTOS项目》、《嵌入式八股文合集》及《Freertos开发手册》等资料,也可以私信笔者获取。
点赞 评论 收藏
分享
分享一些建议吧,当然可能建议的有点久远了(个人看法,仅供参考)。如果已经拿到了offer或者是mcu+rtos方向基本都学完了的,请保持继续学习,不要摆烂。特别是趁还有时间,能多学一点对以后职业生涯是很有好处的,甚至能帮助你快速度过试用期。我根据我上班的一些体验来说一下如果大家还有时间的话,需要再多学些什么东西:第一个是c➕➕,上班以后发现c/c➕➕你都要会,c++可以先只学一个基础(至少类和对象、函数重载、构造析构函数、引用、拷贝等)第二个还有时间的话,继续往linux方向学,能学多少学多少,至少你要学会使用linux系统,shell命令敲的很6,并且makefile/gcc工具链是必须要会的。因为对于大多数公司来说没有keil给你用,只能自己去写编译脚本。然后,接下来先往linux应用方向学习(后学linux驱动),主要熟悉linux的系统调用api,到这一步,我觉得整个嵌入式软件的基础已经差不多了。因为在企业中,每个公司行业不一样。我们所谓的mcu、rtos、linux等嵌入式技术栈,其实都是基础(公司内部喜欢称为“平台”),产品功能都是在这些平台上实现的,而每个行业的专精知识才是薪资溢价的重头戏,行业专精知识是什么呢?举个例子,比如我所在的通信行业,协议栈就是最核心的东西,这些协议栈可能部署在arm、dsp、fpga或者是其他SOC平台上,这些平台可能要求你用实时操作系统、linux系统等等。又比如新能源行业的bms、工控行业的伺服驱动等等。因此,建议大家尽量快速把基础打牢固,从而能更快在行业扎根。最后,如果有需要《STM32➕RTOS项目》、《嵌入式八股文合集》及《Freertos开发手册》等资料,也可以私信笔者获取。
点赞 评论 收藏
分享
评论
42
316
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务