深入浅出嵌入式底层软件开发

当前位置:首页 > 计算机网络 > 软件工程/开发项目管理 > 深入浅出嵌入式底层软件开发

出版社:北京航空航天大学
出版日期:2011-5
ISBN:9787512403826
作者:杨铸//唐攀
页数:654页

作者简介

《深入浅出:嵌入式底层软件开发》内容简介:第1篇(第1~3章)以ARM CPU及其汇编语言为背景,深入浅出地讲解软件是如何控制硬件的。第2篇(第4~7章)以S3C2440开发板为硬件,讲解制作嵌入式Linux系统的完整过程,具有很强的实用性和可操作性。第3篇(第8~11章)以尽可能通俗的方式讲解Linux设备驱动中涉及的复杂理论,在此基础上,以驱动程序的2个接口(向下与硬件接口、向上与内核子系统接口)为突破口,由浅入深地编写和剖析了嵌入式真实典型硬件(LED灯、按键、网卡、LCD、触摸屏)的驱动程序。所有的驱动程序均能在实际硬件上正常运行,帮助读者揭开Linux驱动的神秘面纱。第12章以实战的方式,深入浅出地剖析了嵌入式Linux系统中最重要的2类驱动(LCD和触摸屏)的代码实现。并简介了块设备驱动和usb设备驱动。本书适合硬件工程师、软件工程师、嵌入式软件的从业人员、教授嵌入式软件开发课程的老师、意欲从事嵌入式软件开发工作的大学生阅读。

书籍目录

