书籍详情
《ARM9嵌入式系统设计——基于S3C与Linux》[47M]百度网盘|亲测有效|pdf下载
  • ARM9嵌入式系统设计——基于S3C与Linux

  • 出版社:北京航空航天大学出版社
  • 出版时间:2015-05
  • 热度:10538
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介

  《ARM9嵌入式系统设计——基于S3C2410与Linux(第3版)》针对在嵌入式市场上颇具竞争力的ARM9处理器——S3C2410和开放源码的Linux操作系统,讲述嵌入式系统的概念、软硬件的开发和调试手段、嵌入式Linux驱动程序和应用程序的开发以及图形用户界面MiniGUI的移植和应用。第3版的开发环境为RealViewMDK和IAREWARM,开发平台为EL-ARM-860。
  《ARM9嵌入式系统设计——基于S3C2410与Linux(第3版)》的特点是集嵌入式系统开发的理论知识和实验教学于一体,并结合北京精仪达盛科技有限公司的开发板,给出了大量实例。
  本书可作为高等院校嵌入式系统课程的教材,也可作为对嵌入式系统开发感兴趣的读者的入门教材,同时还可以作为从事ARM嵌入式系统应用开发工程师的参考书。

目录

第1章 嵌入式系统基础
1.1嵌入式系统概述
1.1.1嵌入式系统的定义
1.1.2嵌入式系统的组成
1.1.3嵌入式系统的特点
1.1.4嵌入式系统的应用
1.1.5实时系统
1.2嵌入式处理器
1.2.1嵌入式处理器的分类
1.2.2嵌入式微处理器
1.2.3微控制器
1.2.4DSP处理器
1.2.5片上系统
1.2.6典型的嵌入式处理器
1.3嵌入式操作系统
1.3.1操作系统的概念和分类
1.3.2实时操作系统
1.3.3常见的嵌入式操作系统
1.4实时操作系统的内核
1.4.1任务管理
1.4.2任务间的通信和同步
1.4.3存储器管理
1.4.4定时器和中断管理
1.5习题
第2章 嵌入式系统开发过程
2.1嵌入式软件开发的特点
2.2嵌入式软件的开发流程
2.3嵌入式系统的调试
2.3.1调试方式
2.3.2调试方法
2.4板级支持包
2.5习题
第3章ARM体系结构
3.1 ARM体系结构概述
3.1.1 ARM体系结构的特点
3.1.2 ARM处理器结构
3.1.3 ARM处理器内核
3.1.4 ARM处理器核
3.2 ARM编程模型
3.2.1数据类型
3.2.2处理器模式
3.2.3处理器工作状态
3.2.4寄存器组织
3.2.5异常
3.2.6存储器和存储器映射I/O
3.3 ARM基本寻址方式
3.4 ARM指令集
3.4.1条件执行
3.4.2指令分类说明
3.4.3 Thumb指令集与ARM指令集的区别
3.4.4 Thumb2指令集的特点
3.5 ARM9与ARM7的比较
3.6 ARM9TDMI内核
3.6.1 ARM9TDMI编程模型
3.6.2 ARM9TDMI存储器接口
3.7A RM920T核
3.7.1 ARM920T编程模型
3.7.2 存储器管理单元(MMU)
3.7.3 Cache、写缓冲和物理地址TAG RAM
3.7.4 时钟模式
3.7.5总线接口单元
3.8习题
第4章ARM系统硬件设计基础
4.1 ARM开发环境简介
4.1.1 RealView MDK开发工具简介
4.1.2 IAR EWARM集成开发环境简介
4.2基于ARM的汇编语言程序设计
4.2.1 ARM汇编器支持的伪指令
4.2.2 基于ARM的汇编语言语句格式
4.2.3 ARM汇编语言程序的基本结构
4.2.4 基于ARM的汇编语言程序举例
4.3基于ARM的硬件启动程序设计
4.3.1 分配中断向量表
4.3.2 初始化存储系统
4.3.3初始化堆栈
4.3.4初始化有特殊要求的硬件模块
4.3.5初始化应用程序执行环境
4.3.6改变处理器模式
4.3.7调用主应用程序
4.4基于ARM的C语言与汇编语言混合编程
4.4.1 C语言与汇编语言混合编程应遵守的规则
4.4.2汇编程序调用C程序的方法
4.4.3C程序调用汇编程序的方法
4.4.4C程序中内嵌汇编语句
4.4.5基于ARM的C语言与汇编语言混合编程举例
4.5印制电路板制作简介
4.5.1印制电路板设计软件--Protel
4.5.2单面板与多层板
4.5.3印制电路板设计的注意事项
4.6习题
第5章 基于S3C2410的系统硬件设计
5.1 S3C2410简介
5.1.1 S3C2410A的特点
5.1.2 存储器控制器
5.1.3 NAND Flash控制器
5.1.4 时钟和电源管理
5.2 I/O口
5.2.1 S3C2410A的I/O口工作原理
5.2.2 I/O口编程实例
5.3 中断
5.3.1 ARM的中断原理
5.3.2 S3C2410A的中断控制器
5.3. 3中断编程实例
5.4 DMA
5.4.1 DMA工作原理
5.4.2 S3C2410A的DMA控制器
5.4.3 DMA编程实例
5.5 UART
5.5.1 UART的工作原理
5.5.2 S3C2410A的UART
5.5.3 UART编程实例
5.6 A/D接口
5.6.1 A/D接口原理
5.6.2 S3C2410A的A/D转换器
5.6.3 A/D接口编程实例
5.7键盘和LED控制
5.7.1键盘和LED的接口原理
5.7.2键盘和LED控制的编程实例
5.8 LCD
5.8.1 LCD显示原理
5.8.2 S3C2410A的LCD控制器
5.8.3 LCD显示的编程实例
5.9触摸屏
5.9.1触摸屏工作原理
5.9.2 S3C2410A的触摸屏接口
5.9.3触摸屏编程实例
5.10音频录放
5.10.1音频录放的实现原理
5.10.2 S3C2410A的I2S总线接口
5.10.3音频录放的编程实例
5.11 USB设备的数据收发
5.11.1 USB接口及编程简介
5.11.2 S3C2410A的USB设备控制器
5.11.3 USB设备收发数据编程实例
第6章 Linux操作系统基础
6.1 Linux操作系统概述
6.1.1 Linux操作系统的产生及发展
6.1.2 Linux操作系统的特点
6.2 Linux内核的结构
6.2.1 进程调度
6.2.2 内存管理
6.2.3虚拟文件系统
6.2.4进程间通信
6.2.5网络接口
6.2.6各个子系统之间的依赖关系
6.3 Linux设备管理
6.3.1设备文件
6.3.2设备驱动
6.3.3控制方式
6.4 Linux的使用
6.4.1 Linux常用命令
6.4.2 vi编辑器的使用
6.4.3 make工具和gcc编译器
第7章 嵌入式Linux软件设计
7.1 Bootloader引导程序
7.1.1 BootLoader的启动过程
7.1.2 BootLoader--vivi
7.2 Linux的移植
7.2.1 Linux内核的目录结构
7.2.2 Linux内核源码
7.2.3 交叉编译环境的建立
7.2.4 Linux内核文件的修改
7.2.5 Linux内核及文件系统的编译
7.2.6 Linux内核及文件系统的下载
7.3 驱动程序开发
7.3.1驱动程序的开发步骤
7.3.2键盘驱动程序的开发
7.3.3 LCD驱动程序的开发
7.4应用程序开发
7.4.1应用程序的开发步骤
7.4.2键盘应用程序的开发
7.4.3基本绘图应用程序的开发
7.4.4跑马灯应用程序的开发
第8章 图形用户接口MiniGUI
8.1 MiniGUI简介
8.1.1 MiniGUI的功能特色
8.1.2 MiniGUI的技术优势
8.2 MiniGUI在Linux下运行环境的建立
8.2.1 MiniGUI在Linux下的运行环境
8.2.2安装资源文件
8.2.3配置安装MiniGUI库文件
8.3 MiniGUI在QVFB上的仿真应用
8.4在Linux下S3C2410 FrameBuffer的启动
8.4.1 FrameBuffer简介
8.4.2 FrameBuffer驱动的添加
8.4.3 FrameBuffer设备文件的添加
8.4.4 FrameBuffer测试程序的编写
8.5 MiniGUI在S3C2410上的移植
8.5.1安装MiniGUI资源文件
8.5.2配置安装MiniGUI库文件
8.5.3 MiniGUI的移植步骤
8.6 MiniGUI输入引擎IAL的开发
8.6.1 IAL引擎简介
8.6.2 IAL引擎的开发
8.7在S3C2410上运行简单的绘图程序
8.7.1 MiniGUI的基本绘图函数
8.7.2绘图程序举例407
附录 AEL ARM 860型嵌入式实验开发系统简介
一、 系统结构简介
二、 可开设的实验项目
三、 产品特点
附录B 达盛科技Techv DM355介绍
参考文献

