热搜关键词: 电路基础ADC数字信号处理封装库PLC

pdf

《嵌入式Linux应用程序开发标准教程》 完整版PDF

  • 1星
  • 2014-09-23
  • 11.91MB
  • 需要1积分
  • 100+ 次下载
标签: linux

linux

嵌入式linux

嵌入式linux

华清远见嵌入式培训教材!《嵌入式Linux应用程序开发标准教程》  完整版PDF  -  12章全。

《嵌入式Linux应用程序开发标准教程(第2版)》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux基础、基本操作命令讲起,为Linux初学者能快速入门提供了保证。接着系统地讲解了嵌入式Linux的环境搭建,以及嵌入式Linux的I/O与文件系统的开发、进程控制开发、进程间通信开发、网络应用开发、基于中断的开发、设备驱动程序的开发以及嵌入式图形界面的开发等,并且还安排了丰富的实验内容与课后实践,使读者能够边学边用,更快更好地掌握所学知识。

《嵌入式Linux应用程序开发标准教程(第2版)》可作为高等院校电子类、电气类、控制类等专业高年级本科生、研究生学习嵌入式Linux的教材,也可供希望转入嵌入式领域的科研和工程技术人员参考使用,还可作为嵌入式培训班的教材和参考书。

《嵌入式 Linux 应用程序开发标准教程》
½者:华清远见
1
Linux
快速入门
本章目标
嵌入式
Linux
是以
Linux
为基础的操½系统,只有熟练½用
Linux
系统之后,
才½在嵌入式
Linux
开发领域得心应手。
通过本章的学习,
读者½够掌握如下内容。
½够独立安装
Linux
操½系统
½够熟练½用
Linux
系统的基本½令
认识
Linux
系统启动过程
½够独立在
Linux
系统中安装½件
½够独立设½
Linux
环境变量
½够独立定制
Linux
服务
1.1
嵌入式
Linux
基础
专业始于专注 卓识源于远见
自由开源½件在嵌入式应用上,受到青睐,Linux 日益成为主流的嵌入式操½系统之一。随着摩托½拉手
A760、IBM
智½型手表
WatchPad、夏普 PDA Zaurus
等一款款高性½“智½数码产品”的出现,以及
Motolola、三星、MontaVista、飞利浦、Nokia、IBM、SUN
等众多½际顶级巨头的加入,嵌入式
Linux
队伍越来越庞大了。目前,½外不少大学、研究机构和知名公司½加入了嵌入式
Linux
的开发工½,成熟
的嵌入式
Linux
产品不断涌现。
2004
年全球嵌入式
Linux
市场规模已达
9150
万美元,2005 年有
1.336
亿美元,2006 年有
1.653
亿美元,
2007
年达到
2.011
亿美元,每年平均增长
30%。
究竟是什么原因让嵌入式
Linux
系统发展如此迅速。业界½纳为三大原因︰第一,Linux 在嵌入式系统所
需的实时性、电源管理等核心技术不断发展;第二,½际标准组织(如
OSDL、CELF
等)持续建立嵌入
Linux
相关标准,有效解决版本分歧与兼容性问题;第三,业界主导组织、开发厂商等不断推出嵌入式
Linux
相关开发工具、维护系统。
嵌入式
Linux
以年费订阅方式为主,与其他的以产品利润为收入方式的嵌入式系统不同,弹性的捆绑销售
策略,助其成功地逐年提高市场占有率,从
2004
年的
46.8%扩大到 2007
年的
56.4%。
½际有名的嵌入式
Linux
操½系统提供商
Montavista,收购了 PalmSource
的爱可信和奇趣科技等,加强了
对中½市场的投入,并在整个嵌入式操½系统市场中,占据了重要地½。而嵌入式操½系统的领先厂商,
也改变了原来的单一产品路线,开始推出自己的
Linux
½件产品,实现“两条腿走路”
。½内的嵌入式½件
厂商也以
Linux
为突破口,纷纷开发各种基于
Linux
的操½系统产品。这些嵌入式
Linux
厂商已经½成了
一个不容½视的群½。
以下就从
Linux
开始,一层层揭开嵌入式
Linux
的面纱。
1.1.1
Linux
发展概述
简单地说,Linux 是指一套免费½用和自由传播的类
UNIX
操½系统。人们通常所说的
Linux
Linus
Torvalds
所写的
Linux
操½系统内核。
½时的
Linus
还是芬兰赫尔辛基大学的一名学生,他主修的课程中有一门课是操½系统,而且这门课是专
门研究程序的设计和执行。最后这门课程提供了一种称为
Minix
的初期
UNIX
系统。Minix 是一款仅为教
学而设计的操½系统,而且功½有限。因此,和
Minix
的众多½用者一样,Linus 也希望½给它添加一些
功½。
在之后的几个月里,Linus 根据实际的需要编写了磁盘驱动程序以便下½½访问新闻组的文件,又编写了个
文件系统以便½够阅读
Minix
文件系统中的文件。这样,
“½½有了任务切换,有了文件系统和设备驱动
程序后,这就是
UNIX,或者至少是其内核。
。于是,0.0.1 版本的
Linux
就诞生了。
Linus
从一开始就决定自由传播
Linux,他把源代码发布在½上,于是,众多的爱½者和程序员也½通过互
联½加入到
Linux
的内核开发工½中。
这个思想与
FSF
(Free
Software Foundation)
资助发起的
GNU
(GNU’s
Not UNIX)的自由½件精神不谋而合。
GNU
是为了推广自由½件的精神以实现一个自由的操½系统,然后从应用程序开始,实现其内核。
而½时
Linux
的优良性½备受
GNU
的赏识,于是
GNU
就决定采用
Linus
及其开发者的内核。在他
们的共同努力下,
Linux
这个完整的操½系统诞生了。
其中的程序开发共同遵守
General Public License
(GPL)协议,这是最开放也是最严格的许可协议方式,这个协议规定了源码必须可以无偿的获取并
且修改。因此,从严格意义上说,Linux 应该叫做
GNU/Linux,其中许多重要的工具如 gcc、gdb、
make、emacs
等½是
GNU
贡献的。
这个“婴儿版”的操½系统以平均两星期更新一次的速度迅速成长,如今的
Linux
已经有超过
250
种发行
版本,且可以支持所有½系结构的处理器,如
X86、PowerPC、ARM、Xscale
等,也可以支持带
MMU
不带
MMU
的处理器。到目前为止,它的内核版本也已经从原先的
0.0.1
发展到现在的
2.6.xx。
自由½件(free
software)中的 free
并不是指免费,而是指自由。它赋予½用
4
种自由。
自由之
1:有½用½件的自由。
‐ 2 ‐
专业始于专注 卓识源于远见
有研究该½件如½运½的自由,
并且得以改写该½件来满足½用
自由之
2:
者自身的需求。取得该½件的源码是达成此目的前提。
有重新散布该½件的自由,
所以每个人½可以藉由散布自由½件
自由之
3:
来敦亲睦邻。
自由之
4:有改善再利用该½件的自由,并且可以发表改写版供公众½用,
如此一来,整个社群½可以受惠。取得该½件的源码是达成此目的前提。
GPL:GPL
协议是
GNU
组织、维护的一种版权协议,遵守这个协议的½件
可以自由地获取、查看、½用其源代码。GPL 协议是整个开源世界的精神
基础。
Linux
的内核版本号:
Linux
内核版本号格式是
x.y.zz-www,数字 x
代表版本类型,数字
y
为偶数时
是稳定版本,为奇数时是开发版本,如
2.0.40
为稳定版本,2.3.41 为开发版本,
测试版本为
3
个数字加上测试号,如
2.4.12-rc1。最新的 Linux
内核版本可从
http://www.kernel.org
上获得。
1.1.2
Linux
½为嵌入式操½系统的优势
Linux
系统的发展过程可以看出,Linux 从最开始就是一个开放的系统,并且它始终遵循着源代码开放
的原则,它是一个成熟而稳定的½络操½系统,½为嵌入式操½系统有如下优势。
1.½成本开发系统
Linux
的源码开放性允许任½人获取并修改
Linux
的源码。这样一方面大大降½了开发的成本,另一方面
又可以提高开发产品的效率。并且还可以在
Linux
社区中获得支持,用户只需向邮件列表发一封邮件,即
可获得½者的支持。
2.可应用于多种硬件平台
Linux
可支持
X86、PowerPC、ARM、Xscale、MIPS、SH、68K、Alpha、Sparc
等多种½系结构,并且已
经被移植到多种硬件平台。这对于经费、时间受限制的研究与开发项目是很有吸引力的。Linux 采用一个
统一的框架对硬件进行管理,同时从一个硬件平台到另一个硬件平台的改动与上层应用无关。
3.可定制的内核
Linux
具有独特的内核模块机制,它可以根据用户的需要,实时地将某些模块插入到内核中或者从内
核中移走,并½根据嵌入式设备的个性需要量½裁衣。经裁减的
Linux
内核最小可达到
150KB
以下,
尤其适合嵌入式领域中资源受限的实际情况。½前的
2.6
内核加入了许多嵌入式友½特性。
4.性½优异
‐ 3 ‐
专业始于专注 卓识源于远见
Linux
系统内核精简、高效并且稳定,½够充分发挥硬件的功½,因此它比其他操½系统的运行效率
更高。在个人计算机上½用
Linux,可以将它½为工½站。它也非常适合在嵌入式领域中应用,对比
其他操½系统,它占用的资源更少,运行更稳定,速度更快。
5.良½的½络支持
Linux
是首先实现
TCP/IP
协议栈的操½系统,它的内核结构在½络方面是非常完整的,并提供了对包括十
兆½、百兆½及千兆½的以太½,还有无线½络、Token
ring(令牌环)和光纤甚至卫星的支持,这对现在
依赖于½络的嵌入式设备来说无疑是很½的选择。
1.1.3
Linux
发行版本
由于
Linux
属于
GNU
系统,而这个系统采用
GPL
协议,并保证了源代码的公开,于是众多组织或公司在
Linux
内核源代码的基础上进行了一些必要的修改加工,然后再开发一些配套的½件,并把它整合成一个
自己的发布版
Linux。除去非商业组织 Debian
开发的
Debian GNU/Linux
外,美½的
Red Hat
公司发行了
Red Hat Linux,法½的 Mandrake
公司发行了
Mandrake Linux,德½的 SUSE
公司发行了
SUSE Linux,½
内众多公司也发行了中文版的
Linux,如著名的红旗 Linux。Linux
目前已经有超过
250
个发行版本。
下面仅对
Red Hat、Debian、Mandrake
等具有代表性的
Linux
发行版本进行介绍。
1.Red Hat
½内,乃至是全世界的
Linux
用户最熟悉的发行版想必就是
Red Hat
了。Red
Hat
最早是由
Bob Young
Marc Ewing
1995
年创建的。目前
Red Hat
分为两个系列:由
Red Hat
公司提供收费技术支持和更新的
Red Hat Enterprise Linux(RHEL,Red Hat
的企业版)
,以及由社区开发的免费的桌面版
Fedora Core。
Red Hat
企业版有
3
个版本——AS、ES 和
WS。AS
是其中功½最为强大和完善的版本。而正统的桌面版
Red Hat
版本更新早已停止,最后一版是
Red Hat 9.0。本书就以稳定性高的 RHEL AS
½为安装实例进行讲
解。
官方主页:http://www.redhat.com/。
2.Debian
之所以把
Debian
单独列出,是因为
Debian GNU/Linux
是一个非常特殊的版本。在
1993
年,伊恩·默多克
(Ian
Murdock)发起 Debian
计划,它的开发模式和
Linux
及其他开放性源代码操½系统的精神一样,½
是由超过
800
½志愿者通过互联½合½开发而成的。
一直以来,
Debian GNU/Linux
被认为是最正宗的
Linux
发行版本,而且它是一个完全免费、高质量的且与
UNIX
兼容的操½系统。
Debian
系统分为
3
个版本,分别为稳定版(Stable)
、测试版(Testing)和不稳定版(Unstable)
。每次发布
的版本½是稳定版,而测试版在经过一段时间的测试证明没有问题后会成为新的稳定版。Debian 拥有超过
8710
种不同的½件,每一种½件½是自由的,而且有非常方便的升级安装指令,基本囊括了用户的所有需
要。Debian 也是最受欢迎的嵌入式
Linux
之一。
官方主页:http://www.debian.org/。
3.½内的发行版本及其他
‐ 4 ‐
专业始于专注 卓识源于远见
目前½内的红旗、新华等½发行了自己的
Linux
版本。
除了前面所提到的这些版本外,业界还存在着诸如
gentoo、LFS
等适合专业人士½用的版本。在此不做介
绍,有兴趣的读者可以自行查找相关的资料做进一步的了解。
1.1.4
如½学习
Linux
正如人们常说的
“实践出真知” 学习
Linux
的过程也一样。
只有通过大量的动手实践才½真正地领会
Linux
的精髓,才½迅速掌握在
Linux
上的应用开发,相信有编程语言经验的读者一定会认同这一点。因此,在
本书中笔者安排了大量的实验环节和课后实践环节,希望读者½可½多参与。
另外要指出的是,互联½也是一个很½的学习工具,一定要充分地加以利用。正如编程一样,实践的过程中总
会出现多种多样的问题,笔者在写½的过程½中会½可½地考虑可½出现的问题,½限于篇幅和读者的实际情
况,不可½考虑到所有可½出现的问题,所以希望读者½充分利用互联½这一共享的天空,在其中寻找答案。
以下列出了½内的一些
Linux
论坛:
http://www.linuxfans.org
http://www.linuxforum.net/
http://www.linuxeden.com/forum/
http://www.newsmth.net
1.2
Linux
安装
有了一个初步的了解后,读者是否想亲自试一下?其实安装
Linux
是一件很容易的事情,不过在开始安装
之前,还需要了解一下在
Linux
安装过程中可½遇到的一些基本知识以及它与
Windows
的区别。
1.2.1
基础概念
1.文件系统、分区和挂½½
文件系统是指操½系统中与管理文件有关的½件和数据。Linux 的文件系统和
Windows
中的文件系统有很
大的区别,Windows 文件系统是以驱动器的盘符为基础的,而且每一个目½与相应的分区对应,例如
“E:\workplace”是指此文件在
E
盘这个分区下。而
Linux
恰½相反,文件系统是一棵文件树,且它的所有
文件和外部设备
(如硬盘、
光驱等)
½是以文件的½式挂在这个文件树上,
例如
“/usr/local” 对于
Windows
而言,就是指所有分区½是在一些目½下。总之,在
Windows
下,目½结构属于分区;Linux 下,分区属
于目½结构。其关系如图
1.1
和图
1.2
所示。
1.1
Linux
下目½与分区关系
1.2 Windows
下目½与分区关系图
因此,在
Linux
中把每一个分区和某一个目½对应,以后再对这个目½的操½就是对这个分区的操½,这
样就实现了硬件管理手段和½件目½管理手段的统一。这个把分区和目½对应的过程叫做挂½½(Mount)
而这个挂½½在文件树中的½½就是挂½½点。这种对应关系可以由用户随时中断和改变。
想一想
Linux
文件系统的挂½½特性给用户½带来怎样的½处呢?
‐ 5 ‐
展开预览