第1篇  ARM体系结构与编程  第1章  ARM汇编编程基础    1.1  ARM CPU寄存器      1.1.1  普通寄存器R0~Rl5      1.1.2  状态寄存器CPSR与SPSR      1.1.3  流水线对PC的值的影响    1.2  基本寻址方式与基本指令      1.2.1  最常见寻址方式精解      1.2.2  最常见指令精解    1.3  ARM汇编伪操作      1.3.1  汇编伪操作在汇编程序中的使用范例      1.3.2  最常见汇编伪操作精解      1.3.3  汇编伪操作列表    1.4  ADS开发环境的使用      1.4.1  在ADS中进行裸机程序的编辑、编译、运行      1.4.2  在AXD中进行裸机程序调试的方法与步骤    1.5    RealViewMDK开发环境的使用      1.5.1  在MDK开发环境下编写裸机程序      1.5.2  MDK调试裸机程序的方法与步骤    1.6  其他常见寻址模式与常见指令      1.6.1  其他常见寻址模式      1.6.2  其他常见指令  第2章  ARM编程进阶    2.1  ARM汇编伪指令      2.1.1  精解ldr伪指令      2.1.2  精解adr      2.1.3  精解adrl伪指令      2.1.4  nop伪指令    2.2  ATPCS与混合编程      2.2.1  ATPCS规则精解      2.2.2  精解C和ARM汇编程序间的相互调用    2.3  裸机硬件的控制方法与例程      2.3.1  建立真实硬件的开发和调试环境      2.3.2  软件控制(驱动)硬件的编程原理      2.3.3  裸机硬件控制程序实例      2.3.4  启动例程    2.4  看门狗定时器      2.4.1  看门狗定时器的用途      2.4.2  看门狗工作原理      2.4.3  看门狗实验    2.5  系统时钟      2.5.1  系统工作时钟频率      2.5.2  时钟驱动实验    2.6  SDRAM内存      2.6.1  3C2440存储器地址段(Bank)      2.6.2  SDRAM内存工作原理      2.6.3  SDRAM的读操作      2.6.4  SDRAM预充电操作      2.6.5  SDRAM突发操作      2.6.6  SDRAM写操作      2.6.7  SDRAM的刷新      2.6.8  内存驱动实验    2.7  UART串口      2.7.1  同步通信和异步通信      2.7.2  数据的串行和并行通信方式      2.7.3  数据通信传输模式      2.7.4  S3C2440UART、控制器      2.7.5  S3C2440UART串口工作原理      2.7.6  UART、串口驱动实验  第3章  ARM体系结构    3.1  ARM处理器工作模式      3.1.1  ARM处理器不同模式下的寄存器      3.1.2  ARM处理器模式切换(含MRS、MSR指令)    3.2  ARM处理器异常处理      3.2.1  异常分类      3.2.2  异常发生时的硬件操作      3.2.3  异常返回地址      3.2.4  异常向量表      3.2.5  异常处理的返回    3.3  S3C24.4  0系统中断      3.3.1  中断的产生-中断源      3.3.2  中断优先级      3.3.3  中断控制器相关寄存器      3.3.4  系统中断流程      3.3.5  按键控制LED灯实验    3.4  semihosting与硬件重定向      3.4.1  semihosting半主机调试      3.4.2  硬件重定向    3.5  系统调用与软件中断SWI的实现      3.5.1  系统调用      3.5.2  软件中断      3.5.3  软件中断处理      3.5.4  LED系统调用实验    3.6  进程切换的实现      3.6.1  进程      3.6.2  进程控制块PCB      3.6.3  进程创建      3.6.4  进程队列      3.6.5  进程调度      3.6.6  上下文切换    3.7  MMU与内存保护的实现      3.7.1  存储管理单元MMU      3.7.2  cache      3.7.3  CPl5协处理器    3.8  实战:小型多任务操作系统miniOS的实现      3.8.1  miniOS代码分析      3.8.2  miniOS应用程序接口      3.8.3  miniOS应用程序系统调用接口第2篇  嵌入式Linux系统建构  第4章  嵌入式Linux软件开发环境搭建    4.1  体验嵌入式LinuX系统    4.2  Linux操作系统安装      4.2.1  在Windows上安装虚拟机      4.2.2  在虚拟机上安装Linux操作系统ubuntu9.1  0    4.3  在ubuntu9.10中安装基本的开发环境    4.4  ubuntu9.10上网络服务的安装与配置      4.4.1  设置vmware网络      4.4.2  安装、配置和使用FTP服务      4.4.3  安装、配置NFS服务  第5章  建构BootLoader    5.1  准备工作      5.1.1  嵌入式Linux系统概述      5.1.2  构建交叉编译工具链      5.1.3  BootLoader概述    5.2  深入剖析u-boot代码      5.2.1  安装和使用源代码阅读工具SourceInsight      5.2.2  u-boot的编译初步      5.2.3  分析u-boot的第一阶段代码(cpu/arm920t/start.S)      5.2.4  分析u-boot的第二阶段代码      5.2.5  继续移植、编译u-boot..      5.2.6  u-boot常用命令使用简介      5.2.7  u-boot命令实现框架的分析      5.2.8  u-boot引导Linux操作系统的过程分析      5.2.9  让u-boot支持从USBslave接口获得数据  第6章  建构嵌入式Linux内核    6.1  Linux内核简介      6.1.1  Linux内核版本历史      6.1.2  内核源码目录结构      6.1.3  Linux内核构造系统简介    6.2  移植、裁减及配置Linux内核到S3C2440开发板      6.2.1  体验Linux内核配置、编译与使用      6.2.2  为S3C2440移植内核      6.2.3  配置并裁减内核      6.2.4  运行内核并验证内核被配置的功能    6.3  内核Kconfig与Makefile文件分析      6.3.1  内核构造系统简介      6.3.2  Kconfig文件精解      6.3.3.config文件说明      6.3.4  Makefile文件精解      6.3.5  实战:修改Kconfig和Makefile,完成向内核中添加新的功能组件——网卡、声卡、LCD、触摸屏驱动  第7章  建构嵌入式Linux文件系统375    7.1  嵌入式Linux文件系统简介      7.1.1  嵌入式文件系统概述      7.1.2  MrI、D设备与Flash文件系统简介      7.1.3  嵌入式Linux系统中的tmpfs文件系统    7.2  详解制作根文件系统      7.2.1  FHS标准介绍      7.2.2  编译/安装busybox,生成/1bin、/sbin、/usr/bin、/usr/sbin目录      7.2.3  利用交叉编译工具链,构建/lib目录      7.2.4  手工构建/etc目录      7.2.5  手工构建最简化的/dev目录      7.2.6  使用启动脚本完成/proc、/sys、/dev、/tmp、/var等目录的完整构建      7.2.7  制作根文件系统的jffs2映像文件    7.3  建构嵌入式Linux应用程序系统.      7.3.1  辅助处理工具的移植      7.3.2  MP3播放器madplay的移植      7.3.3  主要网络服务器的移植与使用      7.3.4  数据库程序的移植与使用    7.4  建构GUI系统      7.4.1  移植tslib库      7.4.2  移植qtopia第3篇  Linux驱动程序开发  第8章  Linux驱动程序开发基础    8.1  Linux设备驱动程序简介      8.1.1  设备驱动分类和内核模块      8.1.2  设备文件和设备驱动      8.1.3  内核模块的编译和使用    8.2  字符设备驱动基本编程      8.2.1  字符设备驱动体验      8.2.2  实现字符设备驱动的工作    8.3  驱动程序中的并发控制方法      8.3.1  并发控制原理简介      8.3.2  信号量的编程实战      8.3.3  自旋锁的编程实战      8.3.4  Linux内核提供的其他并发控制方法    8.4  驱动程序中的阻塞与非阻塞编程      8.4.1  体验阻塞I/O      8.4.2  如何在驱动程序中实现阻塞I/O      8.4.3  体验非阻塞I/O      8.4.4  如何在驱动程序中实现非阻塞I/O    8.5  字符设备驱动程序对一些高级特性的实现      8.5.1  non-seekable的实现      8.5.2  select的实现  第9章  Linux字符设备驱动开发实战    9.1  I/0内存与硬件通信      9.1.1  驱动中的内存分配      9.1.2  使用I/O端口地址空间与硬件进行通信的内核API介绍      9.1.3  使用I/O内存地址空间与硬件进行通信的内核API介绍      9.1.4  通过I/O内存驱动硬件的实战——LED灯驱动      9.1.5  驱动程序对ioctl的规范实现    9.2  内核misc设备架构分析      9.2.1  定义全局变量      9.2.2  注册主设备号为10的misc设备      9.2.3  导出内核API——misc_register函数      9.2.4  实施“乾坤大挪移”的misc设备open函数      9.2.5  导出内核API——misc_deregister函数    9.3  Watchdog驱动      9.3.1  相关概念      9.3.2  watchdog硬件结构分析      9.3.3  Watchdog驱动的初始化和卸载      9.3.4  探测函数watchdog_probe的实现      9.3.5  实现misc设备中对设备文件的操作      9.3.6  Watehdog平台驱动的设备移除、挂起和恢复接口函数的实现      9.3.7  测试Watchdog驱动    9.4  内核编码规范与风格      9.4.1  缩进、长行、{}与空格的使用规范      9.4.2  变量和函数      9.4.3  注释、macros和enums      9.4.4  快乐使用内核提供的实现常用功能的宏  第10章  Linux驱动中的中断编程    10.1  驱动程序调测方法与技巧      10.1.1  利用printk      10.1.2  详解OOP消息      10.1.3  利用strace      10.1.4  利用内核内置的hacking选项      10.1.5  其他调测方法简介    10.2  驱动程序中的中断处理      10.2.1  中断简述      10.2.2  驱动程序中进行中断处理涉及的最基本的内核API      10.2.3  驱动程序进行中断处理的实例代码分析      10.2.4  其他关于中断的内核APIj    10.3  内核时间与内核定时器      10.3.1  内核中如何记录时间      10.3.2  内核定时器API      10.3.3  内核定时器与内核时间的应用案例——按键消抖      10.3.4  如何在内核中实现延时    10.4  中断顶半部与底半部      10.4.1  区分和使用中断顶半部与底半部的原因      10.4.2  tasklet机制与编程实例      10.4.3  workqueue机制与编程实例      10.4.4  tasklet与workqueue的区别和不同应用环境总结    10.5  Linux中断处理系统的架构与共享中断      10.5.1  裸机程序中的中断编程与有操作系统下的中断编程的区别      10.5.2  Linux中断处理系统的架构      10.5.3  关于共享中断的说明      10.5.4  共享中断实例  第11章  Linux网络设备驱动开发实战547    11.1  网络设备驱动基础      11.1.1  体验网卡驱动      11.1.2  网卡驱动的基本知识——2个结构体和5-个函数      11.1.3  虚拟网卡snull驱动代码分析      11.1.4  网卡驱动的编写主要内容总结    11.2  网络设备驱动实例——cs8900      11.2.1  虚拟网卡驱动与真实网卡驱动的主要区别      11.2.2  真实网卡驱动的整体框架分析      11.2.3  驱动中关于cs8900硬件操作的探讨  第12章  其他重要设备驱动开发实战    12.1  块设备驱动初步(以ramdisk为例)      12.1.1  体验块设备驱动      12.1.2  块设备驱动框架介绍      12.1.3  块设备的简单读写实现代码分析      12.1.4  块设备的高效读写实现代码分析      12.1.5  块设备的其他操作接口fops    12.2  LCD驱动      12.2.1  LCD裸机驱动      12.2.2  帧缓冲设备驱动框架结构      12.2.3  LCD驱动实例代码      12.2.4  LCD驱动代码的主干结构的总结      12.2.5  测试LCD驱动程序    12.3  触摸屏驱动      12.3.1  触摸屏裸机驱动      12.3.2  Linux输入子系统      12.3.3  Linux下触摸屏驱动的实现步骤      12.3.4  测试触摸屏驱动程序    12.4  USB驱动初步      12.4.1  Linux下4种USB驱动简介与功能体验      12.4.2  USB接口与规范      12.4.3  USB设备驱动基本知识      12.4.4  USB设备驱动实例参考文献

