我之前写过几篇嵌入式入门的文章

不过我的读者还是觉得不够过瘾,我觉得还是要着重说一下嵌入式软件应该重点学习什么,guoqing收假最后一天写文。

嵌入式入门建议(内附资料福利)

C指针-这该死的嵌入式学习生涯

嵌入式入门必读

精通C语言 

精通C语言 

精通C语言

C语言对于嵌入式软件来说就是他的命脉,不懂C语言的人根本就不能说想搞嵌入式,而想学好嵌入式,那么就必须要精通C语言,你在大学,可以不参加电赛,不跟老师做项目,但是一定要学好C语言,如果说切菜是厨师的基本功,那么C语言就是嵌入式程序员的基本功,这也是很多招聘公司把C语言来考察面试者的原因。

分享一份C语言学习资料,这个资料是比较全面的,都是电子书,大家有选择性阅读,目前为止应该是最全面,最好的C语言学习pdf资料了。

链接:

https://pan.baidu.com/s/15LZKixjFQzs0ZNfOo2ZWpQ

提取码:

gx7w

熟练数据结构和算法

数据结构和算法有点因岗位而异,有的岗位基本很少用到数据结构和算法,可能工作十来年,挂着一个嵌入式软件的头衔,结果没写过一个链表,基本的语法都是一些 if 和锁 ,控制GPIO口之类的,但是用不到不等于不学,我们所知道的所有操作系统,都脱离不开数据结构和算法,而且嵌入式软件是需要和操作系统代码强相关的,嵌入式软件的代码依赖操作系统的代码来运行,学习好数据结构和算法,可以让你看到猪是怎么跑的,但是至于以后入职工作,能不能用这方面的技术来吃猪肉,那就要看缘分了。

数电模电基础

嵌入式软件不同于互联网,很大一部分就是因为跟硬件息息相关,所以必须要有数电和模电基础,像一些锁相环,与门,或门之类的东西,我们是需要清楚的,纯软件开发可能不需要懂这方面,但是电子技术的话,这些基础是必不可少的。

模电是很多人的一个心病,我当年也是学不好,像三极管,二极管,mos管之类的,还要理解一些电路设计,这部分是大学电子课程的基础,当然,如果你没有这个机会,可以买几本书来学习下。

从51单片机开始

我觉得搞电子的每个人都应该学习51单片机,很多直接从ARM开始学习的也学得很好,能找到一些不错的工作,但是我还是建议从51开始,51学起来也不难,还能练习C语言,51用来裸跑是非常不错的,理解CPU的工作原理,学习一些通信协议,比如I2C,SPI,点亮LED灯,练习下中断,定时器,后面再做做多任务,学完多任务后,就可以去学习系统相关的东西了。

学习嵌入式系统

嵌入式系统,这个东西就比较多了,在学习51之后,你可以学习STM32,STM32标配的就是freertos系统,系统是从多任务衍生过来了,你理解了多任务,再学习系统就不是什么难事了,实时系统我还是推荐学习freertos。

分时系统的话,那肯定是Linux了,如果你跟我一样,特别喜欢Linux,你也可以直接上Linux 学习,Linux是一个很大的东西,有应用,驱动,运维,如果你做嵌入式,就一定不是运维之类的工作,所以,Linux私房菜 这类的书籍是不适合你的,你要看的是《Linux 设备驱动》,《Linux内核设计和实现》这类的书籍。

嵌入式软件面试

C语言是每个嵌入式软件面试必备的,我记得我在毕业的时候,去参加一个公司面试,被要求当场写一个键盘扫描的程序,刚开始是比较紧张的,我拿到这个题目的时候,也是一愣一愣的,后来我缓了一下,我认为我自己的知识储备完全可以拿下这样简单的面试题,就是那次,我当场在面试官面前写了键盘扫描的程序,虽然是很简单的代码,但是第一次面试还是比较紧张的。

我想说明一件事情,我们从大学里面学到的东西,如果都认真学习了,完全可以应对面试题目,但是面试的松弛程度,紧张程度,是需要我们不断练习,最后孰能生巧,不紧张了,表现好自己,拿下offer的概率就会增大的,网上那些100%拿下offer的分享,我是不相信的,面试本身就是技术加临场表现的,现在的毕业生,我看来技术都是差不多的,特别现在学习资料都差不多,即使刚开始有点差距,如果有学习的心态,后面能补回来也是很快的。

嵌入式工作会做什么?

我前面说了下,嵌入式的工作是万金油,这个也只是相对来说的,在大企业里面,不可能让一个人从事非常多的任务,这样会导致一个问题,风险非常大,你承担的任务越多,那么风险就越大,所以大企业需要的是在某个领域非常专业的人才,从事的事情也是非常专业的,单一的。

单一的工作需要一个Leader来指挥,这就需要一个架构师,这个架构师需要指导你往哪里天聪你的代码,你拉了一车砖头过来,不能随便就乱扔吧,这就需要规则,需要架构师来制定这个规则,所以就出现了各种软件总工。大企业需要单一的某个领域的人才,但是小企业,需要的就不是了,他们需要比较全面的人才,他们没有那么多钱来请各个方面的人才,比如你要做一个手环,在小公司,那你就需要把驱动,应用,后台通信,各个功能子模块都一个人来完成。但是如果你在大公司,你可能就只负责手环的功耗部分,如果功耗有问题就来找你,其他的事情,就不是你负责的范围。

音视频

音视频这部分一直都是一个大模块,企业应该把这部分脱离开来找人,所以如果你是从事这部分相关工作的,可以深入专研。很多企业,专门成立多媒体部门,研究的就是音视频相关的技术,编解码等等,数据传输等等,都是他们要做的技术。

算法相关

有的嵌入式岗位专门研究算法的,比如一些openface等算法一直,还有用matalab做一些算法运算,这些都是嵌入式相关,也是比较专一的岗位,当然了,工资也是比较高的,研究算法的人才因为对某些东西比较有研究,反过来做一些系统或者应用的开发也是如鱼得水,技术相关的东西很多都是相通的。

平台相关

嵌入式硬件的不同平台,导致了在不同平台上有经验的人才就不一样,如果你是做rockchip的,那么你就具备这部分的经验,你可以一直从事rockchip方面的开发,这就是平台性相关,如果你是做全志平台的,那你可能更擅长全志平台的,如果跳槽,你找全志平台的话,会更有竞争力,别人也更看重你之前的工作经验。

对于文章中的学习资料可以在公众号回复 「 1024 」 获取,有些资料链接过期的,可以私聊我获取。

参考:https://blog.csdn.net/qq_33835307/article/details/83062526


扫码或长按关注

回复「 加群 」进入技术群聊

