不好意思久等了

这篇文章让小伙伴们久等了。

一年多以来,关于嵌入式开发学习路线规划看什么书等问题,被问得没有一百,也有大几十次了。但是无奈自己对这方面了解有限,所以每次都没法交代,搞得实在不好意思。

但是办法总归是有的,正如前篇文章《最近厚着脸皮联系了不少老同学》所聊,虽然我自己不从事这些方向,但寻思了一下,我的同学和朋友中,多少还是有一些从事相关方向并且在一线(或曾在一线)工作过的,所以我就请他们帮忙一起梳理这几个我不熟悉领域的学习路线,这次嵌入式开发就是其中之一。

这篇文章之所以拖这么久,因为沟通实在太费时间了,毕竟大佬们都挺忙,况且梳理总结这件事情本身就比较繁琐,所以等到现在才发出来。

本文在开源项目:https://github.com/hansonwang99/JavaCollection中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...


嵌入式开发难吗?

经过这次和同学的交流,我自己也学到了很多。因为嵌入式方面的很多东西我也不懂,我也算学习了。

站在我个人角度来看,结合以前的学习体验。我觉得嵌入式开发比互联网软开(比如Java后端)还是要难一些的,比如我们搞Java开发的,再怎么说,基本也都是用户态的东西,但嵌入式很多东西都深入到了内核态,所以难度肯定是有的,表现在几个方面吧:

  • 首先,嵌入式它偏底层,软、硬件都要懂,对能力要求本来就要高不少;
  • 其次,嵌入式开发的学习门槛也要高一些,而且像Linux平台下的开发流程,很多人都不习惯,摸不清;
  • 再者,嵌入式学习的正向反馈可能比较慢,尤其是前期学习阶段,导致没有什么成就感,也就坚持不下去了,所以往往就弃坑了。

但是话说回来,做IT的就是这样,越往底层对人能力的锻炼就越高,所以对于能力来说是在升维,所以反过来,如果嵌入式做得好的,我觉得来做互联网问题也不大,到时候就属于降维打击了。


总体学习思路

总体来说,还是可以把嵌入式学习分为三个大的阶段:

首先基础学习阶段,这就包括通用编程基础(C语言、数据结构/算法、操作系统、计网、计组、Linux系统基础)和基本的硬件基础,扎实地掌握这两大基础,是后续持续发展和不断进步的动力源泉。

其次就是嵌入式应用编程阶段,或者说系统平台编程阶段。因为一般会以特定的嵌入式平台和特定的嵌入式操作系统为依托,熟悉这个系统平台上的编程方法和流程。以常见的ARM+Linux平台为例,需要掌握从内存管理到多任务编程、文件I/O、网络编程,甚至图形化界面编程等几个大的方面。

最后就是深入嵌入式底层开发阶段,最常见的就是内核开发和驱动开发,这些统属于内核态开发范畴,所以需要对操作系统内部机制有所涉猎和理解,在此基础上需要掌握从系统移植到内核开发、驱动开发的各个细节,这是成神之路。

大体思路是这样,接下来看一下详细的学习路线和知识点梳理。


学习路线+知识梳理

花了很长时间,就为了整理这张详细的知识路线脑图。当然由于时间有限、能力也都有限,毕竟嵌入式全体系实在太庞大了,包括我那做嵌入式的同学,也不可能什么都懂,有些东西可能没覆盖到,不足之处,还希望小伙伴们一起交流补充,一起完善进步。


书籍推荐

最后,按照整体的学习路线,再推荐一些对应的经典书籍:


后记:本文在开源项目:https://github.com/hansonwang99/JavaCollection中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中...

这次就分享到这里吧,下篇见

每天进步一点点

慢一点才能更快

