分享
 
 
 

Linux嵌入式设计(附光盘一张)

Linux嵌入式设计(附光盘一张)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机与互联网,操作系统,Linux,Linux 编程开发,
  品牌: 史密斯

基本信息·出版社:人民邮电出版社

·页码:312 页

·出版日期:2008年

·ISBN:9787115187475

·条形码:9787115187475

·包装版本:1版

·装帧:平装

·开本:16

·正文语种:中文

·附带品描述:附光盘一张

产品信息有问题吗?请帮我们更新产品信息。

内容简介《Linux嵌入式设计》介绍如何开发一个Linux产品,将产品分成守护进程和用户界面两个部分,介绍如何创建和管理守护进程,同时还介绍5种不同类型的用户界面。

《Linux嵌入式设计》主要内容有:产品架构;如何与正在运行的守护进程对话;如何创建和保护守护进程;范例产品Laddie;日志和事件处理;基于Web的用户界面;命令行界面(CLI);前端面板界面;帧缓存界面,包括红外遥控;SNMP界面,包括工具、MIB和代理。

《Linux嵌入式设计》适用于Linux产品的开发人员,有兴趣的读者可以以《Linux嵌入式设计》中所包含的原型产品为基础设计自己的Linux产品。对于那些打算尽快将守护进程的用户界面移植到不同的操作系统或不同的编程语言上的读者,《Linux嵌入式设计》也有一定参考价值。

编辑推荐现代嵌入式产品是包括处理器、操作系统和应用软件的复杂设备。有些书讲述如何在嵌入式硬件上运行Linux。还有一些书讲述如何创建Linux应用程序,而《Linux嵌入式设计》是第一本描述如何结合两者开发Linux嵌入式产品的图书。您将亲身体会到为何LiNUX能够成为低成本和快速开发的最佳选择。

《Linux嵌入式设计》介绍了如何开发良好的嵌入式产品——具有更多类型的界面和更多动态界面更好的已调试界面。您将学会如何创建后端程序、如何处理异步事件。以及如何将各种用户界面(包括网络、帧缓存、红外控制、SNMP和前端面板)连接到这些进程。从而实现远程配置和操作。书中同时也介绍了运行时访问库(Run—timeAccessLibrary),该库为用户界面提供了一种与守护进程通信的统一机制。

从《Linux嵌入式设计》能够学到:

将用户界面从守护进程中分离出来;

让用户界面在运行时可以访问配置、状态和统计数据;

为应用程序添加网络管理功能;

使用SNMP和创建MlB:

创建基于网络的产品界面;

创建命令行界面;

创建以红外控制为输入的帧缓存界面:

命令行界面(CLI);

管理产品中的日志和警报信息。

目录

第1章产品体系结构1

1.1用户界面和守护进程2

1.1.1守护进程2

1.1.2用户界面3

1.1.3进程间通信4

1.2Laddie产品的体系结构4

小结5

第2章管理守护进程6

2.1管理守护进程的通用方法7

2.1.1基于文件的管理7

2.1.2基于守护进程的Web界面8

2.1.3全能方法8

2.2控制和状态协议9

2.2.1控制和状态协议的要求11

2.2.2通用控制和状态协议11

小结15

第3章使用实时访问17

3.1RTA产品体系结构17

3.2RTA守护进程体系结构18

3.3将列和表告知RTA19

3.3.1列19

3.3.2表22

3.4创建第一个RTA程序23

3.4.1问题描述23

3.4.2回顾代码23

3.4.3安装RTA28

3.4.4编译和连接29

3.4.5测试29

3.5一些SQL命令31

3.5.1SELECT31

3.5.2UPDATE32

3.5.3WHERE32

3.5.4LIMIT32

3.6RTA内置表介绍33

3.6.1rta_dbg33

3.6.2rta_stat34

3.6.3rta_tables34

3.6.4rta_columns34

