嵌入式系统设计从入门到精通

当前位置:首页 > 计算机网络 > 计算机体系结构 > 嵌入式系统设计从入门到精通

出版社:北京航空航天大学出版社
出版日期:2009-3
ISBN:9787811245561
作者:覃朝东
页数:329页

章节摘录

插图:从第3章“Hello,World!”的代码中看到,嵌入式系统要用很多的代码在硬件的管理上。实际应用中,要面对更多的硬件设备,同时还可能处理很多复杂的协议,如USB通信协议和各种网络协议等。在具体的项目中,通常希望集中所有的力量进行业务方面的开发,同时利用现有的操作系统(Iinux和WinCE等)处理硬件设备管理和各种通用的协议。应用于嵌入式系统时,LinuX操作系统需要有一个引导程序(BootLoader)。引导程序需要建立LinuX的运行环境,包括配置系统内存、装置内核到内存相应的位置和默认启动参数等。同时引导程序还提供一些简单的调试手段,方便在系统开发初期的调试。4.1  BOOtLoadel概述基于Intel x86体系结构的PC也一样需要使用BootLoadet。计算机上电后从地址0xFFFF0取第一条指令,这个地址存放的就是计算机主板的BIOS.BIOS完成开机时的硬件启动检测,然后读取硬盘的引导扇区。对于使用LinuX操作系统的计算机,引导扇区上的程序先读人引导程序LILO或是GRUB,再由引导程序把Linux装入到内存中,然后把控制权交给LinuX。嵌入式系统中引导程序完成了PC中BIOS和LILO等引导程序完成的任务。BootLoad-er其实就是一个嵌入式应用程序,它的功能根据不同的需求会有很大的不同,可能非常简单,也可能比较复杂。ARM处理器通常默认是从地址0X0取第一条指令,在电路设计时,把存储BootLoader的Flash地址安排在OXO的位置。这样在系统上电后,就从Flash开始运行Boot-Loader。BootLoader主要的功能包括启动和下载。启动功能:所谓启动功能就是BootLoader从嵌入式系统的固态存储设备(通常都是Flash)上将操作系统加载到RAM中运行,然后将控制权交给操作系统,之后由操作系统接管系统的管理。这是嵌入式系统正常工作模式。在这种情况下,BootLoader就是简单的进行系统的初始化和引导操作系统。对于使用LinuX操作系统的ARM嵌入式系统,BootLoader必须给LinuX准备必要的运行环境。

前言

很多年前,实验室里有位老师经常和我们说起“嵌入式系统”,大家有很多疑问:“嵌入式系统”到底是什么?32位单片机和8位单片机的差别是什么?32位单片机系统的开发能不能像8位单片机一样方便?经过多年实际从事嵌入式系统开发工作之后,仍然不能给出一个完美的答案,说明什么是“嵌入式系统”。而与此同时,几乎生活中的所有电器设备都和嵌人式系统有关,如掌上PDA、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数码相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。其实,基于805l单片机的系统也都纳入了“嵌入式系统”的范畴。ARM处理器在嵌入式系统领域占据重要的地位,2008年ARM公司宣布由其合作伙伴出货的处理器总量已超过l00亿个,年出货量已接近30亿个。因此,学习基于ARM处理器的嵌入式系统设计就比较有实用的意义。Linux是一个源代码开放、免费的操作系统,并且支持包括ARM在内的多种处理器。目前有很多关于LinuX内核分析、设备驱动的书籍.因此,Linux无论是在商业应用上还是在教学使用中都有巨大的优势。本书的例子多数基于S3C24lO处理器和LinuX一2.6.22操作系统。在实际工作中,选择哪种处理器和哪一个操作系统会有多方面的考虑,包括成本、供货和开发周期等。因此,学习嵌入式系统开发,最重要的是掌握一种方法,即面对一个新的硬件平台和操作系统,应该从哪里着手进行考虑,抓住问题的关键点。在学习过程中,经常要考虑的问题是:‘勺口果这是另外一个芯片,应该怎么办?”任何一本书,都只能在某一个特定的硬件和软件的平台上分析、讨论问题。例如本书中大部分例子所使用的S3C;2410处理器,尽管目前仍在大量使用,但总会有新型号的产品替代它(也许是S3C2440或是其他)。本书的第l章简单介绍基于ARM处理器的嵌入式系统开发的基础知识。第2章介绍嵌入式系统开发的硬件和软件环境。要真正地理解嵌入式系统,就要亲自动手做实验,而建立实验的工作环境就是迈出丫第一步。第3章介绍在一个最小系统的硬件平台上实现一个“Hello,World!”程序。说明只要你愿意,就可以像805l单片机的开发一样去写程序。

书籍目录