嵌入式全栈工程师_我花了半个月,整理出了这篇嵌入式开发学习指南(学习路线+知识点梳理)...相关推荐

  1. 肝了半个月,我整理出了这篇嵌入式开发学习学习路线+知识点梳理)

    不好意思久等了 这篇文章让小伙伴们久等了. 一年多以来,关于嵌入式开发学习路线.规划.看什么书等问题,被问得没有一百,也有大几十次了.但是无奈自己对这方面了解有限,所以每次都没法交代,搞得实在不好意思 ...

  2. 【2021最新】大佬花了半个月整理出来的Java后端学习路线,果断收藏了!

    要成为一个符合 BAT.TMD 大厂要求的后端技术工程师,到底需要学哪些技术?后端技术学习路线是怎样的? 学习路线 话不多说,直接上刚画完的后端技术学习路线思维导图框架: ​ 图中的每一个节点都可以点 ...

  3. 《Web全栈工程师的自我修养》读书笔记

    <Web全栈工程师的自我修养>读书笔记 [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://w ...

  4. 招聘全栈工程师 欢迎加入 ArcBlock 中国研发中心

    ArcBlock 正在寻找能够在多元化.多功能.独立团队环境中构建优秀产品的全栈工程师(坐标中国,限 3 人). 如果你能适应远程办公方式,能自我管理时间,喜欢透明的企业文化,乐意和国际化团队分布在全 ...

  5. 招聘移动全栈工程师(iOS 方向)

    ArcBlock 正在寻找能够在多元化.多功能.独立团队环境中构建优秀产品的移动全栈工程师(坐标中国). 如果你能适应远程办公方式,能自我管理时间,喜欢透明的企业文化,乐意和国际化团队分布在全球协作, ...

  6. 招聘 iOS 全栈工程师 欢迎加入 ArcBlock 中国研发中心

    ArcBlock 区块基石正在寻找能够在多元化.多功能.独立团队环境中构建优秀产品的移动全栈工程师(坐标中国). 如果你能适应远程办公方式,能自我管理时间,喜欢透明的企业文化,乐意和国际化团队分布在全 ...

  7. 全栈工程师必备技能栈,聊聊月薪2W以内都该会点啥?

    文章目录 写在前面 全栈工程师 前端技能 框架类 JQuery Bootstrap Less Ant Design AngularJS React Vue 其他框架 后端技能 PHP技术 NodeJS ...

  8. 【微信小程序控制硬件⑦ 进阶篇】动起来做一个微信小程序Mqtt协议控制智能硬件的框架,为心里全栈工程师梦想浇水。

    文章目录 一.前言: 二.涉及的技术点: 三.框架的运行原理: 四.框架代码流程: 4.1 主线程: 4.2 获取设备列表显示设备,以及订阅在线的设备: 4.3 点击某设备如何实现携带此设备信息到控制 ...

  9. Python全栈工程师要掌握的五种知识

    其实,严格点来说的说国内外python全栈的工程师并不多.因为一个合格的python全栈工程师往往在很多的知识领域都有所涉及,那么Python全栈工程师要掌握哪些基础知识呢?现在让我们来看一看. 在谈 ...

最新文章

  1. gffread处理工具
  2. linux配置Httpd授权
  3. Jodd - Java界的瑞士军刀轻量级工具包
  4. gdalwarp:变形工具
  5. 本地提交到yarn_Flink on Yarn三部曲之三:提交Flink任务
  6. 戴尔携手EMC战略合作续签至2013年
  7. web项目移动端在线预览(excel在线预览)
  8. opengl双三次bezier曲面_OpenGL复杂物体建模
  9. LeetCode 1723 完成所有工作的最短时间 题解
  10. 招银网络科技算法面试
  11. Moblin开发手册:理解 Hildon应用程序
  12. 【观察】四川产业转型“加速跑”,鲲鹏生态助推“新升级”
  13. 权重衰减weight_decay参数从入门到精通
  14. 【Python特性】Python中的下划线和双下划线是什么意思?
  15. python爬取股市数据
  16. 贝康医疗收购男科IVD公司星博生物;诺唯赞将展示新冠肺炎全系产品和解决方案 | 医药健闻...
  17. java实现身份证校验算法与介绍详解
  18. 项目实战 | 基于RK3566开发板实现USB摄像头推流(ffmpeg+nginx)
  19. level2接口通达信编程实例
  20. 瑞芯微RK3368规格书 RK3368 datasheet下载 RK3368数据手册

热门文章

  1. Java中的13个原子操作类
  2. 互动直播的视频录制与合成—支持多人离线重入
  3. Microsoft SQL Server 2005 提供了一些工具来监控数据库
  4. c# 操作IIS应用程序池
  5. C语言打印彩色字符——以(枚举法+字符串查找)为例展示
  6. malloc动态内存分配
  7. 单片机四位数加减计算机程序,51单片机简易计算器程序 实现数字的加减乘除运算...
  8. html控制按钮里面的文字,有谁可以告诉我web网页制作中通过三个按钮控制页面上的一段文字放? 爱问知识人...
  9. linux服务器u盘启动项检测不到,将U盘设置为第一启动项之后却检测不到U盘怎么办?...
  10. php 发送delete请求,PHP中使用CURL实现GET、POST、PUT、DELETE请求