一、嵌入式的难点
嵌入式开发比互联网软开(比如Java后端)还是要难一些的,比如Java开发,基本也都是用户态的东西,但嵌入式很多东西都深入到了内核态。

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

三、嵌入式应用领域
工控、仪器仪表、消费电子、LoT等等。

四、嵌入式方向
纯硬件:硬件电路、PCB、芯片等等。
软硬结合:不带操作系统:单片机开发和嵌入式裸机开发
带操作系统:用户态:应用程序开发和内核态:内核开发+驱动开发

五、嵌入式相关岗位
嵌入式Linux工程师、嵌入式应用工程师、嵌入式系统工程师
嵌入式内核工程师、嵌入式驱动工程师

六、嵌入式知识学习
C语言、C++、数据结构与算法、操作系统原理、操作系统原理、计算机原理、单片机原理、微机原理、Linux操作系统、嵌入式硬件基础

七、常用开发工具
Linux操作系统、常见Linux命令和实用工具、Git/SVN、shell、Vim、GCC、Makefile、GDB、交叉编译工具、SSh、FTP等等。

八、嵌入式典型平台
体系结构:概念和体系结构、工作模式、指令集、寻址方式、寄存器、内存管理单元、常见接口和控制器、通用编程模型、GPIO、中断、定时器、A/D 转换

九、常用协议
UART、IIC、SPI、CAN、USB、局域互联网络LIN、TCP/IP

十、无线模块
蓝牙、WIFI、ZigBee、RF

十一、传感器
温度、湿度、光敏、压力、触摸感应、红外、多轴传感器、GPS、显示模块

十二、嵌入式应用层开发
内存管理/使用:内存分配、内存管理
多任务/编程:进程、线程
文件I/O编程:文件、I/O
网络编程:TCP、IP、UDP、Socket
图形化界面编程:Qt

十三、嵌入式底层开发
可运行系统:BootLoader、Linux内核、根文件系统
Linux内核编程
Linux驱动开发:字符设备开发、块设备开发、网络设备开发、总线设备开发

十四:书籍推荐
C语言:《C和指针》、《C Primer Plus》、《C陷阱和缺陷》、《C专家编程》
C++:《C++ Primer Plus》
数据结构与算法:《大话数据结构》、《数据结构与算法分析-C语言描述》
操作系统:《深入理解计算机系统》
计算机网路:《图解TCP/IP》/《图解HTTP》
Linux操作系统:《鸟哥的Linux私房菜》、《Linux与Unix Shell编程指南》、
《Linux命令行与Shell脚本编程大全》
嵌入式应用开发:《嵌入式Linux基础》、《嵌入式Linux应用程序开发完全手册》、《嵌入式Linux应用程序开发详解》
嵌入式底层开发:《Linux设备驱动程序》、《Linux设备驱动开发详解》、《Linux内核设计与实现》

嵌入式开发学习学习路线相关推荐

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

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

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

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

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

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

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

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

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

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

  6. 嵌入式开发调试学习与思考

    截至今天,自己负责的一个项目算是告一段落,前前后后5个多月时间. 该项目是对公司设计的基于powerpc的处理器进行FPGA仿真阶段的软件验证,以及bootloader和kernel移植,以便芯片进行 ...

  7. 嵌入式开发必须学习qt吗?

    作为一名嵌入式开发行者QT是必须要学的,也许现在不学以后也要学习的.一方面,在嵌入式初学阶段,也就是裸机开发,可能需要自己写上位机,QT就是一个做上位机的一个好用的工具,一般只要会c++学习QT一天就 ...

  8. 嵌入式开发需要学习哪些东西

    刚刚读到这篇文章,对于刚入门嵌入式来说挺有用的,献给向我一样正在迷茫,苦于没有头绪,没人指引的学习朋友们. 主要讨论下嵌入式技术学习方法,主要是针对嵌入式软件. 嵌入式技术是一门边缘科学(又称交叉科学 ...

  9. 嵌入式入门学习笔记6:[转]嵌入式开发需要学习哪些东西

    本文转自迅为开发板iTOP-4412开发板实战手册:http://www.topeetboard.com 刚刚读到这篇文章,对于刚入门嵌入式来说挺有用的,献给向我一样正在迷茫,苦于没有头绪,没人指引的 ...

  10. 【4412嵌入式开发板学习笔记】认识uboot -迅为电子资料分享

    重要说明:这份笔记不是4412开发配套的,是我在网上看视频的时候下载上课老师的笔记后修改的.所以我试了一下笔记上的uboot命令,有些无法使用,可能是uboot版本问题或者文件系统问题.具体原因我目前 ...

最新文章

  1. 【莓控】黑莓8110中文说明书
  2. max分发-(网络系统克隆)
  3. 简谈Redis的线程模型
  4. 在vue项目中对axios进行封装
  5. 七、Go 语言面向对象编程
  6. 本周三、四两场直播丨云时代的数据管理;PG与openGauss的分区特性
  7. 选择语句详解(C++)
  8. 《未来编年史》——关于地球未来2000年的预言
  9. arcgis使用教程和视频教程
  10. vue项目pc端页面适配
  11. 【短视频运营】短视频制作流程 ( 视频存稿 | 写脚本 | 拍摄收音 | 提词器 | 后期剪辑 | 前测工具 | 检查违禁词 )
  12. 阿里云CentOS7.2清除wnTKYg木马
  13. 2023年核盾网络验证-核盾云壳最新逆向教程
  14. Android强行进阶:为何大厂APP如微信、支付宝、淘宝、手Q等只适配了armeabi-v7a/armeabi?
  15. matlab兰州交通大学,兰州交通大学教务处.pdf
  16. 主要是sql查询符合在圆形,多边形区域经纬度的数据
  17. Linux内存管理(四):paging_init分析
  18. 【STM32】USART接收不定长数据、防止数据溢出
  19. python格式化字符串format函数
  20. pdfFactory如何设置限制打印和浏览文档权限

热门文章

  1. 切换电脑窗口的快捷键
  2. 现在世界上到底有多少飞机?
  3. 几种取时间的方法(附代码)
  4. Java验证图片格式
  5. 公司网络很慢很卡的原因分析与处理
  6. omv检查硬盘坏道_MHDD磁盘坏道扫描工具使用方法(详细图文教程)
  7. html页面会出现浏览器崩溃,电脑出现页面崩溃怎么解决
  8. 计算机桌面图标右上角出现双箭头符号,电脑桌面图标有箭头,如何消除小小障碍小编有绝招...
  9. 计算机excel界面,理解Excel工作界面
  10. 操作系统名词中英文对照(一)