猜您喜欢

推荐帖子 最新更新时间:2024-11-13 03:53

带情感属性的久坐提醒锻炼智能戒指
本帖最后由 辛昕 于 2020-12-5 11:11 编辑 忘了说,这是我昨天才提交的创意,只是因为写的比较长, 然后还有图片,那里提交不了,所以就在这里发了~~ 产品描述:   产品定位为智能珠宝,以带有“情感属性”的人机交互体验,相当于硬件实物化的“电子宠物”,主要实现久坐提醒锻炼功能。   其次,也提供起床闹钟附加功能——通过马达震动提醒,使其可以作
辛昕 安森美和安富利物联网创新设计大赛
51单片机 stm8 stm32 红外发码,红外发码距离短 过短 太近解决方法
本帖最后由 仙景 于 2017-5-8 13:54 编辑 此内容由EEWORLD论坛网友仙景原创,如需转载或用于商业用途需征得作者同意并注明出处 之前做项目,要用到红外,看了网上很多例子,都不是很理想,就自己搞了一个,我们都知道红外可以传输数据,要生活中很多地方用到,红外遥控,语言数据传输,红外检测,都需要红外,那就需要产生红外的仪器,有纯硬件的,网上都有,也有软件的。 红外的特点
仙景 stm32/stm8
esp8266作AP搭建sever时,esp8266client无法connect,报103错误
本帖最后由 kf_2010 于 2017-11-7 08:44 编辑 前情描述:两片esp8266-01s刷了micropython,一块作为服务器 一块做客户端,之前在同为STA模式连入家里路由时,已经可以顺利收发信息。程序用的是micropyth源码里network部分的自带例程。(http_client.py,http_sever_simplistic.py) 目前状况:当把带服务器程
kf_2010 MicroPython开源版块
51单片机舵机控制程序
前两天偶然要用到舵机,试着写了一下,结果很不理想,网上搜罗了半天也是没有好的方法,要么只能转固定的角度要么要用到两个定时器,非常占用资源。 因为一直以来用着arduino所以就研究了一下Servo的库,官方只介绍了用法,具体该如何实现却没有说明,最后只得研究其核心代码Servo.cpp,结果在这里有了一点收获Servo.cpp - Interrupt driven Servo library f
anchangnice 51单片机
瑞萨电子设计大赛--家用用电无线控制定时器 之二 通用IO和复用IO
本帖最后由 damiaa 于 2015-11-15 15:18 编辑 瑞萨电子设计大赛--家用用电无线控制定时器 之二 通用IO和复用IO 瑞萨单片机和其他的一样。IO有的可以做通用IO也可以做复用IO(比如模拟,PWM,SPI UART等功能)。 下面就这些方面讨论一下 端口寄存器: P0,P1,P4,P12,P13设定端口输出锁存器值的寄存器 这个好理解,如果你要输出什么值就给什
damiaa 瑞萨电子MCU
关于stm32的定时器2的复用问题
本帖最后由 tommorow 于 2015-12-8 13:17 编辑 最近在用定时器实现编码器功能,然后tim2与tim5的io是一样的,就要用到afio,结果找了些资料,写了代码,发现定时器复用并没有实现。。。这代码是将tim2_ch1和ch2从PA0和PA1重映射到PA15和PB3,而计数器没有计数。。后来把代码里的tim2换成了tim3,从PA6PA7重映射到PC6PC7,然后测试结果
tommorow stm32/stm8
微控制器(MCU)架构介绍
     微控制器(Microcontroller)又可简称MCU或μC,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM、RAM、CPU、I/O集合在同一个芯片中,为不同的应用场合做不同组合控制。微控制器在经过这几年不断地研究、发展,历经4位、8位,到现在的16位及32位,甚至64位。产品的成熟度,以及投入厂商之多、应用范围之广,真可谓之空前。目前在国
fish001 DSP 与 ARM 处理器
请教两个C64x+两个简单问题呢
1:我用的是C6424,是小端模式。我看见CCS配置平台有能设置成大端模式,于是设置了大端模式,编译一切都可以通道。最后在load到DSP的RAM 就报错误,请问有人设置过C64X+的大小端没事没有?? 2.关于条件编译,优化的问题。 #define CHNNUM  13 #if CHNNUM >= 8    代码1.... #ifndef #if CHNNUM >= 12    代
weidong DSP 与 ARM 处理器

评论

vincentc543
感谢分享,感谢分享
2022-05-30 23:22:15
卿小小
感谢分享,资料非常棒。
2022-01-07 15:04:07
tmdwawa
学习了,很好参考书
2018-04-13 21:10:11
huiyazhao
不错,谢谢分享,。
2017-12-26 10:36:37
lyl_420819
学习了,谢谢分享。
2017-08-20 12:16:06
登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×