编辑推荐

《深入浅出:嵌入式底层软件开发》包含ARM裸机程序开发、嵌入式Linux系统建构、Linux驱动程序开发三部分。《深入浅出:嵌入式底层软件开发》从软硬件的分界面开始,循序渐进,逐一详细讲解嵌入式底层软件开发的各个技术要点,技术体系全面;既有一定的理论,但更加强调实战性;深入浅出,能让读者以最少的时间成本代价获得嵌入式底层软件开发的技术精髓。如果您是一位硬件工程师,想在最短的时间内学习软件控制硬件的原理,并编写软件来直接控制硬件,那么本书是为您准备的,请阅读本书的第一篇。如果您是一位应用软件工程师,很好奇到底是谁帮助你的应用软件去操控底层的硬件完成各种各样有意思的工作,那么请阅读本书的第一篇和第三篇。如果您是一位嵌入式软件的从业人员,那么相信通过阅读本书,您能以最少的时间成本,了解到嵌入式底层软件开发的技术精髓,回答你为了赶项目工期而不得不囫囵吞枣的技术问题。如果您是一位教授嵌入式软件开发课程的老师,相信本书能有助于您更加深入浅出地讲好您的课程,因为本书的所有内容和实验都经过了数百名学员的亲手操作和认可。如果您是一位即将走出校门,意欲从事嵌入式软件开发工作的大学生,当本书能助您一臂之力,快速掌握实际开发工作中所需的实战技能,使您顺利适应新的工作岗位的话,我将感到无比的自豪。如果您是一位在校学生并和学生时代的我有相同冲动的话,那么请通读本书吧!

