嵌入式开发难吗?
经过这次和同学的交流,我自己也学到了很多。因为嵌入式方面的很多东西我也不懂,我也算学习了。
站在我个人角度来看,结合以前的学习体验。我觉得嵌入式开发比互联网软开(比如Java后端)还是要难一些的,比如我们搞Java开发的,再怎么说,基本也都是用户态的东西,但嵌入式很多东西都深入到了内核态,所以难度肯定是有的,表现在几个方面吧:
首先,嵌入式它偏底层,软、硬件都要懂,对能力要求本来就要高不少;
其次,嵌入式开发的学习门槛也要高一些,而且像 Linux平台下的开发流程,很多人都不习惯,摸不清;
再者,嵌入式学习的正向反馈可能比较慢,尤其是前期学习阶段,导致没有什么成就感,也就坚持不下去了,所以往往就弃坑了。
但是话说回来,做IT的就是这样,越往底层对人能力的锻炼就越高,所以对于能力来说是在升维,所以反过来,如果嵌入式做得好的,我觉得来做互联网问题也不大,到时候就属于降维打击了。

总体学习思路
总体来说,还是可以把嵌入式学习分为三个大的阶段:
首先基础学习阶段,这就包括通用编程基础(C语言、数据结构/算法、操作系统、计网、计组、Linux系统基础)和基本的硬件基础,扎实地掌握这两大基础,是后续持续发展和不断进步的动力源泉。
其次就是嵌入式应用编程阶段,或者说系统平台编程阶段。因为一般会以特定的嵌入式平台和特定的嵌入式操作系统为依托,熟悉这个系统平台上的编程方法和流程。以常见的ARM+Linux平台为例,需要掌握从内存管理到多任务编程、文件I/O、网络编程,甚至图形化界面编程等几个大的方面。
最后就是深入嵌入式底层开发阶段,最常见的就是内核开发和驱动开发,这些统属于内核态开发范畴,所以需要对操作系统内部机制有所涉猎和理解,在此基础上需要掌握从系统移植到内核开发、驱动开发的各个细节,这是成神之路。
大体思路是这样,接下来看一下详细的学习路线和知识点梳理。

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

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

狂肝半个月-嵌入式开发学习学习路线+知识汇总相关推荐

  1. 狂肝10个月手搓GPU,他们在《我的世界》里面玩《我的世界》

    梦晨 衡宇 萧箫 发自 凹非寺 量子位 | 公众号 QbitAI 自从有人在<我的世界>里用红石电路造出CPU,就流传着一个梗: 总有一天,这帮红石佬能在我的世界里玩上我的世界. 这一天, ...

  2. 嵌入式开发需要学mysql吗_学习嵌入式开发需要学习哪些课程?如何学习?

    针对很多的大学生嵌入式开发初学者来说,对嵌入式开发的学习还很迷茫.今天信盈达嵌入式培训老师给出参考建议:首先:嵌入式开发需要学习哪些课程?因为嵌入式开发的方向不同,所学习的内容会有所区别,但是无论是哪 ...

  3. 零基础学习嵌入式开发难吗?嵌入式开发需要学习什么

    对于零基础刚开始学习嵌入式的同学很多都会有这样的一个想法,嵌入式开发需要学习什么?如果是电子或计算机专业的人,相对来说,会比较容易入门;而非电子或计算机专业的人,应该先从基本的电路和C语言编程开始学. ...

  4. ARM嵌入式开发板学习路线指引

    如何入门嵌入式?嵌入式开发学习方法步骤  如何入门嵌入式?嵌入式开发学习路线指引  嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有linux,android.  平台:Cortex-A9 ...

  5. 一位久经沙场的嵌入式er站在初学者角度谈谈嵌入式开发与学习的一些问题

    一位久经沙场的嵌入式er站在初学者角度谈谈嵌入式开发与学习的一些问题 在刚刚涉足嵌入式开发的时候,总想找到这样一本书,它可以解决我一些这样那样的疑惑.但是遗憾的是,到现在也没有这样一本书面世,而且我想 ...

  6. 从事嵌入式开发需要掌握哪些知识?从事嵌入式软件开发的前景如何?

    什么是嵌入式? 嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一.嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器.存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很 ...

  7. 深度学习开源框架知识汇总

    深度学习开源框架知识汇总 1 概述 1.1开源框架总览 1.2如何学习开源框架 2 开源框架 2.1 Caffe (1)caffe的使用通常是下面的流程: (2)caffe:图像分类从模型自定义到测试 ...

  8. 牛掰!阿里P7大佬爆肝半个月,把安卓源码解析编成了508页的PDF

    前言 有一部分人拥有非常宝贵的精神,因为他们的坚持和贡献,我们中国的技术才一步步前进,一步步走向世界.Android行业一直在进步和发展,也正是因为这些人坚持总结经验和分享. 比如有位阿里P7大牛,每 ...

  9. #杂谈 个人嵌入式开发的学习

    本人目前从事的是嵌入式软件开发的相关工作.这是一个关于个人做项目时用过的开发工具的杂谈,仅是为了记录学习经历,同时也为和我有同样瞎搞东西的爱好者提供一个学习思路. 前言 我的技术栈: 下面介绍一下我用 ...

最新文章

  1. zabbix部署onealert云警告平台
  2. php对象怎么拆分字符串数组,在PHP中将字符串拆分为Unicode字符数组的最佳方法是什么?...
  3. spring ResponseEntity
  4. Go语言之map练习
  5. HDU1248 寒冰王座【0/1背包+DP】
  6. 使用CSS实现网格+渐变背景色的Web页面背景
  7. 解决android.view.AbsSavedState$1 cannot be cast to android.widget.CompoundButton$SavedState
  8. shell—(色彩处理)
  9. 51最小系统原理图 PCB
  10. 我的RHCE认证考试经历
  11. w ndows无法完成格式化,windows 无法完成格式化2种解决方案
  12. 婴儿纸尿裤的综合分析
  13. 出现Cannot find module 'xxx' 错误
  14. java 父委托机制优点_Java虚拟机父类委托机制设计的优点
  15. 鼠标右键打开命令行cmd(管理员身份)
  16. 检测到u盘但是计算机没有反应,u盘插上电脑没反应,教您修复无法识别u盘问题...
  17. 结构体指针和结构体指针变量的区别
  18. spring boot 外部配置文件1-spring.config.location与spring.config.additional-location的区别
  19. 机器学习中较为简单的算法有哪些?
  20. 教你在Linux上使用ansible写“剧本”,定义一个“剧本”模板后,让控制集群自动执行我们剧本中所写的“剧情”,几个自动化运维的简单实例

热门文章

  1. JAVA 使用 Random 实现概率 可控 抽奖算法
  2. Windows10安装pip
  3. 以门头沟为例:FCoin的投资人有未来吗?
  4. VTK:频域处理——低通滤波(理想+巴特沃斯)
  5. HttpClient访问https,设置忽略SSL证书验证
  6. 九、https反向代理配置
  7. SAAS的概念及优缺点
  8. MPLS和VPLS介绍
  9. 定时循环发送UDP消息(例如:控制远程电脑的开机、关机、重启、打开和关闭程序等)—— 定时执行专家
  10. ava Springboot养老院信息管理系统源码