3.7RTA表编辑器35

小结37

第4章创建守护进程和保证守护进程安全39

4.1如何创建守护进程39

4.1.1加载守护进程配置数据40

4.1.2进入后台40

4.1.3成为进程和会话头(session leader)41

4.1.4设置工作目录43

4.1.5重定向stdin、stdout和stderr43

4.1.6创建日志44

4.1.7设置组ID和用户ID44

4.1.8检查pidfile45

4.1.9设置umask48

4.1.10创建信号处理器48

4.2如何保证守护进程安全49

4.2.1设计安全的守护进程49

4.2.2编写安全的守护进程50

4.2.3降低攻击的破坏程度52

4.3原型守护进程54

小结54

更多参考书目55

第5章范例产品:LADDIE报警系统56

5.1报警系统简介57

传感器57

5.2Laddie功能特征59

5.2.1ladd的配置和状态59

5.2.2ladd的警报处理61

5.3Laddie硬件设计62

5.4Laddie软件设计64

5.4.1appInit()回调子程序64

5.4.2poll_timeout()回调子程序65

5.4.3user_update()回调子程序67

5.5创建和测试ladd68

小结69

第6章日志71

6.1是否需要日志71

6.2日志系统的体系结构72

6.2.1信息源73

6.2.2信息路由73

6.2.3信息目的地74

6.3syslog76

6.3.1syslog体系结构76

6.3.2使用syslog76

6.3.3syslog协议78

6.3.4使用syslogd守护进程79

6.3.5局限、优点和syslogd的替代程序80

6.4按需定制的日志81

小结82

第7章Laddie事件处理84

7.1新事件处理系统的基本原理85

7.2logmuxd的特性和功能86

7.3配置logmuxd87

7.3.1logmuxd源87

7.3.2logmuxd过滤器和重写88

7.3.3logmuxd目的地90

7.4使用logmuxd的范例90

7.4.1范例1:logmuxd示范90

7.4.2范例2:logmuxd和已接受TCP连接91

7.4.3范例3:logmuxd和SNMP陷阱94

小结96

第8章设计Web界面97

8.1Web基础知识98

8.1.1DNS和TCP98

8.1.2webserver99

8.1.3CGI99

8.1.4JavaScript99

8.1.5发展中的技术99

8.2确定产品Web界面的需求99

8.3选择webserver100

8.3.1选择100

8.3.2使用PHP100

8.3.3个案研究:Linksys WRT54G无线路由器101

8.3.4个案研究:TUX webserver101

8.3.5webserver比较101

8.4UI设计105

8.4.1菜单系统105

8.4.2对话框106

8.4.3错误信息107

8.4.4使用Ajax提高响应速度109

8.5实现109

8.5.1与守护进程交互110

8.5.2报警状态网页112

8.5.3报警设置网页113

8.5.4网页版面设计和菜单系统114

8.5.5webserver无关性115

8.5.6使用Ajax进行异步更新116

8.6改进我们的设计121

8.7资源122

小结122

第9章设计命令行界面124

9.1为什么需要CLI124

9.1.1安全性125

9.1.2实用性125

9.1.3带宽125

9.1.4脚本化能力125

9.1.5配置备份和恢复126

9.2CLI的类型126

9.2.1句子127

9.2.2向导127

9.2.3菜单128

9.2.4有状态的128

9.2.5字符界面与线界面的比较129

9.3让用户可以访问CLI129

9.4Laddie CLI129

9.4.1Laddie命令汇总130

9.4.2set logs on130

9.4.3dump131

9.4.4help131

9.5测试命令的代码研究132

9.5.1CLI词汇表:token.l132

9.5.2CLI语法:syntax.y133

9.5.3C代码133

9.5.4代码研究注解134

小结134

第10章创建前端面板界面135

10.1按钮、LED和LCD135

10.1.1按钮136

10.1.2LED138

10.1.3LCD138