第1章  ARM嵌入式系统概论  1.1  ARM处理器系列  1.2  ARM处理器的系统结构  1.3  ARM处理器的选择  1.4  操作系统的选择    1.4.1  ARM—Linux    1.4.2  uC/OS—II    1.4.3  eCos  1.5  ARM嵌入式系统的一般结构    1.5.1  ARM嵌入式系统的硬件结构    1.5.2  ARM嵌入式系统的软件结构  1.6  硬件基础知识    1.6.1  电容    1.6.2  电感和磁珠    1.6.3  电阻    1.6.4  电平转换第2章  嵌入式开发环境  2.1  建立嵌入式系统的硬件开发环境    2.1.1  恒温烙铁    2.1.2  热风枪    2.1.3  万用表    2.1.4  示波器  2.2  建立嵌入式系统的软件开发环境    2.2.1  在虚拟机上运行Linux操作系统    2.2.2  其他常用辅助工具(secureCRT、超级终端和串口工具)  2.3  研发调试烧写工具    2.3.1  制作JTAG烧写下载线    2.3.2  烧写程序Jflash简介  2.4  深入分析Jflash    2.4.1  计算机并行口编程    2.4.2  Jflash源文件    2.4.3  main函数    2.4.4  Jflash中的JTAG技术细节    2.4.5  移植Jflash到新的硬件平台    2.4.6  Nor Flash的烧写过程    2.4.7  Nand Flash的烧写过程  2.5  编译环境的建立第3章  嵌入式系统的“Hello,World!”  3.1  最小系统硬件设计  3.2  嵌入式系统的“Hello,World!”  3.3  代码解释第4章引导程序  4.1  BootLoader概述  4.2  处理器启动的硬件设计  4.3  BootLoader(vivi)的代码分析  4.4  从Nand Flash装载引导程序  4.5  vivi的移植第5章  Linux操作系统移植  5.1  Linux操作系统目录结构  5.2  引导程序与Linux操作系统  5.3  移植到新平台的相关代码分析  5.4  编译内核  5.5  制作根文件系统第6章  Linux设备驱动程序  6.1  概述  6.2  Linux设备驱动模型    6.2.1  sysfs文件系统    6.2.2  内核相关数据结构  6.3  一个简单的设备驱动程序  6.4  设备驱动程序与硬件  6.5  用户程序和内核之间传递数据  6.6  中断处理  6.7  软中断和tasklets  6.8  /proc文件系统第7章  I2C总线设备  7.1 I2C总线接口设计  7.2  简单的I2C设备驱动程序  7.3  Linux的I2C驱动程序结构  7.4  用户模式下访问I2C设备  7.5  I2C接口的实时时钟设备驱动第8章  串行通信接口  8.1  串行通信接口规范  8.2  RS485规范  8.3  串行接口硬件设计  8.4  RS485接口硬件设计  8.5  linux串口设备驱动程序第9章  Flash存储设备  9.1  概述  9.2  Flash硬件接口设计  9.3  MTD驱动程序结构  9.4  Nor Flash设备驱动程序  9.5  Nand Flash设备驱动程序  9.6  Yaffs2文件系统第10章  以太网接口  10.1  概述  10.2  以太网接口硬件设计  10.3  Linux网络设备驱动程序结构  10.4  DM9000驱动程序第11章  液晶显示屏接口设计  11.1  概述  11.2  液晶屏接口设计  11.3  通用I/O接口驱动液晶屏  11.4  Linux帧缓冲设备驱动程序结构  11.5  S3C2410液晶显示设备驱动程序第12章  嵌入式系统的电磁兼容基本设计  12.1  概述  12.2  浪涌防护设计  12.3  电快速瞬变脉冲群防护设计  12.4  静电防护设计参考文献

编辑推荐

《嵌入式系统设计从入门到精通:基于S3C2410和Linux》介绍了以ARM处理器(S3C2410)为核心的嵌入式系统设计,由浅到深介绍嵌入式系统的硬件和软件设计。 《嵌入式系统设计从入门到精通:基于S3C2410和Linux》适合从事嵌入式系统设计、研究的工程技术人员用作参考书。

作者简介

《嵌入式系统设计从入门到精通:基于S3C2410和Linux》介绍了以ARM处理器(S3C2410)为核心的嵌入式系统设计,由浅到深介绍嵌入式系统的硬件和软件设计。首先介绍如何建立嵌入式开发的软件、硬件环境,接着介绍引导程序和操作系统的移植。通过一个简单的“Hello,World!”程序,让读者了解最基本的嵌入式系统。嵌入式系统开发很大一部分工作是设备驱动程序的编写,《嵌入式系统设计从入门到精通:基于S3C2410和Linux》详细讲解Linux系统下I2C、串口、以太网口、LCD和Flash等设备驱动程序。最后简单介绍嵌入式系统最基本的电磁兼容设计。
《嵌入式系统设计从入门到精通:基于S3C2410和Linux》适合从事嵌入式系统设计、研究的工程技术人员用作参考书,也可供嵌入式系统相关专业的本科生或研究生作为教材或参考书。

图书封面


 嵌入式系统设计从入门到精通下载



发布书评

 
 


精彩短评 (总计9条)

  •     学习起来很方便,也比较实用
  •     书的封面被压得皱皱的。上边缘很多黑斑,一看就是一本旧书。同当当客服反馈后无果。
  •     有人能告诉我这本书的代码哪里能下到吗, 下不到吧, 是代码没法运行, 还是杂地啦, 好吧, 我菜了, 没运行成功, 是高手的可飘过了.
  •     感觉不大实用的,慎用!!
  •     不算很空泛,看了还是有收获的。
  •     过得去!!!
  •     不好,内容不丰富
  •     前段时间在做omap3530开发,完了之后再买这本书看了下,收获很多,整本书还是很不错的,值得阅读
  •     拿到这本书时,第一个感觉就是书薄的吓人,书薄很简单,里面要么就是精华,要么就是垃圾,很显然只要瘪几眼的人就知道这本书是XX,别说精通,恐怕连入门都不太行吧。里面的内容感觉就是简单的ctrl+c、ctrl+v(╮(╯_╰)╭什么意思大家心照不宣了),就连那个前言都感觉特眼熟,作者自己心得经验在里面很少能见到,书中程序多而文字少,我知道作者编程水品高超,字符字符如滔滔江水,绵绵不绝,但你要带人入门,总得多花点心思解析解析吧,何必这样惜墨如金呢,书厚一点价格也自然高一截不也不正合你意?
    30多元可以作为一个普通学生4天的伙食费了,结果买来一瓶百年糊涂,呜呼哀哉!痛彻心扉!
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024