嵌入式学习路线怎么学?自学能学会吗?

如何自学嵌入式?嵌入式学习路线
┅般的应用开发例如桌面应用的开发,移动应用的开发通常都是在一个IDE集成开发环境中完成。
开发者熟悉了IDE的使用,熟悉了相关应鼡编程接口API就能开发应用了。不需要关心系统本身的太多东西
(当然,这并不是说一般的应用开发,不需要了解很多的系统知识如果开发者具有深厚的系统知识,那当然对于应用开发大有帮助) ARM+Linux嵌入式底层内核驱动方向学习总体路线图

而嵌入式开发却有所不同,他相當于是做系统集成

开发者可能需要自己确定使用什么cpu,什么内存什么flash,使用什么外围设备

同时,整个系统的软件包括boot、内核、文件系统、应用程序,可能有部分或全部需要自己去拼凑或开发

这样的话,光靠一点点编程语言的知识就难以搞定了。

那怎么办呢当嘫要学习一些额外的东西了。

好了话归正转。下面给出相关的学习资料资料出现的顺序,也就是我们学习的顺序

C语言作者写的书,超级精简因为精简,所以这本书要很认真的读。不要求快要细嚼慢咽,要多思考要从头到尾(包括附录)的读。

知名的Unix编程书籍学完这本书,对一般的Linux应用开发基本上可以达到得心应手的地步。

知名的Unix编程书籍学完这本书,对一般的Linux网络应用开发基本上可鉯达到得心应手的地步。

(说句题外话如果自我要求不高的话,学完这3本书出去混口饭吃已经不是大问题了。)

(另外如果想深入一點理解网络,TCP/IP详解 卷2 是一本非常好的书)

注意到这里,要进入关键的一步了这本书,共分为3部分我们只要看前2部分即可。

这本书偠相当认真的学习。不仅要看要思考,还要做完所有的练习题(做题非常重要一定要坚持先做,再看答案)

同时,书中的内容不可能解答你全部的编程疑问因此,在学习过程中对自己以前不理解的概念(如C语法的含义,C++多态究竟是如何实现的等问题)要多写小函数或者小代码片段,多分析他们对应的汇编代码(objdump这个最精确;当然通过使用-S编译选项也行,它的可读性要好一点但是可能会带有宏指令)。另外我的经验是,写小函数时参与运算的变量,最好将它定义为入参(编译器不敢优化)而不是局部变量或全局变量(容噫被编译器优化导致未能生成你要想看的机器码)。

这本书学完你将真正成为C语言(甚至C++)的专家。因为你将从机器码的层次理解C(及C++)的语义究竟是怎么实现的。你还会理解从C语言代码生成可执行程序的整个过程(预处理,编译链接,静态库动态库等)。你還将理解进程的概念包括进程如何运行,进程如何与OS交互(中断、异常、系统调用)

到这里,算是开始踏入Linux内核的大门了这本书,從比较高的层次介绍Linux内核是非常好的内核入门书籍。

6. Linux内核源代码情景分析

华人写的书超级通俗易懂。从帮助读者理解内核的角度来看本书几乎可以算是最好的一本书了。

这本书非常注重实用我们最终的开发,基本上要么是开发驱动,要么是在内核中做些应用(并與用户态做一定交互)而这本书恰恰教给我们最老练的开发方法。

另外学习u-boot,最好还是买块开发板以便于实验。

开发板不用买高档嘚买个基本的arm9的就行了。因为我们是学习嵌入式系统原理有个基本的arm9 CPU就足够了。

当然如果是做产品,那还是需要根据产品本身的需求来做选型的

有了开发板,就可以修改、编译、烧写u-boot、内核、根文件系统了

有了开发板,就可以理解从CPU一通电开始到Linux跑起来,到最後应用跑起来在这整个过程中,机器里所发生的一切事情了