10.2设计前端面板UI139

10.2.1简单化140

10.2.2尝试、失败、再次尝试140

10.2.3使用LCD菜单和模式141

10.2.4快速响应142

10.3Laddie前端面板144

10.3.1Laddie的LCD菜单系统145

10.3.2Laddie前端面板硬件146

10.3.3Laddie前端面板UI149

10.4改进我们的设计152

小结152

第11章设计帧缓存界面154

11.1视频内存的工作原理155

11.1.1视频内存中的字节是如何被解释的155

11.1.2视频内存是如何被映射到显示屏上的157

11.2Linux帧缓存设备驱动程序158

11.2.1使用open、read、write和close操作帧缓存158

11.2.2使用ioctl命令配置帧缓存159

11.2.3一个简单帧缓存图形程序161

11.3图形库165

11.4使用SDL创建“Hello, world!”范例166

11.4.1初始化库167

11.4.2初始化帧缓存167

11.4.3创建一个surface168

11.4.4显示surface168

11.4.5处理事件168

11.5图形UI工具包169

11.5.1使用STBmenu创建简单UI170

11.5.2使用STBmenu创建“Hello,world!”范例173

11.6Laddie帧缓存UI176

小结178

第12章红外遥控器180

12.1使用红外线进行通信180

12.1.1编码遥控命令的协议181

12.1.2通过调制减少对红外线信号的干扰182

12.1.3使用红外线控制产品183

12.2遥控接收器的硬件183

12.2.1探测和解调红外线信号183

12.2.2解码遥控波形184

12.2.3Laddie产品的红外线遥控硬件186

12.3为Laddie产品安装和配置LIRC189

12.3.1安装LIRC软件190

12.3.2配置lirc_serial内核设备驱动程序191

12.3.3测试lirc_serial驱动程序193

12.3.4配置lircd守护进程195

12.3.5测试lircd守护进程197

12.3.6配置应用程序的LIRC工具198

12.3.7控制Laddie产品199

小结200

第13章SNMP实践概述202

13.1快速浏览术语203

13.2软件204

13.3安装SNMP204

13.3.1下载和安装204

13.3.2检查安装205

13.3.3配置代理205

13.3.4启动代理206

13.4探索SNMP206

13.4.1可读性强的MIB文件名208

13.4.2联网打印机209

13.4.3snmptable命令209

13.4.4MIB-2:TCP连接表210

13.4.5MIB-2:UDP表211

13.4.6MIB-2内容212

13.5使用SNMP写入值213

13.5.1设置sysContact213

13.5.2设置sysName215

13.6SNMP陷阱216

13.6.1使用snmptrapd接收陷阱216

13.6.2携带数据的陷阱:linkUp和linkDown218

小结220

第14章设计SNMP MIB221

14.1我们的目标221

14.2企业编号222

14.3MIB文件223

14.4LADDIE-GROUP-SMI224

14.5创建LAD-MIB227

14.5.1模块定义228

14.5.2版本号和防区数230

14.5.3警报表232

14.5.4陷阱234

14.6验证MIB235

小结236

第15章实现你的SNMP MIB237

15.1Net-SNMP代理238

15.2MIB框架——mib2c241

15.3头文件——ladProject.h242

15.4代码文件——ladProject.c243

15.4.1包含243

15.4.2基准OID244

15.4.3MIB对象定义244

15.4.4RTA访问函数247

15.4.5初始化函数249

15.4.6标量250

15.4.7读警报表252

15.4.8写警报表255

15.5重访Makefile258

15.6调试259

15.7陷阱260

小结260

附录ARTA参考资料262

A.1RTA概述263

A.2RTA常量264

A.3数据结构264

A.4API子程序268

A.4.1dbcommand()子程序268

A.4.2rta_add_table()子程序269

A.4.3SQL_string()子程序270

A.4.4rta_config_dir()子程序270

A.4.5rta_save()子程序271

