新書推薦:
《
严复与福泽谕吉启蒙思想比较(王中江著作系列)
》
售價:HK$
165.0
《
甘于平凡的勇气
》
售價:HK$
49.5
《
存在与结构:精神分析的法国转向——以拉康与萨特为中心
》
售價:HK$
52.8
《
生成式人工智能:AIGC与多模态技术应用实践指南
》
售價:HK$
108.9
《
石油帝国的兴衰:英国的工业化与去工业化
》
售價:HK$
97.9
《
古典的回響:溪客舊廬藏明清文人繪畫
》
售價:HK$
437.8
《
根源、制度和秩序:从老子到黄老学(王中江著作系列)
》
售價:HK$
121.0
《
索恩丛书·北宋政治与保守主义:司马光的从政与思想(1019~1086)
》
售價:HK$
75.9
|
編輯推薦: |
本书是嵌入式系统开发入门的必备图书,详细介绍Bootloader和Linux内核移植。
(1)循序渐进,由浅入深。基于Cortex-A8架构、S5PV210处理器,从相关基础知识开始,再结合硬件原理图,逐个分析硬件部件的工作原理以及编程方法。
(2)例程丰富,解释翔实。书中提供了丰富的实例源代码,并且均在开发板上调试通过;提供详细的分析注解,帮助读者理解掌握。
(3)资源共享,超值服务。提供课件,共享程序源代码和文档学习资料,且可以通过博客和本书网站与作者交流,答疑解惑,共同学习和提高。
|
內容簡介: |
本书从嵌入式系统开发的基础知识开始讲起,全面介绍嵌入式开发过程中的方方面面。内容涵盖宿主机Linux操作系统的安装设置以及常用工具的使用、配置,嵌入式编程基础知识(包括基于CortexA8架构开发环境的制作、配置和使用,ARM处理器的常用汇编编程及其ATPCS规则,Makefile规则,嵌入式C编程等),常用IC部件工作原理及其编程(俗称裸机编程),UBoot、Linux内核的分析、配置和移植,根文件系统的制作,基于Linux系统的驱动架构分析、驱动程序开发和移植。
全书共分3篇: 第1篇(第1~4章)着重介绍嵌入式Linux系统开发前的一些准备知识; 第2篇(第5~12章)着重讲解硬件部件的使用与编程; 第3篇(第13~16章)着重讲解基于CortexA8处理器的嵌入式Linux系统开发中的系统分析、移植以及驱动开发、移植。全书提供了大量的应用实例,并且均在天嵌TQ210开发板上调试通过,读者可在清华大学出版社网站本书页面下载。
本书由浅入深、循序渐进,适合刚接触嵌入式Linux的初学者学习,同时可作为高等院校嵌入式相关专业本科、研究生教材,亦可作为广大嵌入式系统开发工作者的参考书。
|
目錄:
|
目录
第一篇工欲善其事,必先利其器
第1章嵌入式系统概述
1.1嵌入式系统基础知识
1.1.1嵌入式系统简介
1.1.2嵌入式系统的特点
1.1.3嵌入式系统的发展历史
1.1.4嵌入式系统的组成
1.1.5嵌入式操作系统简介
1.1.6嵌入式系统开发概述
1.2基于ARM架构的S5PV210处理器
1.2.1ARM微处理器概述
1.2.2ARM流水线技术的发展
1.2.3ARMCortexA8处理器介绍
1.2.4ARMCortexA8寄存器组介绍
1.2.5SAMSUNGS5PV210处理器介绍
1.3本章小结
第2章嵌入式Linux开发环境搭建
2.1交叉开发模式
2.1.1嵌入式交叉开发模式介绍
2.1.2硬件需求
2.2软件环境搭建与配置
2.2.1宿主机Linux操作系统的安装
2.2.2配置宿主Linux操作系统
2.2.3在宿主机上安装、配置开发环境
2.2.4制作交叉编译工具链
嵌入式Linux系统开发入门宝典基于ARMCortexA8处理器
2.3本章小结
第3章常用开发工具和命令的使用
3.1Windows环境下的工具介绍
3.1.1代码阅读、编辑工具SourceInsight
3.1.2文件传输工具CuteFTP
3.1.3终端仿真工具SecureCRT
3.2Linux环境下的工具介绍
3.2.1代码阅读、编辑工具
3.2.2终端访问工具
3.3嵌入式Linux系统常用命令介绍
3.3.1编辑命令vivim
3.3.2常用13个命令介绍
3.3.3SD卡烧写命令df、dd
3.4本章小结
第4章嵌入式编程基础知识
4.1GNUARM常用汇编指令介绍
4.1.1相对跳转指令b和bl
4.1.2数据传送指令mov和地址读取伪指令ldr
4.1.3内存访问指令ldr、str、ldm、stm
4.1.4加减指令add、sub
4.1.5程序状态寄存器访问指令msr、mrs
4.1.6其他伪指令
4.2ARMThumb子程序调用ATPCS规则介绍
4.2.1寄存器使用规则
4.2.2数据栈使用规则
4.2.3参数传递规则
4.3ARM交叉工具链介绍
4.3.1编译工具armlinuxgcc
4.3.2链接工具armlinuxld
4.3.3对象生成工具armlinuxobjcopy
4.3.4反汇编工具armlinuxobjdump
4.4Makefile简介
4.4.1基本规则
4.4.2make是如何工作的
4.4.3变量的用法
4.4.4常用函数介绍
4.5本章小结
第二篇千里之行,始于足下
第5章基于CortexA8的S5PV210启动流程介绍
5.1S5PV210启动流程概述
5.1.1外部启动介质介绍
5.1.2iROM启动的优势
5.2S5PV210上电初始化及内存空间分布
5.2.1启动流程
5.2.2空间分布
5.2.3SD卡引导块分配情况介绍
5.2.4iROM中的时钟配置
5.3S5PV210上的程序烧写介绍
5.3.1程序烧写概述
5.3.2制作BL1头信息
5.3.3烧写SD卡
5.3.4制作Shell脚本
5.4本章小结
第6章通用输入输出接口GPIO
6.1GPIO控制技术概述
6.1.1GPIO的介绍
6.1.2S5PV210的GPIO寄存器
6.1.3实验用到的寄存器详解
6.2S5PV210的GPIO应用实例
6.2.1实验介绍
6.2.2程序设计与代码详解
6.3本章小结
第7章通用异步收发器UART
7.1UART的原理及S5PV210的UART介绍
7.1.1UART通信的基本原理
7.1.2S5PV210的UART介绍
7.2S5PV210的UART应用实例
7.2.1实验介绍
7.2.2程序设计与代码详解
7.2.3实例测试
7.3本章小结
第8章中断体系结构
8.1S5PV210中断体系结构
8.1.1中断体系结构概述
8.1.2中断控制寄存器介绍
8.2S5PV210的中断应用实例
8.2.1实验介绍
8.2.2程序设计与代码详解
8.2.3实例测试
8.3本章小结
第9章系统时钟和定时器
9.1S5PV210的时钟体系结构
9.1.1S5PV210的时钟域和时钟源
9.1.2S5PV210的时钟应用和配置流程
9.1.3S5PV210时钟控制寄存器介绍
9.2S5PV210PWM定时器
9.2.1S5PV210PWM定时器概述
9.2.2S5PV210定时器
9.2.3PWM定时器的寄存器介绍
9.3S5PV210时钟和定时器应用实例
9.3.1实验介绍
9.3.2程序设计与代码详解
9.3.3实验测试
9.4本章小结
第10章S5PV210存储控制器
10.1S5PV210存储控制器介绍
10.1.1存储控制器概述
10.1.2DRAM存储控制器
10.1.3与外设的接线方式
10.1.4DDR2SDRAM概述
10.1.5S5PV210DDR2初始化顺序
10.1.6存储控制器的寄存器介绍
10.2存储控制器应用实例
10.2.1实验介绍
10.2.2程序设计与代码详解
10.2.3实验测试
10.3本章小结
第11章S5PV210NandFlash控制器
11.1NorFlash与NandFlash介绍
11.1.1Flash闪存
11.1.2NorFlash与NandFlash比较
11.1.3NandFlash的物理结构
11.1.4NandFlash的访问方法
11.2S5PV210NandFlash控制器介绍
11.2.1NandFlash控制器的特性
11.2.2NandFlash的模块图
11.2.3NandFlash的引脚配置
11.2.4NandFlash存储控制器配置
11.2.5NandFlash寄存器介绍
11.2.6NandFlash控制器的ECC校验方法
11.3NandFlash控制器应用实例
11.3.1实验介绍
11.3.2程序设计与代码详解
11.3.3实例测试
11.4本章小结
第12章LCD控制器
12.1LCD介绍
12.1.1LCD的分类
12.1.2LCD的接口
12.2S5PV210LCD控制器
12.2.1S5PV210LCD控制器概述
12.2.2S5PV210LCD控制器主要特性介绍
12.2.3S5PV210LCD控制器功能介绍
12.2.4S5PV210TFTLCD的操作
12.2.5S5PV210LCD控制器编程方法介绍
12.2.6S5PV210LCD控制器主要寄存器介绍
12.3LCD控制器应用实例
12.3.1实验介绍
12.3.2程序设计与代码详解
12.3.3实例测试
12.4本章小结
第三篇欲穷千里目,更上一层楼
第13章移植UBoot
13.1Bootloader介绍
13.1.1Bootloader概述
13.1.2Bootloader的结构和启动方式
13.1.3Bootloader操作模式和安装位置
13.1.4如何编写Bootloader
13.1.5UBoot与内核之间的交互
13.2移植UBoot到S5PV210开发板
13.2.1UBoot简介
13.2.2UBoot源码结构
13.2.3UBoot配置、编译与SPL介绍
13.2.4UBoot启动过程源码分析
13.2.5UBoot下的驱动移植
13.2.6添加启动菜单
13.3本章小结
第14章Linux内核移植和根文件系统制作
14.1Linux内核概述
14.1.1Linux内核发展及其版本特点
14.1.2Linux内核源码获取
14.1.3内核源码结构及Makefile分析
14.1.4Linux内核的Kconfig介绍
14.1.5Linux内核配置选项
14.2Linux内核移植
14.2.1Linux内核启动过程分析
14.2.2修改内核支持S5PV210平台
14.3本章小结
第15章构建Linux根文件系统
15.1Linux文件系统概述
15.1.1文件系统概述
15.1.2Linux根文件系统目录结构
15.1.3文件系统工作原理
15.2移植Busybox
15.2.1Busybox介绍
15.2.2Busybox的目录结构
15.2.3内核init进程及用户程序启动过程
15.2.4配置编译安装Busybox
15.2.5构建根文件系统
15.3本章小结
第16章驱动相关移植
16.1Linux驱动程序概述
16.1.1驱动程序、内核和应用程序之间的关系
16.1.2驱动程序分类
16.1.3驱动程序开发步骤
16.1.4驱动程序的加载和卸载
16.2网卡驱动移植
16.2.1DM9000网卡特性
16.2.2DM9000驱动移植
16.3Nand驱动移植
16.3.1S5PV210平台Nand驱动移植
16.3.28位硬件ECC和Nand启动
16.4LCD驱动移植
16.4.1LCD驱动概述
16.4.2LCD驱动移植
16.5其他驱动移植
16.5.1支持SD卡驱动
16.5.2LED子系统驱动移植
16.5.3支持RTC驱动
16.5.4支持1wire单总线驱动
16.6本章小结
参考文献
|
|