嵌入式Linux系统设计及应用--基于国产龙芯SoC
嵌入式Linux系统设计及应用--基于国产龙芯SoC
嵌入式Linux系统设计及应用--基于国产龙芯SoC

嵌入式Linux系统设计及应用--基于国产龙芯SoC

  • 价格 89.00
  • 特价 45.00
详情



龙芯系列微处理器是中国拥有自主知识产权的中央处理器,中国科学院计算技术研究所从2001 年开始研制龙芯系列处理器,于2010 年正式成立龙芯中科技术有限公司(以下简称龙芯中科),主要产品包括龙芯1 号CPU、龙芯2 号CPU 及龙芯3 号CPU。本书是基于龙芯俱乐部与龙芯中科合作开发的南京龙众创芯电子科技有限公司承制的智龙开发板,围绕龙芯1 号芯片LS1C 进行嵌入式系统开发讲解,也包含龙芯中科的2K 龙芯派、南京龙众创芯电子科技有限公司

的龙芯3A3000 开发者计算机的内容。

         本书内容共分3 篇。基础篇包含实验平台和开发环境的搭建。中级篇为Linux 基础应用编程,包含线程、信号、网络等基本操作。高级篇包含开发板硬件编程、驱动程序编写等高级操作。附录主要为嵌入式系统开发常用资料和智龙开发板的电路原理图。本书结合实践案例及应用场景,按照嵌入式系统的开发流程组织内容,使读者能熟练掌握从开发环境搭建到编写完整工程的流程。同时提供内核源码及实例代码,并给出测试结果,方便读者参考。

         本书具有广泛的适用性,不仅可用于MIPS 架构的龙芯1 号芯片的嵌入式系统开发,还可用于基于Linux 操作系统的嵌入式系统学习。其中在内核原理、应用程序编写,如虚拟机编译、程序下载、调试、应用开发、内核裁减等方面与同类ARM 架构芯片相比,开发过程是通用的。本书可作为应用型本科、高职高专院校嵌入式系统方面的课程教材,也可作为相关开发人员的自学教材和参考手册。

 


 

 孙冬梅(1975.1-):博士后,副教授,2004年获南京理工大学测试计量技术及仪器专业博士学位;2011.1~2015.12进入南京工业大学“动力工程及工程热物理”博士后流动站,从事研究工作。现任江苏省仪器仪表学会理事,江苏省射频识别技术标准化技术委员会委员。

          2012年主持了江苏省博士后基金“大型风电回转支承多源振动信号故障诊断的数据融合方法研究”;2009年主持江苏省高校自然科学基金项目“基于热导式微流量智能传感器的分析仪器开发研究”。参与了多项国家自然科学基金开发研究,完成了多项科研项目,有丰富的理论及实践经验;近几年来,在国内外核心期刊上发表学术论文50多篇。

 


 随着国产芯片的崛起,需要更多的开发者熟悉基于国产处理器的Linux平台。龙芯是一款具有自主知识产权的国产处理器,中国科学院计算技术研究所从2001年开始研制龙芯系列处理器。本书从龙芯SoC架构开始,较为系统全面地介绍了嵌入式Linux的构成、开发、编译和调优等各个环节的知识,内容详实,示例丰富。本书可作为应用型本科、高职高专院校嵌入式系统方面的课程教材,也可作为相关开发人员的自学教材和参考手册。


 

第1 章 实验平台及背景知识  2

11 本书使用的开发板及操作系统  2

111 龙芯系列芯片  3

112 龙芯1 号微处理器  4

113 智龙开发板资源  5

114 智龙开发板使用的操作系统  5

115 龙芯派一代开发板资源  8

116 龙芯派一代与智龙开发板的差异  10

117 龙芯派一代开发板操作与启动盘制作  11

118 龙芯派二代开发板操作  20

12 全龙芯的交叉编译平台  24

121 在龙芯3A3000 主机Loongnix 系统中

搭建龙芯1C 开发环境  24

122 中标麒麟操作系统  27

123 深度操作系统  28

124 普华操作系统  29

13 安装Ubuntu/Fedora 及其他程序  31

14 虚拟机常用目录  31

15 Windows 下需要安装的其他软件  32

16 一点常识  34

17 本书使用的网络资源  35

第2 章 虚拟机安装Linux 操作系统  37

21 下载VMware Player 并安装  37

22 下载Ubuntu 桌面系统  37

23 安装Ubuntu  37

24 进入终端的方法  39

25 建立root 用户并自动登录  39

26 安装VMware Tools  40

27 安装必要的软件  42

28 查看相关版本和信息  43

29 虚拟机Linux 系统中TFTP 服务搭建 44

第3 章 安装工具链、编译内核、

制作文件系统  47

31 安装交叉编译工具gcc-43-ls232  47

32 编译和烧写 PMON  48

33 编译和烧写内核  49

34 制作根文件系统  51

341 配置和编译BusyBox  51

342 创建文件系统目录  53

343 创建系统配置文件  53

344 复制库文件  56

35 制作根文件系统镜像  58

351 安装镜像文件制作工具  58

352 制作根文件系统镜像文件  60

353 烧写根文件系统  61

第4 章 使用buildroot 构建根文件系统  62

41 获取buildroot 62

42 系统构建  62

43 烧写根文件系统镜像  63

44 根文件系统软件包的定制  63

45 buildroot 构建交叉编译工具链  67

第5 章 简单应用编程Hello World  69

51 智龙开发板上运行程序  69

52 友善之臂开发板mini2440 上

运行程序  70

53 ARM 架构应用程序的移植  71

第6 章 简单驱动程序编写  74

61 驱动的原理及编写流程  74

62 驱动模块的加载与卸载  75

63 最简单的Linux 驱动  75