前言

创作动机 还在学生时代,就曾听一位老师感叹:学硬件的人搞不懂软件,学软件的人搞不懂硬件。似乎计算机软硬件之间有一道难以逾越的鸿沟。因此学习computer software专业的我当时就曾有一种冲动,要在裸机设备上,做一些有意思的编程,从而让自己能够从整体上,自下而上地了解、进而贯通计算机的软硬件体系知识。然而上世纪90年代初期国内硬件的缺乏,软件技术资料的匮乏,让这样的想法举步维艰,几经尝试后,终至放弃。随着微软VB、VC可视化IDE开发在国内的兴起,JAVA开发的兴盛,国内的计算机软件教育越来越倾向于快速拖拽控件的应用程序开发,这使得上下贯通的梦想愈来愈遥不可及。正当梦想远去之时,国内嵌入式产业开始兴起,由于嵌入式本身的特性,使得必然要同时横跨软件和硬件,更为重要的是,ARM CPU以它的开放性和易学性一统嵌入式硬件的江湖,国内基于ARM CPU的优秀嵌入式硬件设备层出不穷,而互联网在国内的普及更是使得各种嵌入式技术资料的获得和技术知识的交流变得非常的容易,于是终于再次有机会了却学生时代的梦想。埋头钻研多年后,方有所心得,在其间更为Linux的人人为我,我为人人的理念所打动,故而萌发了要把自己的心得落于纸上,以降低嵌入式软件开发的学习门槛、平滑其陡峭的学习曲线,让更多的人受惠。然及至动笔,方才发现自己会和让别人会完全是两码事情,要想做到深入浅出,让读者以最少的时间成本代价获得嵌入式底层软件开发的技术精髓,何其难哉!本书的创作算是一种尽力的尝试吧。本书内容及组织方式第1篇(第1章——第3章)以ARM CPU及其汇编语言为背景,深入浅出地讲解软件是如何控制硬件的。第1章学习ARM的汇编指令、伪操作和开发环境,使读者能在短时间内掌握和使用ARM汇编语言进行编程第2章精解ARM汇编伪指令、C与汇编的混合编程。在此基础上,以S3C2440为实例,使读者能在短时间内掌握,通过阅读硬件手册去编程控制典型的硬件——LED灯、Watchdog、系统时钟、UART串口。并为学习后续章节打下基础。第3章以S3C2440为背景,揭秘ARM CPU硬件中断处理过程和软件中断处理流程的各个细节,并讲解进程切换的技术细节和通过MMU实现内存保护的细节。在此基础上,实现了一个可以在真实硬件上运行的小型多任务操作系统——miniOS。通过本章的学习,你将有机会,以最少的时间代价,亲手在真实硬件上了解操作系统中横跨软硬件的两大子系统(进程调度、内存管理)与硬件相关的底层实现原理和细节第2篇(第4章——第7章)以S3C2440开发板为硬件,讲解制作嵌入式Linux系统的完整过程,具有很强的实用性和可操作性第4章介绍开发环境的搭建和使用第5章深入剖析u-boot,并在此基础上完成对u-boot的移植和扩充第6章站在制作产品和实际使用的角度,讲解如何移植、裁剪、配置、编译Linux内核第7章详细介绍制作嵌入式Linux根文件系统的步骤和技巧,并讲解了主要应用程序系统和GUI系统的建构第3篇(第8章——第11章)以尽可能通俗的方式讲解Linux设备驱动中涉及的复杂理论,在此基础上,以驱动程序的2个接口(向下与硬件接口、向上与内核子系统接口)为突破口,由浅入深地编写和剖析了嵌入式真实典型硬件(LED灯、按键、网卡、LCD、触摸屏)的驱动程序。所有的驱动程序均能在实际硬件上正常运行,帮助读者揭开Linux驱动的神秘面纱第8章讲解字符设备驱动基本知识,包括:编写驱动模块的基础知识、并发控制方法、阻塞与非阻塞编程第9章以简单硬件——LED灯和Watchdog为切入点,以实战的方式详细讲述了字符设备的驱动开发,并在此基础上详细分析了内核的misc设备子系统第10章以典型硬件——按键为切入点,详细介绍了Linux驱动中的中断编程和内核定时器编程,并在此基础上,以实例的方式详细剖析了中断底半部2种机制(tasklet和workqueue)的区别和不同应用环境第11章详细讲解了网卡驱动的编写。以虚拟网卡snull为例详解网卡驱动向上的接口实现,以真实网卡cs8900为例详解网卡驱动向下的接口实现第12章以实战的方式,深入浅出地剖析了嵌入式Linux系统中最重要的2类驱动(LCD和触摸屏)的代码实现。并简介了块设备驱动和usb设备驱动。感谢本书由杨铸负责编写并统编全部书稿,安博教育的唐攀作为本书的第二作者编写了本书部分章节,并为本书制作了大部分的插图,对他踏实刻苦的钻研精神和认真负责的敬业精神,在此表示深深的谢意。感谢我的父母,是你们从小对我朴实无华的谆谆教导,在我心灵的深处种下了要勤奋学习、要努力工作、要懂得感恩的火种,你们给了我强大的精神鼓励和支持,使得本书得以顺利完成。感谢来自宝岛台湾的中原大学生物医学工程系蔡育秀教授和全美教育的田本和先生,在我学习和研究的过程中,给予了很大帮助。感谢北京航空航天大学出版社胡晓柏主任对本书的支持和关怀,正是他耐心的鼓励和支持,才使得本书在最短的时间内与读者见面。感谢安博中程的孙夏玉、李奎、成宝宗、柳斌、刘鹏、张云和、关东升、关杰、葛红艳、肖瑶,重庆东方的马伯骊、马林,达内教育的马锋,北京软件出口中心发展有限公司的王柱经理、刘志强先生,威盛(中国)的修宸,神州数码的杨建光,对本书的写作和出版提供的帮助。感谢中科红旗软件技术有限公司姚文凯,神州数码科技有限公司韩林利对本书提出的宝贵意见,为读者提供了更前沿,更注重实践的案例。感谢广州友善之臂科技有限公司,他们出品的开发板和相关资料质量很高,使得本书的写作有了个很好的硬件平台,事半功倍。限于笔者水平有限,书中难免有遗漏和不足之处,恳请广大读者批评指正,联系方式是E-mail:scyz@263.net。并开通了QQ技术讨论群:47753328。作者 2011年 于北京维亚大厦成都少城公园重庆西永软件园洛阳师范学院山西大学商务学院

