资料介绍
嵌入式Linux是什么
嵌入式Linux跟桌面Linux一样,是一个操作系统。从单片机走过来的童鞋往往习惯于直接控制寄存器,事必躬亲,从零开始实现想要的功能。而在嵌入式Linux的世界里,我们首先要抛弃这个思想,应把它作为最后没办法的办法。
就像我们想要在windows系统中编写一个程序,首先想到的不是操作CPU芯片的寄存器,而是学习Windows API一样。我们在嵌入式linux编程时,首先想到的应该是使用现成的驱动或软件或Linux API。没有的话看看能不能修改一下现成的资源为己所用。还是不行的话才考虑自己从头开始写。
我们常说的嵌入式linux系统,其实与电脑端运行的linux系统本质上是一样的,都是使用的linux内核,相同的文件系统目录结构。区别在于嵌入式linux系统多少经过裁剪的,可能在操作时你会发现,有些命令不支持,或者有些命令的个别参数不支持!还有就是内核的功能也有裁剪。 对于不同的行业,根据需求对软硬件进行裁剪选配,这也是嵌入式linux系统广泛应用的特点之一,具体特点包括: 1、C语言即可入门 2、使用命令行
3、强大的网络 4、远程运维 5、成本低
在学习嵌入式Linux之前,肯定要有C语言基础。汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会)。
C语言要学到什么程度呢?越熟当然越好,不熟的话也要具备基本技能。比如写一个数组排序、输入数字求和什么的。
学C语言唯一的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。以前我是用VC来练习C语言的,经常去尝试着写一些C语言竞赛的题目。它们是纯C、纯数学、纯逻辑的题目,不涉及界面这些东西,很适合煅炼你的编程能力。
整体大概是如何的流程
第一,学习基本的裸机编程。
对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式,如果一开始就学linux系统、学移植那么只会马上就陷入一个很深的漩涡。我在刚刚开始学ARM的时候是选择ARM7(主意是当时ARM9还很贵),学ARM7的时候还是保持着学51单片机的思维,使用ADS去编程,第一个实验就是控制led。学过一段时间ARM的人都会笑这样很笨,实际上也不是,我倒是觉得有这个过程会好很多,因为无论做多复杂的系统最终都会落实到这些最底层的硬件控制,因此对这些硬件的控制有了感性的认识就好很多了。
学习裸机的编程的同时要好好理解这个硬件的构架、控制原理,这些我称他为理解硬件。所谓的理解硬件就是说,理解这个硬件是怎么组织这么多资源的,这些资源又是怎么由cpu、由编程进行控制的。比如说,s3c2410中有AD转换器,有GPIO(通用IO口),还有nandflash控制器,这些东西都有一些寄存器来控制,这些寄存器都有一个地址,那么这些地址是什么意思?又怎么通过寄存器来控制这些外围设备的运转?还有,norflash内部的每一个单元在这个芯片的内存中都有一个相应的地址单元,那么这些地址与刚刚说的寄存器地址又有什么关系?他们是一样的吗?而与norflash相对应的nandflash内部的储存单元并不是线性排放的,那么s3c2410怎么将nandflash的地址映射在内存空间上进行使用?或者简单地说应该怎么用nandflash?再有,使用ADS进对ARM9行编程时都需要使用到一个初始化的汇编文件,这个文件究竟有什么用?他里面的代码是什么意思?不要这个可以吗? 诸如此类都是对硬件的理解,理解了这些东西就对硬件有很深的理解了,这对以后更深一步的学习将有很大的帮助,如果跳过这一步,我相信越往后学越会觉得迷茫,越觉得这写东西深不可测。因为,你的根基没打好。 不过先声明一下,本人并没有使用ADS对ARM9进行编程,我是学完ARM7后直接就使用ARM9学linux系统的,因此涉及使用ADS对ARM9进行编程的问题我很难回答^_^,自己去研究研究吧。
第二,使用linux系统进行一些基本的实验。
在买一套板子的时候一般会提供一些linux的试验例程,好好做一段时间这个吧,这个过程也是很有意义的,也是为进一步的学习积累感性认识,你能想象一个从没有使用过linux系统的人能学好linux的编程吗?好好按照手册上的例程做一做里面的实验,虽然有点娃娃学走路,有点弱智,但是我想很多高手都会经历这个过程。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 嵌入式Linux network
- 【嵌入式Linux(基础篇)】从标准Linux到嵌入式Linux + 嵌入式Linux知识架构
- 嵌入式Linux CAN
- 基于ARM与嵌入式Linux的GPRS无线通讯系统
- 嵌入式LINUX的Qt开发入门教程
- 基于树莓派的嵌入式Linux开发教学探索
- 嵌入式Linux应用程序例程
- 在使用负载开关时 时序决定一切资料下载
- 嵌入式的硬件构架一览资料下载
- 长文详解嵌入式Linux系统移植资料下载
- 嵌入式Linux开发教程之嵌入式系统介绍资料免费下载
- 嵌入式开发Linux网络编程培训资料的详细资料免费下载 34次下载
- Linux嵌入式系统ppt学习资料下载 21次下载
- 嵌入式linux教程下载
- 嵌入式LINUX设计与应用
- 文件系统-一切皆文件的设计理念 398次阅读
- 单片机步入嵌入式Linux之触摸屏与tslib 1347次阅读
- 简化SBC的嵌入式Linux软件开发 998次阅读
- 嵌入式Linux启动时间优化的秘密之五-Bootloader 2743次阅读
- 基于嵌入式Linux内核的ARM9运行实现方式介绍 1475次阅读
- 基于Yocto Project的定制嵌入式Linux产品设计浅析 1w次阅读
- 如何在嵌入式Linux中截屏 5907次阅读
- 关于嵌入式系统的特点和Linux内核的实时应用分析 1037次阅读
- 什么是嵌入式Linux内核调试技术?嵌入式开发又面临着哪些问题? 1134次阅读
- 基于PXA255开发板外围字符设备的嵌入式Linux字符设备驱动设计与应用 1138次阅读
- 关于Linux嵌入式操作系统的优势特征详解 5521次阅读
- 一文告诉你七大嵌入式Linux操作系统,你了解多少呢? 1w次阅读
- 学习嵌入式linux系统开发,文件类型一定要分清 809次阅读
- 用Arduino Uno开发板和一块面包板就能轻松搞定这一切 2.4w次阅读
- 嵌入式Linux的学习方法解析 3091次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多