文档章节

嵌入式linux入门学习规划

muliuhai
 muliuhai
发布于 2017/08/10 11:38
字数 1740
阅读 3
收藏 0
点赞 0
评论 0

嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。

◆嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如Palm 之所以在PDA领域占有70%以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;而风河的Vxworks之所以在火星车上得以 应用,则是因为其高实时性和高可靠性。

◆嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要 求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几K到 几十K微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。

实际上,嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难给它下一个准确的定义。现在人们讲嵌入式系统时,某种程度上指近些年比较热的具有操作系统的嵌入式系统,本文在进行 分析和展望时,也沿用这一观点。

一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合的,在这里我们对其不加区分,这也是嵌入式系统和Windows系统的最大区别)。

ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: 

(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) 

(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) 

(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。 

 

从事嵌入式软件开发的好处是: 

(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。 

(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。 

(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。 

(4)兴趣所在,这是最主要的。 

 

兴趣的由来: 

1、成功观念不同,不虚度此生,就是我的成功。 

2、喜欢思考,挑战逻辑思维。 

3、喜欢C 

C是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下: 

相信程序员。 

不要阻止程序员做那些需要去做的。 

保持语言短小精干。 

一种方法做一个操作。 

使得它运行的够快,尽管它并不能保证将是可移植的。 

4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。 

5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。 

方法步骤: 

1、 基础知识: 

目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。 

科目:数字电路、计算机组成原理、嵌入式微处理器结构。 

汇编语言、C/C++、编译原理、离散数学。 

数据结构和算法、操作系统、软件工程、网络、数据库。 

方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。 

主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。 

2、 学习linux: 

目的:深入掌握linux系统。 

方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。 

主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。 

3、学习嵌入式linux: 

目的:掌握嵌入式处理器其及系统。 

方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。 

(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。 

(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。 

主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。 

4、深入学习: 

A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。 

B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。 

C、网络与信息安全技术:如加密技术,数字证书CA等。 

D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。 

说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一 种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。 

© 著作权归作者所有

共有 人打赏支持
muliuhai
粉丝 3
博文 79
码字总数 155337
作品 0
郑州
嵌入式课程技术,学嵌入式要多长时间?

嵌入式可以说已经渗入到我们生活的方方面面,无论是在通讯,还是网络,甚至工控、医疗、电子等领域,嵌入式技术发挥着越来越重要的作用。有参加培训机构学习嵌入式技术的想法,培训嵌入式要多...

长沙千锋 ⋅ 05/31 ⋅ 0

嵌入式软件学习方法 嵌入式软件知识

目前嵌入式软件的学习主要主要面向的几个操作系统是,Linux,WINCE、VxWorks等等。其中Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式软件。下面我们介绍一下嵌入式软件学...

创客学院 ⋅ 04/12 ⋅ 0

嵌入式Linux学习基础规划篇

嵌入式的学习是需要日积月累的,是通过一点一滴的积累才能成为大神。下面来介绍一下嵌入式linux学习基础规划,目标是达到适应嵌入式应用软件开发、嵌入式系统开发或嵌入式驱动开发的基本素质...

创客学院 ⋅ 04/10 ⋅ 0

从端到云-全面讲解物联网全栈开发之道

万物互联的时代即将到来,互联网作为当今最为火热的方向之一,无数开发者沉迷其中,那么从事物联网开发需要哪些知识储备呢?在本次分享中,来自创客学院的刘正道老师从物联网就业与岗位分析、...

笑傲江湖lcx ⋅ 06/11 ⋅ 0

嵌入式Linux驱动学习之引导篇——为什么要选择嵌入式Linux驱动这个方向?

酝酿了几分钟,依旧不知道如何开篇(这可能是工科男的一个通病吧)。索性随意起来,想到哪写到哪,这样也许思维能变得更加活跃呢。 先交代一下背景,本人目前是国内某普通一本高校的一名大三...

life_leaf ⋅ 05/22 ⋅ 0

Android 智能硬件的理解(2018.5.25)

1.智能硬件的理解 首先要认真的去了解目前的智能硬件行业,并且对将来智能硬件的发展有个深刻的认知。可以通过专业的招聘网站上的行业公司和招聘职业等方法了解企业、产品,和对你所做的硬件...

m0_37711172 ⋅ 05/25 ⋅ 0

做IT开发选择嵌入式好还是JAVA好

:IT软件开发眼前道路的选择 一份工作在一个人的生活中占据重要地位,对于一个人的生活质量占据决定性作用,可以说工作决定一个人一生,对于选择工作当然是要选择新兴产业且有发展前途的行业...

educn114 ⋅ 2014/05/16 ⋅ 0

嵌入式是什么 跟电子信息有什么关系

在大学里,有各种各样的专业,有关嵌入式的有有很多,比如说电子信息工程、物联网工程、软件工程等等。学的东西很多很杂,想要往嵌入式方面发展就要多深入学习一下专业知识,嵌入式的发展方向...

创客学院 ⋅ 03/27 ⋅ 0

新手必看,学习Linux重要八招

嵌入式Linux系统开发学习步骤,深圳嵌入式Linux培训高薪一路相伴  最近在嵌入式论坛上经常遇到一些嵌入式linux初学者在询问:嵌入式Linux如何入门?嵌入式Linux开发都需要学习什么?等等。其...

educn114 ⋅ 2014/05/28 ⋅ 0

OSC 第 68 期高手问答 — 嵌入式 Linux 软件开发

OSCHINA 本期高手问答( 4 月 13 日- 4 月 19 日)我们请来了 @吕雪峰 (吕雪峰)为大家解答关于嵌入式 Linux 软件开发方面的问题。 吕雪峰,华中科技大学控制工程与控制理论专业硕士,一线资深...

叶秀兰 ⋅ 2015/04/13 ⋅ 37

没有更多内容

加载失败,请刷新页面

加载更多

下一页

NFS介绍 NFS服务端安装配置 NFS配置选项

NFS介绍 NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导...

lyy549745 ⋅ 5分钟前 ⋅ 0

Spring AOP 源码分析 - 筛选合适的通知器

1.简介 从本篇文章开始,我将会对 Spring AOP 部分的源码进行分析。本文是 Spring AOP 源码分析系列文章的第二篇,本文主要分析 Spring AOP 是如何为目标 bean 筛选出合适的通知器(Advisor...

java高级架构牛人 ⋅ 28分钟前 ⋅ 0

HTML-标签手册

标签 描述 <!--...--> 定义注释。 <!DOCTYPE> 定义文档类型。 <a> 定义锚。超链接 <abbr> 定义缩写。 <acronym> 定义只取首字母的缩写。 <address> 定义文档作者或拥有者的联系信息。 <apple......

ZHAO_JH ⋅ 29分钟前 ⋅ 0

SylixOS在t_main中使用硬浮点方法

问题描述 在某些使用场景中,应用程序不使用动态加载的方式执行,而是跟随BSP在 t_main 线程中启动,此时应用代码是跟随 BSP 进行编译的。由于 BSP 默认使用软浮点,所以会导致应用代码中的浮...

zhywxyy ⋅ 37分钟前 ⋅ 0

JsBridge原理分析

看了这个Github代码 https://github.com/lzyzsd/JsBridge,想起N年前比较火的Hybrid方案,想看看现在跨平台调用实现有什么新的实现方式。代码看下来之后发现确实有点独特之处,这里先把核心的...

Kingguary ⋅ 49分钟前 ⋅ 0

Intellij IDEA神器常用技巧五-真正常用快捷键(收藏级)

如果你觉得前面几篇博文太啰嗦,下面是博主多年使用Intellij IDEA真正常用快捷键,建议收藏!!! sout,System.out.println()快捷键 fori,for循环快捷键 psvm,main方法快捷键 Alt+Home,导...

Mkeeper ⋅ 49分钟前 ⋅ 0

Java 静态代码分析工具简要分析与使用

本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能、特性等方面对它们进行分析和比较,...

Oo若离oO ⋅ 51分钟前 ⋅ 0

SpringBoot自动配置小记

spring-boot项目的特色就在于它的自动配置,自动配置就是开箱即用的本源。 不过支持一个子项目的自动配置,往往比较复杂,无论是sping自己的项目,还是第三方的,都是如此。刚接触会有点乱乱...

大_于 ⋅ 今天 ⋅ 0

React jsx 中写更优雅、直观的条件运算符

在这篇文字中我学到了很多知识,同时结合工作中的一些经验也在思考一些东西。比如条件运算符 Conditional Operator condition ? expr_if_true : expr_if_false 在jsx中书写条件语句我们经常都...

开源中国最帅没有之一 ⋅ 今天 ⋅ 0

vim编辑模式与命令模式

5.5 进入编辑模式 从编辑模式返回一般模式“Esc” 5.6 vim命令模式 命令 :“nohl”=no high light 无高亮,取消内容中高亮标记 "x":保存退出,和wq的区别是,当进入一个文件未进行编辑时,使...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部