• 嵌入式Linux开发教程
21年品牌 40万+商家 超1.5亿件商品

嵌入式Linux开发教程

26.24 4.4折 59.8 九五品

仅1件

北京朝阳
认证卖家担保交易快速发货售后保障

作者宋娟,马华杰

出版社人民邮电出版社

ISBN9787115447012

出版时间2017-07

版次1

装帧平装

开本16开

纸张胶版纸

页数330页

字数558千字

定价59.8元

上书时间2024-06-27

囬到未来

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
商品描述
基本信息
书名:嵌入式Linux开发教程
定价:59.80元
作者:宋娟,马华杰
出版社:人民邮电出版社
出版日期:2017-07-01
ISBN:9787115447012
字数:558
页码:330
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
版本很新:书中涉及的软件及开发环境都是当前很为流行的版本
由浅入深:从嵌入式系统的软硬件开始讲解,逐步深入到实际开发
内容全面:涵盖嵌入式Linux系统开发的大部分知识点和典型应用
注重原理:对每个知识点从概念和基本原理进行了详细而透彻的分析
重点突出:对Bootloader和Linux内核的功能和移植进行了详细介绍
内容提要
篇为嵌入式基础,介绍了嵌入式系统入门、嵌入式软硬件系统、嵌入式Linux、软件开发环境建立和嵌入式开发的C语言基础;第2篇是嵌入式系统基础,介绍了ARM的内部资源、ARM处理器、ADS集成开发环境等;第3篇是嵌入式设备驱动与移植,介绍了Linux设备驱动、各类驱动设计和引导程序、内核移植等相关知识点;很后一篇通过一个真正的嵌入式B超程序案例详解嵌入式开发的完整过程,以此提高读者的实战水平。
目录
篇  嵌入式开发基础章 嵌入式系统基础 11.1 嵌入式处理器简介 11.1.1 嵌入式微处理器 21.1.2 嵌入式微控制器 21.1.3 嵌入式数字信号处理器 21.1.4 嵌入式片上系统 31.2 ARM微处理器简介 31.3 嵌入式操作系统概述 41.4 搭建嵌入式开发环境 51.4.1 Ubuntu16.04的安装 51.4.2 Minicom的安装配置 81.4.3 Tftp服务的安装配置 91.4.4 NFS的安装配置 101.4.5 建立交叉工具链 121.5 启动目标板系统 161.5.1 Boot Loader和Kernel 161.5.2 根文件系统 181.6 小结 191.7 习题 19第2章 嵌入式C语言开发流程 202.1 命令行下的开发流程 202.1.1 编写代码 202.1.2 编译程序 212.1.3 运行程序 222.1.4 交叉编译 222.1.5 编写Makefile 232.2 基于Eclipse的开发流程 242.2.1 下载和安装Eclipse 242.2.2 新建工程 252.2.3 编写代码 262.2.4 编译工程 262.2.5 运行程序 282.3 小结 282.4 习题 28第3章 Linux操作基础 293.1 Linux的基本概念 293.1.1 文件 293.1.2 目录 293.1.3 分区 313.1.4 挂载 313.1.5 用户系统 313.1.6 用户权限 323.1.7 shell 323.1.8 环境变量 333.2 Linux的命令行 333.2.1 执行命令 343.2.2 参数 343.2.3 重定向符号 343.2.4 获取帮助 353.3 Linux的常用命令 363.3.1 文件管理 363.3.2 内容管理 393.3.3 权限管理 403.3.4 备份压缩 413.3.5 系统设置 433.3.6 进程控制 453.3.7 网络设置 473.4 小结 483.5 习题 49第4章 嵌入式C编程基础 504.1 C语言概述 504.1.1 C语言程序的结构 504.1.2 C语言的语句 514.1.3 C语言的关键字 514.1.4 C语言程序设计步骤 514.2 数据类型 524.2.1 常量与变量 524.2.2 整型数据、实型数据 524.2.3 字符型数据 534.3 运算符和表达式 534.3.1 算术运算符 534.3.2 关系和逻辑运算符 534.3.3 位操作符 544.3.4 ?操作符 554.3.5 表达式的优先级 554.4 流程控制 554.4.1 顺序程序设计 554.4.2 选择结构设计 564.4.3 循环结构设计 574.5 函数 584.5.1 函数定义的一般形式 584.5.2 函数的参数和函数的值 594.5.3 函数的调用 594.5.4 局部变量和全局变量 604.6 数组、指针 614.6.1 数组 614.6.2 指针的基本概念 624.6.3 指针与数组 644.6.4 指针与字符串 664.6.5 指针与函数 674.6.6 指针其他用法 684.6.7 动态内存管理 684.7 小结 694.8 习题 69第2篇 嵌入式系统基础第5章 S3C2440的内部资源 705.1 S3C2440微处理器 705.1.1 主要结构 705.1.2 片内资源 705.1.3 体系结构 715.2 S3C2440存储器映射 715.2.1 bank0总线宽度 725.2.2 nWAIT引脚的作用 735.2.3 nXBREQ/nXBACK引脚操作 735.3 S3C2440内部资源详解 735.3.1 Cache高速缓存 745.3.2 时钟和电源管理 745.3.3 中断控制器 755.3.4 脉冲带宽调制(PWM)定时器 765.3.5 实时时钟(RTC) 775.3.6 通用I/O端口 775.3.7 LCD控制器 775.3.8 UART控制器 785.3.9 A/D转换和触摸屏接口 795.3.10 看门狗定时器 795.3.11 IIC总线接口 795.3.12 AC97音频解码器接口 805.3.13 USB设备控制器 805.3.14 SD接口 815.3.15 SPI接口 815.3.16 相机接口 825.3.17 工作电压 825.4 小结 825.5 习题 82第6章 ARM微处理器 846.1 ARM微处理器的结构 846.1.1 体系结构 846.1.2 寄存器结构 856.1.3 指令结构 856.2 ARM微处理器的选择 856.2.1 内核的选择 856.2.2 工作频率的选择 856.2.3 芯片内存储器的选择 866.2.4 片内外围电路的选择 866.3 ARM微处理器的指令集 866.3.1 ARM微处理器的指令分类和格式 866.3.2 指令的条件域 876.3.3 跳转指令 886.3.4 数据处理指令 886.3.5 乘法指令与乘加指令 926.3.6 程序状态寄存器访问指令 946.3.7 加载/存储指令 956.3.8 批量数据加载/存储指令 976.3.9 数据交换指令 976.3.10 移位指令 986.3.11 协处理器指令 996.3.12 异常产生指令 1006.4 ARM微处理器指令的寻址方式 1016.4.1 立即寻址 1016.4.2 寄存器寻址 1016.4.3 寄存器间接寻址 1016.4.4 基址变址寻址 1026.4.5 多寄存器寻址 1026.4.6 相对寻址 1026.4.7 堆栈寻址 1026.5 小结 1036.6 习题 103第7章 ADS集成开发环境 1047.1 命令行开发工具 1047.1.1 使用armcc 1047.1.2 使用armlink 1067.1.3 ARM运行时库 1067.1.4 CodeWarrior集成开发环境 1077.1.5 ADS调试器 1097.2 使用ADS创建工程 1097.2.1 创建新工程 1097.2.2 编译和链接工程 1127.2.3 ARM fromELF工具 1147.2.4 在命令行下编译工程 1157.3 使用AXD调试代码 1167.3.1 打开调试文件 1167.3.2 查看存储器内容 1177.3.3 设置断点 1187.3.4 查看变量值 1187.4 小结 1197.5 习题 119第8章 S3C2440的外部电路 1208.1 核心板电路 1208.1.1 晶振电路 1208.1.2 复位电路 1208.1.3 启动配置电路 1208.1.4 FLASH存储器(内存) 1218.1.5 SDRAM存储器(闪存) 1238.2 底板电路 1248.2.1 电源电路 1258.2.2 串口电路 1258.2.3 USB接口 1268.2.4 以太网接口 1278.2.5 JTAG调试接口 1278.2.6 音频接口 1288.2.7 LCD接口 1298.2.8 SD卡接口 1298.3 小结 1308.4 习题 130第9章 嵌入式Linux文件系统 1319.1 嵌入式文件系统基础 1319.1.1 NOR FLASH存储器 1319.1.2 NAND FLASH存储器 1329.1.3 MTD简介 1329.1.4 日志型文件系统 1339.1.5 BusyBox 1349.2 CramFS文件系统 1369.2.1 CramFS文件系统的特性 1369.2.2 CramFS文件系统映像文件的结构 1379.2.3 CramFS文件系统的工作原理 1379.2.4 CramFS文件系统的初始化过程 1389.2.5 CramFS文件系统的制作 1399.2.6 CramFS文件系统的挂载流程 1419.3 基于RAM的文件系统 1429.3.1 Ramdisk文件系统 1429.3.2 RamFS/TmpFS文件系统 1439.4 嵌入式文件系统的设计 1459.4.1 文件系统格式选择的基本策略 1459.4.2 混合型文件系统格式设计方法 1459.5 小结 1469.6 习题 1460章 内存和信号量 14810.1 共享内存 14810.1.1 共享内存的定义 14810.1.2 涉及的系统调用 14810.1.3 共享内存举例 15010.2 System V共享内存 15210.2.1 System V共享内存的定义 15210.2.2 System V涉及的系统调用 15210.2.3 System V共享内存举例 15310.3 消息队列 15410.3.1 消息队列的定义 15410.3.2 消息队列涉及的系统调用 15410.3.3 消息队列举例 15610.4 System V信号量 15810.4.1 System V信号量的定义 15810.4.2 System V信号量涉及的系统调用 15910.4.3 System V信号量举例 16010.5 POSIX信号量 16310.5.1 POSIX信号量的定义 16310.5.2 POSIX信号量涉及的系统调用 16310.5.3 POSIX信号量举例 16410.6 小结 16510.7 习题 166第3篇 嵌入式设备驱动与移植1章 设备驱动开发基础 16711.1 Linux设备管理和驱动概述 16711.1.1 Linux设备的分类 16711.1.2 设备驱动程序的作用 16711.1.3 访问设备的实现 16811.1.4 Linux设备控制方式 16811.2 Linux设备驱动开发流程 16911.2.1 构造和运行模块 17011.2.2 字符设备驱动编写 17111.2.3 字符设备驱动示例 17211.2.4 并发控制 17411.2.5 阻塞与非阻塞 18011.2.6 select和poll 18311.2.7 中断处理 18511.2.8 内存与I/O操作 18711.3 块设备驱动编写 19111.3.1 块设备的I/O操作特点 19111.3.2 block_device_operations结构体 19111.3.3 gendisk结构体 19211.3.4 request结构体 19311.3.5 request操作函数 19611.3.6 bio结构体 19711.3.7 注册与注销 19911.3.8 加载与卸载 19911.3.9 打开与释放 20111.3.10 ioctl函数 20211.3.11 I/O请求处理 20211.4 小结 20611.5 习题 2062章 MiniGUI图形界面设计 20712.1 MiniGUI概述 20712.1.1 MiniGUI的特点 20712.1.2 MiniGUI运行模式 20812.2 MiniGUI的安装和使用 20812.2.1 安装MiniGUI库 20812.2.2 安装MiniGUI的资源 20912.2.3 配置MiniGUI 21012.2.4 编译应用程序例子 21012.2.5 交叉编译MiniGUI库 21012.2.6 交叉编译例程 21112.2.7 QVFB图形引擎 21112.2.8 FrameBuffer图形引擎 21212.3 利用Eclipse编写MiniGUI程序 21312.3.1 建立vacs工程 21312.3.2 配置编译选项 21412.3.3 配置外部工具QVFB 21412.3.4 运行vacs 21512.3.5 调试vacs 21512.4 MiniGUI的编程基础 21512.4.1 头文件 21712.4.2 程序入口 21712.4.3 创建和显示主窗口 21712.4.4 进入消息循环 21812.4.5 窗口过程函数 21912.4.6 屏幕输出 21912.4.7 程序的退出 21912.5 消息循环和窗口过程 22012.5.1 消息处理函数 22012.5.2 重要的消息 22112.5.3 窗口及窗口过程 22112.6 对话框和控件编程 22312.6.1 控件的概念 22312.6.2 预定义控件 22312.6.3 自定义控件 22512.6.4 控件子类化 22612.6.5 对话框和对话框模板 22712.6.6 模态和非模态对话框 23012.7 图形设备接口 23012.7.1 图形设备上下文 23012.7.2 矩形操作和区域操作 23112.7.3 像素值和调色板 23312.7.4 位图操作函数 23312.7.5 字体和文本输出 23412.7.6 绘制图形 23612.8 实例——Mini界面设计 23812.8.1 登录窗口 23912.8.2 好友列表窗口 24212.8.3 聊天窗口 24612.8.4 其他 24812.9 小结 24812.10 习题 2493章 各类驱动设计和引导程序 25013.1 CAN总线和SJA1000介绍 25013.1.1 SJA1000寄存器介绍 25013.1.2 SJA1000与S3C2440连接 25413.1.3 SJA1000的驱动程序 25613.2 SD卡驱动 26613.2.1 块设备驱动设计 26613.2.2 SD卡驱动程序分析 26613.2.3 SD卡驱动程序设计 26613.3 网络驱动 26913.3.1 DM9000芯片介绍 26913.3.2 重要数据结构 26913.3.3 网络设备初始化 27113.3.4 激活和关闭网络设备 27413.3.5 中断控制的实现 27413.3.6 发送过程的实现 27613.3.7 接收过程的实现 27813.4 引导程序 28013.4.1 Boot Loader 28113.4.2 vivi简介 28113.4.3 U-Boot简介 29013.5 小结 29513.6 习题 2954章 内核移植 29614.1 Linux内核结构 29614.2 Linux源码结构 29814.2.1 arch目录 29814.2.2 drivers目录 29814.2.3 fs目录 29914.2.4 其他目录 30014.3 内核编译 30214.3.1 编译准备 30214.3.2 设置Flash分区 30214.3.3 配置内核 30514.4 内核配置选项 30714.4.1 常规设置 30714.4.2 模块和块设备层 30914.5 下载内核 30914.6 内核调试 31014.6.1 内核调试步骤 31014.6.2 常见内核问题 31114.7 小结 31214.8 习题 312第4篇 嵌入式开发实战5章 综合案例—嵌入式B超 31315.1 系统终端的结构设计 31315.1.1 总体结构 31315.1.2 显示控制芯片选型 31415.2 系统终端的软件设计 31415.2.1 U-Boot 31415.2.2 嵌入式Linux移植 31515.2.3 MiniGUI移植 31515.3 FPGA与ARM接口设计 31815.3.1 硬件连接 31815.3.2 FPGA驱动程序设计 31815.4 显示芯片的连接与控制 31915.4.1 选择SM501的原因 32015.4.2 SM501驱动程序设计 32015.5 超声动态图像的实时显示 32115.5.1 图像动态显示 32215.5.2 坐标转换和灰度插值 32215.6 图形界面的结构 32315.6.1 需求分析 32315.6.2 总体结构 32415.6.3 网络通信 32415.6.4 多线程编程 32515.7 操作界面设计 32615.7.1 区域分配 32615.7.2 键盘响应 32615.7.3 控件设计 32715.8 测量模块设计 32815.8.1 椭圆的画法 32815.8.2 椭圆测量周长和面积 32915.8.3 轨迹法测量面积 32915.9 小结 33015.10 习题 330
作者介绍
作者技术涉猎广泛,熟悉Intel IXA架构网络处理器、ARM体系结构、MIPS体系结构和TCP/IP网络协议栈等。目前担任嵌入式软件研发工程师和软件研发工程师,从事某公司骨干网P2P流量管理设备的研发。
序言

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP