精华内容
下载资源
问答
  • 欢迎下载研华科技主题白皮书: 《2019研华嵌入式服务指南》...出于以上原因,笔者和一些学有所成的朋友共同整理筛选了嵌入式学习的高价值学习资料,节省大家的下载和筛选时间,留出时间来多学多用,才能达到学习的目的。
  • linux嵌入式开发学习线路图
  • 嵌入式开发学习笔记1-了解二极管前言二极管简介二极管的主要参数常用二极管整流二极管检波二极管稳压二极管激光二极管激光二极管的原理参考链接 前言 由于最近选修了嵌入式系统及电路的开发设计这门课,另外感觉未来...
  • 一年多以来,关于嵌入式开发学习路线、规划、看什么书等问题,被问得没有一百,也有大几十次了。但是无奈自己对这方面了解有限,所以每次都没法交代,搞得实在不好意思。 但是办法总归是有的,正如前篇文章《最近厚...

    不好意思久等了

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

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

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

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

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


    嵌入式开发难吗?

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

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

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

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


    总体学习思路

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

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

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

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

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


    学习路线+知识梳理

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


    书籍推荐

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


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

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

    每天进步一点点

    慢一点才能更快

    展开全文
  • 嵌入式开发学习路线图

    千次阅读 多人点赞 2020-03-29 21:17:06
    ARM+Linux嵌入式底层内核驱动方向学习总体路线图 基础学习Ⅰ---Linux入门 目前嵌入式主要开发环境有...统也只是一个简单的操作系统,简单的使用对于嵌入式开发人 员来说价值并不很高,真正有价值的是掌握Lin...
                                     ARM+Linux嵌入式底层内核驱动方向学习总体路线图
         
    基础学习Ⅰ---Linux入门
    目前嵌入式主要开发环境有 Linux、Wince等;Linux因其开源、开发操作便利而被广泛采用。而Linux操作系
    统也只是一个简单的操作系统,简单的使用对于嵌入式开发人 员来说价值并不很高,真正有价值的是掌握Linux的
    基本服务和Linux的设计理念、思想,这对于嵌入式开发人员的长期发展是很极其重要的。Linux 系统有很多发行
    版,RedHat、Ubuntu、Fedora等。作为嵌入式开发人员,我们没有必要把精力放到使用哪个Linux发行版上,
    而是尽快把 Linux系统尽快安装好。如果打算坚持长期学习,那么建议您把自己的电脑做成双系统,而不要在虚拟
    机上安装。
    A)经典书籍推荐:
    基础学习Ⅱ---C语言
    C语言是嵌入式开发必备的基础知识。在Linux下从事C语言的开发,你会觉得更为顺畅、更为自然,因为C语
    言是因unix的出现而诞生的,Linux内 核几乎完全是由C语言编写完成的。学习C语言,如果不会用指针,那么就
    称不上会C语言。做嵌入式开发指针更显得尤为重要,所以做嵌入式开发除了掌握位操 作、限定词等,对指针的掌
    握是不可或缺的。而且要掌握多级指针、函数指针等等。涉及到指针,那么就会讲到内存分配。在大学中,学习C
    语言一般的学习很少讲 到内存分配,但是如果期望从事嵌入式开发,那么就必须懂得C语言是怎么做内存分配管理
    的。指针之外,还要学习模块化编译处理、指针与数组、gcc、 Makefile、GDB、递归、结构体、宏定义使用
    等。C语言是整栋嵌入式大厦的基础,所以在学习嵌入式时,必须把C语言重视起来,多敲代码,多练。一 名优秀
    的程序员必定是通过“体力劳动”再转向“脑力劳动的”,这也是为什么我们要有“写不出代码=0”思想的原因
    所在。
    如果说C语言相当于文字,那么数据结构就相当于在造句、写文章。代码质量有一部分取决于对数据结构的掌
    握程度。在数据结构部分我们要把链表、树、排序作 为学习重点。而且我们也可以查看一些比较常见的函数(如
    strcopy、strcat、printf等)在内核中是如何实现的,以及编写代码模拟堆栈,这 不仅有利于编写代码质量的提
    高,而且还可以初步了解Linux内核精髓,为今后工作打下坚实的基础。
    C++、QT在嵌入式开发领域,是用来开发图形界面的,希望从事上层应用开发及图形界面,那么在C++、QT
    方面需要比较深入的学习。
    A)经典书籍推荐:
    基础进阶---Linux应用程序设计
    Linux的思想源于Unix。Linux继承了Unix的优点,但是没有用UNIX的代码,所有程序都是重新编写的,而且
    Linux与Unix的源码级兼容。Linux是类Unix操作系统。Linux 不仅符合 POSIX 标准,而且还包括其它 UNIX 标准 2014 9 17
    嵌入式学习路线图 _ 如何学习嵌入式 _ 嵌入式学习步骤 _ 尚观嵌入式研究室
    http://www.upemb.com/content/qian-ru-shi-xue-xi-lu-xian-tu
    3/5
    的多种特性,例如,UNIX 的 System V 接口文档(System V Interface Document,SVID)和伯克利软件发布
    (Berkeley Software Distribution,BSD)版本。Linux 采用了折衷的策略,包含了 UNIX 几个典型特性当中最
    实用的一些功能:
    Linux 采用了 SVR4 的进程间通信(IPC)机制:共享内存、消息队列、信号。
    Linux 支持 BSD Socket 网络编程接口。
    许多 Linux 发行版采用 SysV init 机制,支持运行级别。
    此阶段的学习是从事嵌入式上层应用开发以及底层开发人员的必修课程。进程、线程、信号、文件锁、socket是
    这部分内容的重点。要把这些内容学的透彻非要下些苦功夫不可。而且函数是系统提供给我们的,难免要对计算机
    系统深入理解一番。TCP/IP协议也是要涉及到的。有问题建议用Google搜索及登陆chinaunix论坛。通过这个阶
    段的学习,我们就可以初步实现一些应用程序的开发了,如做自己的shell命令解析器、简单的聊天软件、视频多
    播等。
    A)经典书籍推荐
    嵌入式入门---ARM体系结构
    从这部分开始,我们将真正进入嵌入式开发学习阶段。首先我们要知道采用哪种处理器。目前通用嵌入式处理
    器有ARM、MIPS、PowerPC、X86等。从市场产品占有率上看,ARM处理器远远领先于同类其它处理器,并逐
    步掠夺传统51单片机和英特尔市场份额。据招聘网站统计,目前用人单位在技术水平上要求开发人员掌握ARM9
    及以上平台的开发技术。ARM公司在发布ARM11产品后,更改以往的数字标记更新方式,转为发布ARM
    Cortex。但是Cortex并不是更高端,而是全新系列的处理器,比如Cortex M3,它主要应用于机械加工、工控领
    域,目的是取代以前的ARM7处理器。
    在开始学习前,建议有一块自己的开发板,目前ARM9 2440的开发板价格在400-600元之间,ARM11 6410
    的开发板价格要高一些,最便宜的也要1200元以上。在此,提醒大家尽量不要买mini开发板,虽然mini开发板的
    价格要便宜些,但是与正常开发板相比,mini板功能是不完善的。嵌入式汇编有别于X86汇编,所以如果以前没有
    接触过汇编语言,那么没有必要先去学X86汇编再学嵌入式汇编,可以直接学习嵌入式汇编。除了汇编我们还要学
    习ARM指令集。有了开发板,我们要下载相对应处理器的DataSheet及开发板电路原理图。ARM体系结构的学习
    我们是不能完全照抄别人代码的,因为我们自己手中的开发板及处理器与别人是不同的,除非所用的代码是根据你
    手中的开发板来编写的。所以,我们要先去看书、看视频资料理解原理及工作方式等,然后根据自己开发板的电路
    原理图和DataSheet来编写代码,达到理解外围设备工作原理和操作硬件的目的。
    嵌入式提升---Linux内核、驱动
    众所周知嵌入式开发包含至少两个级别,一个是嵌入式内核驱动级别,另外一个是嵌入式应用层开发,而薪
    酬高的、最具价值的无疑是嵌入式内核驱动级别的开发者。真正的嵌入式高手或者企业中的核心开发人员,一定是
    嵌入式底层的内核驱动开发工程师,这些工程师成长比较缓慢,造成对内核驱动人才的大量需求,所以这些人才是
    真正企业需要的香饽饽。掌握驱动开发会让自己的核心能力有极大的飞跃,真正实现嵌入式最有价值的就业。
    由于Linux内核更新速度很快,书籍和视频不可能及时更新,所以我们再看书和视频后,要自己动手下载内核
    源码包,去看内核中的代码,在这里可以充分检验C语言、数据结构等基础知识的掌握程度。而驱动的编写还是要
    借助外设硬件电路原理图和芯片手册。内核和驱动的知识是让我们根据不同的硬件,编写对应的驱动、合理剪裁内
    核、制作文件系统,并移植到硬件开发板上。如果手里有ARM11 6410及以上的开发板,可以试试在裸板上编写
    驱动并移植Android系统到开发板上吧。
     

     

    展开全文
  • 嵌入式开发学习学习路线

    千次阅读 2020-08-21 13:10:55
    嵌入式开发比互联网软开(比如Java后端)还是要难一些的,比如Java开发,基本也都是用户态的东西,但嵌入式很多东西都深入到了内核态。 二、总体学习思路 总体来说,还是可以把嵌入式学习分为三个大的阶段: 首先...

    一、嵌入式的难点
    嵌入式开发比互联网软开(比如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] 。
  • 嵌入式开发学习是一个不断积累和总结的过程,来自一个嵌入式开发高级工程师为我们总结的关于嵌入式开发学习的十三大法则,大家不妨参考一下。
  • 很多朋友在嵌入式开发学习中对软件和硬件经常存有疑惑,本文就向大家详细解释嵌入式开发学习时如何看待软件和硬件的学习。
  • 嵌入式开发学习是一个不断积累和总结的过程,来自一个嵌入式开发高级工程师为我们总结的关于嵌入式开发学习的十三法则,大家不妨参考一下
  • 嵌入式开发学习路线图新版.pdf
  • 【目录】 一、shell命令 1、内建命令 2、外部命令 3、实用程序 4、用户程序 5、shell脚本 二、命令帮助文档 1、命令自身的帮助功能 2、man手册 3、在线帮助文档 三、分类介绍 (一)文件、目录操作...(九)其他命令
  • 嵌入式开发学习笔记

    2015-07-26 17:04:55
    嵌入式开发学习笔记 ( java - c/c++ :从入门到入门 ) 叙述了我从小白到入门过程中遇到的问题以及解决方法。
  • 学习嵌入式的过程,是一个不断积累,不断实践的过程。毕竟,一名有成就的程序员不是一蹴而就的,下面南宁达内资深教师总结了嵌入式学习的13大法则,以供大家参考
  • 最权威ARM嵌入式开发学习路线

    千次阅读 2018-12-12 16:55:04
    最权威ARM嵌入式开发学习路线 最新整理史上最齐全嵌入式资料,嵌入式的ARM体系结构的学习,下面给大家分享嵌入式从入门到精通的资料,全部免费下载,3个G的资料学习,资料都在闯客网技术论坛可以下载,有什么不懂的...

    最权威ARM嵌入式开发学习路线

    最新整理史上最齐全嵌入式资料,嵌入式的ARM体系结构的学习,下面给大家分享嵌入式从入门到精通的资料,全部免费下载,3个G的资料学习,资料都在闯客网技术论坛可以下载,有什么不懂的可以加群解决:813238832
    下载链接:https://bbs.usoftchina.com/thread-206928-1-1.html
    在这里插入图片描述
    图一

    为什么选择学习嵌入式?
    嵌入式系统无疑是当前最热门最有发展前途的 IT 应用领域之一,同时也是当今 IT领域仅存的几个金领职位之一。当前的中国 IT 人才面临严重的“后继乏人”,而且这种缺口由于培训缺乏、教育模式等原因造成的,而缺口最大的,就是高级 IT 人才。如果你从事的 IT 培训不专业,面对竞争越来越激烈的职场,基本找不到工作。据专家预测,嵌入式每年人才缺口在 30 万左右。

    嵌入式行业平均薪资分布
    在这里插入图片描述
    在这里插入图片描述
    图三

    基础学习 Ⅰ —x Linux 入门
    目前嵌入式主要开发环境有 Linux、Wince 等;Linux 因其开源、开发操作便利而被广泛采用。而 Linux 操作系统也只是一个简单的操作系统,简单的使用对于嵌入式开发人员来说价值并不很高,真正有价值的是掌握 Linux 的基本服务和 Linux 的设计理念、思想,这对于嵌入式开发人员的长期发展是很极其重要的。Linux 系统有很多发行版,RedHat、Ubuntu、Fedora 等。作为嵌入式开发人员,我们没有必要把精力放到使用哪个 Linux 发行版上,而是尽快把 Linux 系统尽快安装好。如果打算坚持长期学习,那么建议您把自己的电脑做成双系统,而不要在虚拟机上安装。

    基础学习 Ⅱ —C C 语言
    C 语言是嵌入式开发必备的基础知识。在 Linux 下从事 C 语言的开发,你会觉得更为顺畅、更为自然,因为 C 语言是因 unix 的出现而诞生的,Linux 内核几乎完全是由 C语言编写完成的。C++、QT 在嵌入式开发领域,是用来开发图形界面的,希望从事上层应用开发及图形界面,那么在 C++、QT 方面需要比较深入的学习。

    基础进阶 —x Unix 环境高级编程
    Linux 的思想源于 Unix。Linux 继承了 Unix 的优点,但是没有用 UNIX 的代码,所有程序都是重新编写的,而且 Linux 与 Unix 的源码级兼容。Linux 是类 Unix 操作系统。Linux 不仅符合 POSIX 标准,而且还包括其它 UNIX 标准的多种特性,例如,UNIX 的System V 接口文档(System V Interface Document,SVID)和伯克利软件发布(Berkeley
    Software Distribution,BSD)版本。

    展开全文
  • 本文详细讲解嵌入式操作系统linux下的shell脚本入门。
  • 嵌入式开发学习知识点梳理--思维导图.pdf
  • 国产图形用户界面系统MiniGUI提供完备的多窗口机制和类Win32消息传递机制,便于实现多个进程间的消息传递。而且具有占用内存少、可移植性好等特点,因此在嵌入式领域中被广泛应用。
  • 嵌入式开发学习框架

    千次阅读 2019-09-17 18:38:34
    嵌入式开发学习框架 嵌入式定义 传统定义:是以应用为中心,以计算机技术为基础,并且硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗 严格要求的专用计算机系统。 客观定义:除PC之外的一切计算机...
  • 行业分类-嵌入式设备-一种嵌入式开发学习自动纠错方法及系统.zip
  • Linux嵌入式开发学习指南之GCC工具[参照].pdf
  • Linux嵌入式开发学习路线图
  • 电子-嵌入式开发学习攻略精品资料汇总.zip,单片机/嵌入式STM32-F3/F4/F7/H7
  • 嵌入式开发学习文档合集,包括bootLoader,uImage,zImage分析,文件系统和文件锁,u-boot的分析,移植,sourceInsight使用,mini2440移植手册,嵌入式基础知识等知识文档。
  • 这是本人第一此写博客,接下来的博客中将记录将记录本人本嵌入式开发中的艰辛历程。
  • 嵌入式开发学习笔记 ( java - c/c++ :从入门到入门 ) 叙述了我从小白到入门过程中遇到的问题以及解决方法(2018更新版)。
  • 蓝桥杯嵌入式开发学习索引

    万次阅读 多人点赞 2019-01-26 16:57:44
    联系方式 作者:马一飞 QQ:791729359 蓝桥杯嵌入式开发学习目录 蓝桥杯嵌入式开发经验分享(1.嵌入式学习准备) 蓝桥杯嵌入式开发经验分享(2.液晶驱动参考例程的...
  • 嵌入式开发学习计划

    2011-11-02 12:04:59
    嵌入式Linux操作系统学习规划,嵌入式开发学习计划~

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 113,601
精华内容 45,440
关键字:

嵌入式开发学习