内容概要

杨铸  教育背景:电子科技大学通信与信息工程工学硕士;北京邮电大学工学学士学位,专业为计算机软件。重大经历:作为主要组织人员,组织完成了中国移动四川分公司最早的短信系统平台的建设;早期专注于Microsoft的OS和Database的技术研究与职业培训,是微软在中国的早期MCT之一,MCP号1694198;参与完成国家863计划项目——信息安全产品演示和验证平台的子课题并与合作公司完成产品化开发—内部网络监管系统;中后期专注于嵌入式软件开发的研究与职业培训,精于ARM体系结构与嵌入式Linux。

图书封面


 深入浅出嵌入式底层软件开发下载



发布书评

 
 


精彩短评 (总计22条)

  •     RT: 需要结合其他书籍看,在前面部分结合韦东山的那本看,还不错的,但是后面部分的驱动要结合LDD看. 前面的写那个RTOS部分如果看过μCOSII的话会感觉非常容易的,当然也不会有太多收获. 驱动部分写得不怎么好. 书本结合的是Mini2440当然我用到是TQ2440,也讲到了.里面的DVD资料里面有些东西需要结合对应的Linux内核版本才可以使用. 书本后面部分不是很好.前面不错.尽管个人认为如此,还是值得一看. 还有就是书本有不少的录入错误.不过不影响阅读. 1--- 希望作者在下一版本的时候可以使用Ubuntu的后续或者LTS版本,因为9.10现在已经Not Support any more. 2--- 还有就是截图等编辑还是需要更用心和认真.许多的空格等不方便阅读. 例如 Page398的第10行里面的-- 中间看起来很像是有空格.虽然这些对于一般人没有问题.但是对于初学者不好. 3--- 书本应该自成体系,形成一个系统.这本书在后续部分跨度过大,此部分对于那些Linux驱动初学者不适合.
  •     这个书硬件讲得比较细致,后面软件部分我学起来有点乱,是软件知识太多,我不太扎实,书里也没有一一详细介绍,都是以实例来讲解分析的。适合动手跟着做。
  •     这本书不错,推荐看看
  •     内容太杂,ARM部份的太少。 如果全本书都是介绍ARM的就好了。
  •     光盘不好使 内容是抄的
  •     本书前几章是《ARM体系架构》一书的内容,后面介绍linux系统安装,网上基本非常容易查找,再后面介绍linux驱动编写,内容类似与老外那本著名的Linux驱动图书。最关键的是居然按照ARMv6的架构写,三星的2440芯片为基础。此书用来忽悠那些参加各种linux嵌入式培训机构比较好。总体上,此书比较垃圾,买书请慎重!!!
  •     垃圾中的战斗机,写的神马狗屁,东拼西凑,真不知道好评的是不是些托
  •     这本书是学长推荐的!真心不错!我那个班有几个同学都买了这本书!
  •     感觉这本书好像没有严格校正似的,错误的地方很多,特别是Linux驱动程序开发那一块,虽说对于有基础的人来说那些错误很明显,但是对于初学者来说就不好纠正了,还有就是感觉驱动那一块的知识点讲的并不深入,一些API直接贴了上去,并没有细致的说明,纯属于对LDD3的概括。并且知识点讲得没有条理性,给人一种很茫然的感觉... 阅读更多
  •     扫描了二维码,应该是正版的吧,封面有磨损
  •     书很好,讲的深入浅出,有层次
  •     果然深入浅出!!
  •     很经典的教程,值得买啊,书是正版的,比较便宜。
  •     评心而论,还不错,前面先讲解ARM体系结构,然后是常用的裸板驱动,系统构建与驱动移植,适合有一定的基础的朋友阅读。
  •     不错的书,还有光盘,比dd好多了
  •     很好!!我很喜欢,推荐!
  •     物流给力,第二天送到。书已经在使用了,平时参考很有用。
  •     正在用mini2440开发板学习LINUX,在书城看了这本书很久,觉得很不错就买了,不过拿到书后感觉没有书城的书质量好,明显感觉纸张较薄,并且有些页字印刷的不是很清晰,不过最重要的是内容很丰富.
  •     前面硬件部分讲的不错,很清晰。后面linux实在一般,就没看后面了。
  •     包含了基于ARM的嵌入式Linux底层开发的3个主要组成部分,视角独特、内容原创、结构安排合理。非常适合ARM的入门学习者以及有一定底层开发经验的软件工程师ARM理论部分的内容,结合光盘中的示例代码,如果完全掌握了的话,应当说对ARM中的精华内容已经可以入门了;之后学习ARM部分控制硬件的内容,它是ARM的实战部分,既可以深化对ARM基本知识的理解,亦可为实际工作打好基础;然后学习miniOS部分,它将揭示操作系统的底层奥妙,实在是引人入胜(如果你对OS不感兴趣,可以略过);最后不妨逐行分析一下u-boot第一阶段的ARM汇编代码(在书的第2部分有详细介绍),这实在是不可多得的ARM综合应用案例。嵌入式Linux系统构建部分略显单薄,但对u-boot代码的分析也非常精彩。此部分建议参阅 构建嵌入式linux核心软件系统实战。Linux驱动部分,基础部分基于著名的LDD3,但却以尽可能通俗的方式讲解了Linux设备驱动中涉及的复杂理论。在此基础上,以驱动程序的2个接口(向下与硬件接口、向上与内核子系统接口)为突破口,由浅入深地编写和剖析了嵌入式真实典型硬件(LED灯、按键、网卡、LCD、触摸屏)的驱动程序。所有的驱动程序均能在实际硬件上正常运行,帮助读者揭开Linux驱动的神秘面纱。这部分最精彩的内容当属对中断的讲解,言简意赅而深入浅出。
  •     该书对初学嵌入式学习者是个很好的帮助工具书,值得参考和学习。但是对贵商城提个宝贵的意见,送货的速度有待提高,服务态度一般。
  •     内容不错,非常喜欢,价格也实惠。
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024