前言/序言

  ARM9嵌入式系统设计--基于S3C2410与Linux(第3版)
  当前,嵌入式技术的应用越来越广泛,从航天科技到民用产品,嵌入式产品的身影无处不在,而这些嵌入式产品的核心——处理器决定了产品的市场和性能。在32位嵌入式处理器市场中,ARM处理器占有很大的份额。ARM不仅是一个公司、一种技术,也是一种经营理念,即由ARM公司提供核心技术,只出售芯片中的IP授权,采取了别具一格的“Chipless模式”(无芯片的芯片企业),不参与生产,而是由合作厂商去生产具体的芯片和产品。
  现在由于存储空间等原因,在嵌入式芯片上编程有较大的困难,选取合适的平台就显得很重要。Linux自出现以来,得到了迅速的发展。Linux是开放源码的操作系统,吸引着全世界的程序员参与到发展和完善的工作中来,所以Linux保持了稳定而且卓越的性能。Linux在服务器领域已经占有很大的份额,在图形界面方面也不输于Windows。由于源码可以修改、移植,Linux在嵌入式领域中的应用也越来越广。选用Linux作为平台,可以根据具体需要自由地裁减源码,打造适合目标平台的环境,编写最有效率的应用程序。
  可以预见,ARM与Linux在未来会更加壮大,在嵌入式产品市场上会占有越来越大的份额。在这种形势下,学习研究ARM与Linux非常有必要,这也是本书编写的目的。在新的高科技浪潮来临之际,我国正全力迎接机遇和挑战,嵌入式领域方兴未艾,Linux也越来越成熟,我们需要掌握更新的知识,实现自我价值,为祖国贡献力量!
  S3C2410是ARM9系列中非常优秀的一款处理器,应用广泛。本书主要介绍ARM(S3C2410)和嵌入式Linux的基本知识及具体应用。本书共分8章,第1章和第2章介绍嵌入式系统的基本概念和开发方法,第3章到第5章介绍ARM的基本知识及系统硬件的设计,第6章和第7章介绍Linux的移植和基本应用,第8章介绍图形用户界面MiniGUI的移植和应用。
  第1章:介绍嵌入式系统的基本概念。包括嵌入式系统的概念、特点及应用,读者可以由本章了解嵌入式系统的基础知识,掌握嵌入式的发展动向。
  第2章:介绍嵌入式软件的开发过程和调试手段。读者需要注意嵌入式软件与普通软件在开发和调试上的区别。
  第3章:介绍ARM的体系结构。主要包括ARM体系结构、ARM编程模型、ARM基本寻址方式和ARM指令集。
  第4章:介绍ARM系统硬件设计的基础知识。包括MDK集成开发环境、对ARM的汇编程序设计和混合编程以及ARM硬件启动程序设计等。
  第5章:介绍S3C2410系统的硬件设计。分别介绍了I/O口、中断、DMA、UART、A/D接口、键盘、LCD、触摸屏、音频及USB设备的硬件设计要点。
  第6章:介绍Linux的基础知识。包括内核结构(进程调度、内存管理、虚拟文件、进程通信、网络接口)、设备管理以及Linux基本命令。
  第7章:介绍Linux的软件设计。包括BootLoader引导程序、Linux的移植、驱动程序及应用程序的开发。
  第8章:介绍MiniGUI在Linux和S3C2410上的使用。包括MiniGUI在Linux下运行环境的建立过程和MiniGUI移植到S3C2410上的过程。此外还对QVFB和FrameBuffer做了简单介绍。
  本书可作为高等院校嵌入式系统课程的教材本教材配有教学课件,有需要的教师,请发送email至emsbook@buaacm.com.cn索取。,也可以作为对嵌入式系统开发感兴趣的读者的入门教材,同时还可以作为从事ARM嵌入式系统应用开发工程师的参考书。
  本书由北京机械工业学院和北京理工大学的老师及学生合作完成。北京理工大学的马忠梅老师负责从第1章到第3章第4节的编写;北京机械工业学院的徐英慧老师负责全书的组织工作,并负责从第3章第6节到第5章,以及第8章的编写;北京机械工业学院研究生王磊同学负责第6章的编写;北京机械工业学院研究生王琳同学负责第7章的编写,并做了大量实践工作。
  本书在编写过程中得到了许多人的支持和帮助,在此表示特别感谢。感谢北京精仪达盛科技有限公司的毕才术、阳海涛、肖奕之、胡芳、石燕智,他们提供了ARM9开发平台,为本书的完成提供了良好的测试环境。感谢北京机械工业学院的杨根兴老师,感谢他一直以来在嵌入式领域对我们的指导,并给我们提供了嵌入式系统开发的实战机会。感谢北京机械工业学院计算中心的周长胜、刘梅彦、林乐荣和黄宏博等各位老师,感谢他们在本书的书写过程中给予的支持和帮助以及一直以来对我们的关心和爱护。感谢王晖、崔建武、郝晓、王山平、侯莉茹和吴德天,感谢他们协助我们对书中的实例进行了验证并对本书做了大量的校对工作。在此,对所有帮助过我们的人真诚地说声“谢谢”。
  由于作者的水平有限,书中的错误在所难免,恳请广大读者批评指正。
  作者
  2015年3月