A.4.6rta_load()子程序271

A.5SELECT和UPDATE语法272

A.5.1SELECT命令272

A.5.2UPDATE命令273

A.6内部RTA表274

A.6.1rta_tables表274

A.6.2rta_columns表275

A.7调试配置275

A.8错误信息276

A.8.1SQL请求信息276

A.8.2内部调试信息277

A.9回调函数278

A.9.1读回调函数278

A.9.2写回调函数279

附录BSNMP综述280

B.1为什么使用SNMP280

B.2代理和管理器281

B.3名字空间、语法和协议281

B.4MIB281

B.5OID282

B.6MIB-2283

B.7SMI285

B.8SNMP协议286

B.8.1基本命令:GET、SET和GETNEXT286

B.8.2使用GETNEXT遍历MIB286

B.8.3陷阱和通告287

B.8.4命令行工具:范例287

B.9SNMPv1、SNMPv2和SNMPv3288

B.10SNMP数据类型289

B.11SNMP表290

B.12定义新类型291

B.13MIB文件的结构292

小结294

附录C安装帧缓存设备驱动程序295

C.1为你的视频卡寻找帧缓存设备驱动程序295

C.1.1vesafb驱动程序296

C.1.2硬件相关驱动程序296

C.1.3没有包含在Laddie光盘中的驱动程序297

C.2配置帧缓存设备驱动程序297

C.2.1vesafb驱动程序298

C.2.2硬件相关驱动程序299

附录DDB-To-File工具301

D.1概述301

D.2表定义302

D.2.1tbl2file表302

D.2.2tbl2field表303

D.3tbl2filed范例304

D.4安全注意事项305

附录ELaddie产品可启动光盘306

E.1运行Laddie产品306

E.1.1启动光盘307

E.1.2操作帧缓存用户界面307

E.1.3访问Web界面307

E.1.4体验Linux shell和其他用户界面308

E.1.5关闭Laddie产品308

E.2了解光盘内容308

E.2.1Laddie产品源代码309

E.2.2Laddie产品库310

E.2.3启动脚本310

E.2.4Linux From-Scratch发行版及附加软件包310

E.3重新编译Laddie产品311

……[看更多目录]

序言烤面包机、烤箱和洗碗机是人们日常生活中常见的几种家电产品。尽管我们非常了解它们的使用方法,但通常很少会去思考某个产品的内在工作原理,或者某个产品是如何制造的。本书将“产品”定义为一种为实现某种单一功能而设计的装置。仔细想想上面提到的家电产品,你就会发现此定义是非常恰当的,如烤面包机用于烤面包、烤箱用于烘烤食物以及洗碗机用于洗碗。我们不妨将它们同电脑进行比较,基于所安装的硬件和软件,电脑可以实现数千种不同的功能,而传统产品的功能却显得那么单调和简单。

但是这与Linux有什么关系呢?对于新的体验者来说,传统产品的功能将不再如此简单。过去常见的那些电器化机械产品(如真空吸尘器)不再只是电器产品了,还包括处理器、电路板和精良的用户界面。随着这些改变的出现,产生了在产品上安装操作系统从而实现新功能的需求。由于Linux的低成本(在大多数情况下,它是免费使用的)和开源(opensource)(这意味着你可以改写它,从而使它更适合你的需要),使之非常适合这种变化需求。然而,真正适合采用Linux的还是那些正在设计当中的新型产品。几年前你可能没有听说过数字视频录像机(DVR),第一台而且是最流行的DVR产品TiVo与众多其他的家庭网络和娱乐产品一样,采用的都是Linux操作系统。

如果你想要开发新一代出色的自动房屋清洁系统,肯定不希望完全从最基础的地方开始设计。你会尽可能多地重新利用以前设计的自动装置,也会尽可能地使用那些现成的零件。

文摘插图:

Linux嵌入式设计(附光盘一张)

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有