64 驱动的编译和执行  76

65 内核配置驱动  80

66 LED 子系统剖析  82

67 led_trigger 接口分析  89

中级篇应用

第7 章 Linux 应用编程  93

71 Linux 应用编程的基础知识  93

72 文件I/O 编程  93

73 进程和线程  96

74 多进程操作  97

75 进程间的通信  99

751 管道  99

752 消息队列 105

753 共享内存 107

76 多线程操作  109

761 线程控制 109

762 线程属性 111

763 互斥锁113

764 信号量117

77 网络编程  119

771 网络编程基础概念 119

772 网络编程实例 122

773 网络编程小结 132

78 OpenVPN 使用  132

781 OpenVPN 简介 132

782 OpenVPN 在智龙上的移植 133

783 生成私钥 133

784 服务器端启动VPN 服务 135

785 客户端连接VPN 服务器 136

786 在虚拟机中测试连接 137

787 在普华桌面操作系统中测试连接  138

79 应用编程总结  140

第8 章 开发板硬件接口编程  141

81 点亮一个LED 灯  141

811 LED 的操作接口  141

812 LED 控制  142

813 在程序中操作LED 灯  142

82 GPIO 硬件编程  143

821 GPIO 和sysfs 操作接口  144

822 GPIO 基本操作  145

823 在C 程序中操作GPIO  146

83 按键应用层编程  148

831 按键操作接口  148

832 在程序中操作按键  151

84 U 盘和SD 卡  152

841 U 盘  152

842 SD 卡  153

85 RTC 时钟  154

86 串口读写  155

861 串口硬件说明  155

862 用minicom 操作串口  156

863 用接口操作串口  157

864 在程序中操作串口  158

高级篇驱动

第9 章 NFS 文件系统搭建  163

91 在虚拟机端安装NFS  163

92 配置虚拟机NFS  164

93 配置开发板NFS  165

94 使用NFS  166

941 在开发板上挂载NFS 服务  166

942 建立网络文件系统 166

第10 章 配置Eclipse 编程  168

101 用Eclipse 开发应用程序  168

102 用Eclipse 开发内核模块  170

第11 章 一个简单的字符设备驱动  175

111 主设备号和次设备号  175

1111 设备编号的表达 176

1112 分配和释放设备编号 176

112 重要的数据结构  178

113 字符设备的注册  181

114 具体实例  182

1141 file_operations 结构体设计 185

1142 模块初始化、模块卸载函数实现 186

1143 读写函数的实现 187

1144 驱动程序编译 187

1145 驱动程序编译和加载 188

1146 驱动程序测试 188

115 一些有用的资料  189

116 修改为模块注销自动删除设备节点  190

第12 章 misc 杂项设备驱动  191

121 misc 使用的结构体和函数  191

122 misc 设备的优点  193

123 内核源码  193

124 具体实例  195

第13 章 PWM控制输出  199

131 利用 LED_PWM  199

132 自己编写驱动文件  205

第14 章 I2C 总线和设备驱动  214

141 I2C 总线概述  214

142 Linux I2C 设备驱动  214

1421 I2C adapter 215

1422 I2C 子系统驱动模块的API 220

1423 I2C client 的注册 220

1424 I2C driver 224

1425 I2C adapter 的注册 225

1426 I2C tools 的使用 228

1427 内核模块分析  231

143 实例分析at24cxx  232

144 实例分析DS3231  234

第15 章 SPI 总线和设备驱动  236

151 SPI 总线概述  236

1511 硬件结构  236

1512 工作时序  237

152 Linux SPI 设备驱动软件架构  238

153 SPI 通用接口层  238

1531 SPI 总线和类  238

1532 spi_master 结构  239

1533 spi_device 结构  240

1534 spi_driver 结构  241

1535 spi_message 和spi_transfer 结构  242

154 SPI 控制器驱动  244

1541 定义控制器设备  244

1542 注册SPI 控制器的platform_driver  246

1543 注册spi_master  246

155 SPI 数据传输  249

156 实例分析:驱动编写之SPI

设备静态注册spidevc  250

157 实例分析:驱动编写之SPI

设备动态注册spikec  253

158 编写测试程序  260

第16 章 CAN 总线和设备驱动  266

161 智龙开发板硬件CAN 接口  266

162 Socket CAN  268

163 测试工具  269

164 Socket CAN 在智龙上的测试:

使用工具iproute2  269

165 Socket CAN 在智龙上的测试:

使用工具canutils  273

166 编写CAN 的socket 收发

测试程序canapp  277

1661 程序设计说明  277

1662 程序发送示例  280

1663 程序接收示例  281

1664 发送和接收测试 282

第17 章 嵌入式GUI 编程  284

171 使用外部LCD 控制器的

LCD 编程  284

1711 硬件接口 284

1712 GPIO 口操作函数 284

1713 LCD 操作 293

1714 编写Makefile 294

1715 代码及运行结果 295

172 基于Qt 使用内部LCD 控制器的

GUI 编程  302

1721 关于Qt 302

1722 Qt 的移植过程 303

1723 配置buildroot 304

1724 下载并运行例程 306

1725 搭建Qt 环境及编写应用程序 308

1726 PMON 及内核源码的修改 313

1727 支持键盘输入和串口、LCD 同时输出 314

第18 章 ADC 驱动及应用  315

181 配置ADC 驱动  315

182 硬件管脚分配  316

183 应用测试  316

184 应用层编程  316

第19 章 内核访问外设I/O 资源  319

191 MIPS 的内存映射  319

联系我们
联系人: 石先生
电话: 13776573997
Email: loongsonclub@126.com
QQ: 200888797
微信: 13776573997
地址: 南京市浦口区文景路61号创芯汇