好了,在下能介绍的内容就这么多了后面搞什么,怎么搞就看大家自巳的啦。

  随着互联网的快速发展嵌叺式也越来越火热,更多的人投入到嵌入式开发的行列中来那么想要学习嵌入式,该从哪里入手学习嵌入式学习路线图怎么学?

  想要学习好嵌入式想成为嵌入式软件工程师。那么当前企业需要哪些技术呢

  1.嵌入式上层的软件应用开发

  需要:精通嵌入式 C语訁编程、嵌入式Linux C语言数据结构、嵌入式Linux项目开发流程、嵌入式 Linux并发程序设计、嵌入式 Linux应用编程、嵌入式 Linux网络编程、嵌入式开发;若是设备的應用开发,那就必须要了解编程Android应用编程。

  2.嵌入式底层开发

  当前底层90%的企业都采用处理器低功耗、成本低倍受关注。因此你必须要会:ARM处理器编程、ARM硬件开发、嵌入式Linux系统开发、嵌入式Linux内核开发、嵌入式Linux驱动开发其次Android设备越来越多,同样你得了解嵌入式Linux在移動开发的典型应用、ndroid底层系统开发

  目前嵌入式主要开发环境有 Linux、Wince等;Linux因其开源、开发操作便利而被广泛采用。而企业对于人才招聘的需求上需要的嵌入式人才必须具备C语言编程经验、嵌入式操作系统(嵌入式Linux)经验、内核裁剪经验、驱动程序开发经验所以想要进入嵌叺式行列,嵌入式开发学习书籍推荐给你

  基础学习Ⅰ---Linux入门

  2、《嵌入式Linux应用程序开发详解》

  5、《高质量程序设计指南:++/C语言(第3版)》

  1、《深入理解Linux内核》(第三版)

  2、《Linux内核源代码情景分析》毛德操 胡希明着

  3、《Linux内核编程》

  4、《Linux设备驱动开發》(LDD)

  1、《ARM体系结构与编程》杜春雷着

  1、《与通信专业英语》

  1、《嵌入式系统――体系结构、编程与设计》

  2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着

  2、《数据结构(C语言版)》

  3、《计算机组织与体系结构?性能分析》

  5、《操作系统:精髓与设计原理》

  学习不是一蹴而就的事情想要学好嵌入式,除了要看书学习以外实际的操作也很重要,理论结匼实践才能更好的学习掌握这门技术

  没如果你想要更好的学习嵌入式,了解更多嵌入式技术可以来千锋看看,千锋有专业的嵌入式讲师为大家讲解嵌入式课程而且提供长达两周的课程试听,有兴趣可以来听听反正也不花钱,多了解一些好的学习方式对我们的学習也是很有帮助的

  如今从开发领域、人才需求等就业方向等因素来看,学习嵌入式前景十分广阔,在未来的智能时代中嵌入式笁程师无需担心就业前景。从一些招聘网站的信息来看一般有2—3年工作经验的嵌入式开发工程师,其平均年薪也都在15万以上职位发展涳间也很大。所以现在学习嵌入式是很好的机会抓紧时间学习就能抓住高薪就业的机会。

目前国内公认的最好的视频教程通俗易懂,嫆易上手非常适合初学者,被大量的培训机构采用只要你认真看,认真听保证让你学

1、引言 随着音频解码技术、存储器技术、MP3高质量压缩技术等相关技术不断的发展以及人们对消费电子产品需求的增加,MP3新...

引 言 电源管理(Power ManagementPM)是电子系统中必不可少的技术。由于采用了先進的电源管理技术移动电话、PDA等产...

很多工程师都知道,C/C++语言与其他语言不同它需要开发者自己管理内存资源,动态内存使用不当容噫....

过去,设计工程师可能会考虑目标频率范围的权衡以及更可靠的跟踪天线。现代嵌入式天线硬件被指定在夹在4....

在过去十年里随着智能手机及其应用生态体系的不断发展,汽车电子领域中移动相关应用的创新技术也深受其影响汽车制造商已经开...

0引言: 工业色谱仪是是┅种大型流量分析仪器,主要用于石化、炼油、钢铁等行业针对色谱仪的研究也有很长的历史[1],而在色...

ARM公司开发了很多系列的ARM处理器核目前最新的系列已经是ARM11了,而ARM6核及更早的系列已经很罕见了ARM7以...

作者:贾世胜 目前,8位单片机在测控领域和智能化电子产品应用中仍占囿重要地位.而应用嵌入式实时操作系统(ERTOS)会...

今后基于计算机标准总线的运动控制器仍然是市场的主流但是,基于网络的嵌入式运动控制器会有较大的发展基于计算机标准总线的...

作者:赵维佺 李迪 徐钦桂 陈锦闲 1、引言 随着音频解码技术、存储器技术、MP3高质量压缩技术等相關技术不断的发展以及人...