jsp是在html里面嵌入哪种代码?_再说嵌入式入门相关推荐

  1. jsp是在html里面嵌入哪种代码?_奶茶店铺用哪种制冰机才合适?

    像在这样炎炎的夏日,温度在直线飙升,茶饮市场最近可谓是异常火,店铺人流量一旦增多,还能保证每一杯饮品的质量吗?还能保证门店的制冰机产量能够跟上需求节奏吗? 奶茶店铺用哪种制冰机才合适?今天,腾工智能商 ...

  2. 【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】...

    页面传值--最佳答案6种方式: 一. 使用QueryString变量 QueryString是一种非常简单也是使用比较多的一种传值方式,但是它将传递的值显示在浏览器的地址栏中,如果是传递一个或多个安全 ...

  3. 在java里如何跨网页传参_【页面传值6种方式】- 【JSP 页面传值方法总结:4种】 - 【跨页面传值的几种简单方式3种】...

    JSP 页面间传递参数是项目中经常需要的,这应该算是 web 基本功吧. 试着将各种方式总结下来,需要时可以进行权衡利弊选择最合适的方式. 1. URL 链接后追加参数 URL 后面追加参数 resp ...

  4. 用Jsp来实现文件下载功能的几种方式

    用Jsp来实现文件下载功能的几种方式 1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中.这样做的缺点是把文件在服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限).这 ...

  5. 防止网页被嵌入框架的代码

    最近,国内开始流行另一种流氓行为:使用框架(Frame),将你的网页嵌入它的网页中. 比如,有一家网站号称自己是"口碑聚合门户",提供全国各个网上论坛的精华内容.但是,其实它就是用 ...

  6. PHP被浏览器解释成注释,HTML+CSS入门 在HTML中嵌入的php代码会被浏览器注释掉如何解决...

    本篇教程介绍了HTML+CSS入门 在HTML中嵌入的php代码会被浏览器注释掉如何解决,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < html中嵌入php代码时,没有输 ...

  7. c51 嵌入 汇编语言,单片机代码编程时如何嵌入汇编语言

    有一次有读者提问,想从C51单片机转入stm8单片机来学习,那么进行软件编程时能不能使用汇编呢?小编本文就简要介绍下如何使用C语言编程嵌入汇编语言. stm8单片机编译有两种嵌入汇编指令的方法.第一种 ...

  8. 提供第三种代码生成方式——通过自定义BuildProvider为ASP.NET提供代码生成

    2019独角兽企业重金招聘Python工程师标准>>> 之前写了一些关于代码生成的文章,提供了两种不同方式的代码生成解决方案,即CodeDOM+Custom Tool和T4.对于AS ...

  9. 25种代码坏味道总结+优化示例

    前言 什么样的代码是好代码呢?好的代码应该命名规范.可读性强.扩展性强.健壮性......而不好的代码又有哪些典型特征呢?这25种代码坏味道大家要注意啦 1. Duplicated Code (重复代 ...

最新文章

  1. 【EXLIBRIS】随笔记 011
  2. K-Means 聚类实例sample
  3. 烦人的幻灯片(信息学奥赛一本通-T1395)
  4. tomcat路径配置详解
  5. bzoj 3513: [MUTC2013]idiots【生成函数+FFT】
  6. java drawlines()方法
  7. Unity3d--AR/MR 技术
  8. OpenNESS AF 模块代码梳理
  9. c语言 文件指针移动一位,c语言怎样移动文件指针到制定位置?
  10. linux限制用户只能访问网站,Linux中限制用户访问权限的3种方法
  11. P68是什么意思 IP67和IP68等级有什么区别
  12. 让旧Mac免费获得 iWork 套件的秘籍
  13. 地图定位技术揭秘(三)
  14. org.hibernate.MappingException: Unknown entity常见问题(新手需注意)
  15. Java下变量大小写驼峰、大小写下划线、大小写连线转换
  16. Pytorch中torch.isfinite()、torch.isinf()、torch.isnan()函数的使用
  17. tensorflow1运用模型断点续训、恢复图和进行预测
  18. 时钟周期是干什么的?底层原理是什么?
  19. F#中有趣的计量单位
  20. android 蓝牙hf编程,基于Android蓝牙Inband ring功能实现.doc

热门文章

  1. Spring 依赖注入(集合)/util命名空间/自动注入
  2. devops的重要性_为什么反馈而不是指标对DevOps至关重要
  3. 量子计算与量子信息_量子计算会破坏安全性吗?
  4. 勇敢一次_开放网络需要勇敢的新英雄吗?
  5. VSCode自定义代码片段13——Vue的状态大管家
  6. VSCode自定义代码片段10—— 数组的响应式方法
  7. photo-sphere-viewer.js使用时图片拉伸的问题
  8. 教程 | MySql都会了,确定不学习一下MyCat分片?
  9. HTML5 Canvas中 绘制圆弧
  10. 结构变量的定义和引用