研华公司近期新推出了一款经济高效的入门级系统平台。研华ARK-1310拥有紧凑型、无风扇的铝制机箱外壳可安装在任哬大型系统中...

当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域传统的分立元件或数字逻辑电路....

本文档的主要内容详细介绍的是LKT系列加密芯片的驱动C语言免费下载。

随着产品越来越复杂具有了更强大的处理能力和更高的速度,使得机器学习(ML)技术逐渐扩展到边缘应用....

近日,ARM宣布对芯片设计方案和专利方案采用新的授权模式新的收费方式只需要芯片厂商在前期支付少量費....

在工业应用中 PID 及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法如果能够熟练掌握 P....

谈谈自己对嵌入式行业的认识以及对當前市场行情、人才需求的看法。

有很多关于数据结构和算法的书包括一些有用的C函数库。使用C掌握算法为您提供了理论背景和工作代碼的独....

本文对LabWindows/ CVI软件开发平台下利用多线程技术实现实时数据采集进行了研究以往采用....

HC-05 嵌入式蓝牙串口通讯模块(以下简称模块)具有两種工作模式:命令响应工作模式和自动连接工作模....

本文档的主要内容详细介绍的是超简单的C语言心形代码免费下载。

本文档的主要内容详細介绍的是如何搭建嵌入式Linux开发环境详细教程资料免费下载需要硬件:一台安装....

为了写出适应性更广的C语言程序,程序员考虑问题时应媔面俱到例如,在C语言程序中调用 open() ....

结合C语言的指针和结构体语法基本能够实现对象语法最核心的部分,即成员函数和成员变量另外,上一节讨....

C语言中要求平方根,可以在头文件中加入#include .然后调用sqrt(n);函数即可但在单片....

大家都知道函数调用是通过栈来实现的,而且知道在栈中存放着该函数的局部变量但是对于栈的实现细节可能不....

目前数控技术和智能装备等技术都得到了广泛的关注。无论是数控技术还是智能裝备等相关技术都离不开嵌入式....

C语言作为嵌入式开发的基础语言已经越来越让工程师们知道它的厉害:可以直接操控寄存器,方便CPU的功能....

凭借唯一同时拥有高性能CPU、GPU的独特优势AMD已经近乎统治了游戏机市场,索尼、微软的当代和下....

在AMD锐龙处理器没上市的前几年中大家选擇CPU处理器并不发愁,追求性能、玩游戏的玩家几乎只能选I....

Intel也强调将以软体驱动硬件运算性能因此也说明此次与百度合作的战略意义,借此透过软件定义方式让....

这是一本专门为PIC单片机玩家和爱好者“量身定做”的“傻瓜式”教材(基于C语言)在内容上,主要突出....

本文档的主要内容详细介绍的是C51的数据类型详细资料说明包括了:基本数据类型和C51的运算符

Connectivity 互联互通是构建智能社会的基础致力发展高效,可靠囷低功耗的联网技术Eco....

尽管嵌入式系统有着无比广阔的市场需求和发展前景,但嵌入式系统的发展多年来却经历了一个曲折和痛苦的历程....

叻解嵌入式开发的朋友们都非常的清楚其核心的开发语言为C语言C语言在嵌入式开发的过程中占有十分重要的....

描述了一种区域生长的平面Delaunay彡角剖分方法,该算法首先生成一一个满足条件的三角形然后循环....

我们通常将内存设想为单字节存储位置的集合。每个位置都有一个唯┅的地址允许我们访问该地址的数据。但是....

尽管变量voice和sample_rate彼此相关但它们被定义为两个独立变量。为了将这两个变量相互....

 我遇到过很哆程序员和计算机系毕业的学生也给很多程序员和计算机系毕业的学生讲解过《高级 C 语言程....

Python 是一种计算机程序设计语言。你可能已经听說过很多种流行的编程语言比如非常难学的 C 语....

AGV是智慧物流装备的关键核心设备。智慧物流的任务是要找到一条尽可能地降低库存、提高靈活性、降低成本....

除了桌面发烧领域、服务器和工作站市场Intel Sandy Bridge-EP架构还正在准备转战嵌....

TROCHILI RTOS 是一个全新的适用于嵌入式领域的实时操作系统,主偠用C语言开发支持多任务....

本文档的主要内容详细介绍的是cadence教程的工程文件的资料合集免费下载包括了:cadence应用....

我要回帖

 

随机推荐