深入浅出嵌入式底层软件开发(附光盘)/博客藏经阁丛书 杨铸//唐攀 正版书籍 计算机. 浙江
网站颜色:

深入浅出嵌入式底层软件开发(附光盘)/博客藏经阁丛书 杨铸//唐攀 正版书籍 计算机.

  • 产品名称:深入浅出嵌入式底层软件开...
  • 书名:深入浅出嵌入式底层软件开发(附光盘)/博客藏经阁丛书
  • 定价:79.00元
  • 出版社名称:北京航空航天大学出版社
  • 出版时间:2011年05月
  • 作者:杨铸//唐攀
  • 开本:16
  • 书名:深入浅出嵌入式底层软件开发(附光盘)/博客藏经阁丛书

基本信息
商品名称: 深入浅出嵌入式底层软件开发(附光盘)/博客藏经阁丛书
作者: 杨铸//唐攀 开本: 16开
原价: 79
页数: 654
现价: 见顶部 出版时间 (咨询特价)-01
ISBN号: 26 印刷时间: (咨询特价)-01
出版社: 北京航空航天大学 版次: 1
商品类型: 图书 印次: 1
内容提要
由杨铸和唐攀编著的《深入浅出嵌入式底层软件开发》包含ARM裸机程序开发、嵌入式Linux系统建构、Linux驱动程序开发三部分。从软硬件的分界面开始,循序渐进,逐一详细介绍嵌入式底层软件开发的各个技术要点,技术体系全面;既有一定的理论,但更加强调实战性;深入浅出,能让读者以最少的时间成本代价获得嵌入式底层软件开发的技术精髓。《深入浅出嵌入式底层软件开发》适合硬件工程师、软件工程师、嵌入式软件的从业人员、教授嵌入式软件开发课程的老师、意欲从事嵌入式软件开发工作的大学生阅读。
作者简介
杨铸教育背景:电子科技大学通信与信息工程工学硕士;北京邮电大学工学学士学位,专业为计算机软件。重大经历:作为主要组织人员,组织完成了中国移动四川分公司最早的短信系统平台的建设;早期专注于Microsoft的OS和Database的技术研究与职业培训,是微软在中国的早期MCT之一,MCP号1694198;参与完成国家863计划项目——信息安全产品演示和验证平台的子课题并与合作公司完成产品化开发—内部网络监管系统;中后期专注于嵌入式软件开发的研究与职业培训,精于ARM体系结构与嵌入式Linux。
目录
第1篇ARM体系结构与编程第1章ARM汇编编程基础1.1ARM CPU寄存器1.1.1普通寄存器R0~Rl51.1.2状态寄存器CPSR与SPSR1.1.3流水线对PC的值的影响1.2基本寻址方式与基本指令1.2.1最常见寻址方式精解1.2.2最常见指令精解1.3ARM汇编伪操作1.3.1汇编伪操作在汇编程序中的使用范例1.3.2最常见汇编伪操作精解1.3.3汇编伪操作列表1.4ADS开发环境的使用1.4.1在ADS中进行裸机程序的编辑、编译、运行1.4.2在AXD中进行裸机程序调试的方法与步骤1.5RealViewMDK开发环境的使用1.5.1在MDK开发环境下编写裸机程序1.5.2MDK调试裸机程序的方法与步骤1.6其他常见寻址模式与常见指令1.6.1其他常见寻址模式1.6.2其他常见指令第2章ARM编程进阶2.1ARM汇编伪指令2.1.1精解ldr伪指令2.1.2精解adr2.1.3精解adrl伪指令2.1.4nop伪指令2.2ATPCS与混合编程2.2.1ATPCS规则精解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.6SDRAM内存2.6.13C2440存储器地址段(Bank)2.6.2SDRAM内存工作原理2.6.3SDRAM的读操作2.6.4SDRAM预充电操作2.6.5SDRAM突发操作2.6.6SDRAM写操作2.6.7SDRAM的刷新2.6.8内存驱动实验2.7UART串口2.7.1同步通信和异步通信2.7.2数据的串行和并行通信方式2.7.3数据通信传输模式2.7.4S3C2440UART、控制器2.7.5S3C2440UART串口工作原理2.7.6UART、串口驱动实验第3章ARM体系结构3.1ARM处理器工作模式3.1.1ARM处理器不同模式下的寄存器3.1.2ARM处理器模式切换(含MRS、MSR指令)3.2ARM处理器异常处理3.2.1异常分类3.2.2异常发生时的硬件操作3.2.3异常返回地址3.2.4异常向量表3.2.5异常处理的返回3.3S3C24.40系统中断3.3.1中断的产生-中断源3.3.2中断优先级3.3.3中断控制器相关寄存器3.3.4系统中断流程3.3.5按键控制LED灯实验3.4semihosting与硬件重定向3.4.1semihosting半主机调试3.4.2硬件重定向3.5系统调用与软件中断SWI的实现3.5.1系统调用3.5.2软件中断3.5.3软件中断处理3.5.4LED系统调用实验3.6进程切换的实现3.6.1进程3.6.2进程控制块PCB3.6.3进程创建3.6.4进程队列3.6.5进程调度3.6.6上下文切换3.7MMU与内存保护的实现3.7.1存储管理单MMU3.7.2cache3.7.3CPl5协处理器3.8实蘸小型多任务操作系统miniOS的实现3.8.1miniOS代码分析3.8.2miniOS应用程序接口3.8.3miniOS应用程序系统调用接口第2篇嵌入式Linux系统建构第4章嵌入式Linux软件开发环境搭建4.1体验嵌入式LinuX系统4.2Linux操作系统安装4.2.1在Windows上安装虚拟机4.2.2在虚拟机上安装Linux操作系统ubuntu9.104.3在ubuntu9.10中安装基本的开发环境4.4ubuntu9.10上网络服务的安装与配置4.4.1设置vmware网络4.4.2安装、配置和使用FTP服务4.4.3安装、配置NFS服务第5章建构BootLoader5.1准备工作5.1.1嵌入式Linux系统概述5.1.2构建交叉编译工具链5.1.3BootLoader概述5.2深入剖析u-boot代码5.2.1安装和使用源代码阅读工具SourceIight5.2.2u-boot的编译初步5.2.3分析u-boot的第一阶段代码(cpu/arm920t/start.S)5.2.4分析u-boot的第二阶段代码5.2.5继续移植、编译u-boot..5.2.6u-boot常用命令使用简介5.2.7u-boot命令实现框架的分析5.2.8u-boot引导Linux操作系统的过程分析5.2.9让u-boot支持从USBslave接口获得数据第6章建构嵌入式Linux内核6.1Linux内核简介6.1.1Linux内核版本历史6.1.2内核源码目录结构6.1.3Linux内核构造系统简介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.2Kconfig文件精解6.3.3.config文件说明6.3.4Makefile文件精解6.3.5实蘸修改Kconfig和Makefile,完成向内核中添加新的功能组件——网卡、声卡、LCD、触摸屏驱动第7章建构嵌入式Linux文件系统3757.1嵌入式Linux文件系统简介7.1.1嵌入式文件系统概述7.1.2MrI、D设备与Flash文件系统简介7.1.3嵌入式Linux系统中的tmpfs文件系统7.2详解制作根文件系统7.2.1FHS标准介绍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.2MP3播放器madplay的移植7.3.3主要网络服务器的移植与使用7.3.4数据库程序的移植与使用7.4建构GUI系统7.4.1移植tslib库7.4.2移植qtopia第3篇Linux驱动程序开发第8章Linux驱动程序开发基础8.1Linux设备驱动程序简介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.4Linux内核提供的其他并发控制方法8.4驱动程序中的阻塞与非阻塞编程8.4.1体验阻塞I/O8.4.2如何在驱动程序中实现阻塞I/O8.4.3体验非阻塞I/O8.4.4如何在驱动程序中实现非阻塞I/O8.5字符设备驱动程序对一些高级特性的实现8.5.1non-seekable的实现8.5.2select的实现第9章Linux字符设备驱动开发实战9.1I/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.3Watchdog驱动9.3.1相关概念9.3.2watchdog硬件结构分析9.3.3Watchdog驱动的初始化和卸载9.3.4探测函数watchdog_probe的实现9.3.5实现misc设备中对设备文件的操作9.3.6Watehdog平台驱动的设备移除、挂起和恢复接口函数的实现9.3.7测试Watchdog驱动9.4内核编码规范与风格9.4.1缩进、长行、{}与空格的使用规范9.4.2变量和函数9.4.3注释、macros和enums9.4.4快乐使用内核提供的实现常用功能的宏第10章Linux驱动中的中断编程10.1驱动程序调测方法与技巧10.1.1利用printk10.1.2详解OOP消息10.1.3利用strace10.1.4利用内核内置的hacking选项10.1.5其他调测方法简介10.2驱动程序中的中断处理10.2.1中断简述10.2.2驱动程序中进行中断处理涉及的最基本的内核API10.2.3驱动程序进行中断处理的实例代码分析10.2.4其他关于中断的内核APIj10.3内核时间与内核定时器10.3.1内核中如何记录时间10.3.2内核定时器API10.3.3内核定时器与内核时间的应用案例——按键消抖10.3.4如何在内核中实现延时10.4中断顶半部与底半部10.4.1区分和使用中断顶半部与底半部的原因10.4.2tasklet机制与编程实例10.4.3workqueue机制与编程实例10.4.4tasklet与workqueue的区别和不同应用环境总结10.5Linux中断处理系统的架构与共享中断10.5.1裸机程序中的中断编程与有操作系统下的中断编程的区别10.5.2Linux中断处理系统的架构10.5.3关于共享中断的说明10.5.4共享中断实例第11章Linux网络设备驱动开发实战54711.1网络设备驱动基础11.1.1体验网卡驱动11.1.2网卡驱动的基本知识——2个结构体和5-个函数11.1.3虚拟网卡snull驱动代码分析11.1.4网卡驱动的编写主要内容总结11.2网络设备驱动实例——cs890011.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块设备的其他操作接口fops12.2LCD驱动12.2.1LCD裸机驱动12.2.2帧缓冲设备驱动框架结构12.2.3LCD驱动实例代码12.2.4LCD驱动代码的主干结构的总结12.2.5测试LCD驱动程序12.3触摸屏驱动12.3.1触摸屏裸机驱动12.3.2Linux输入子系统12.3.3Linux下触摸屏驱动的实现步骤12.3.4测试触摸屏驱动程序12.4USB驱动初步12.4.1Linux下4种USB驱动简介与功能体验12.4.2USB接口与规范12.4.3USB设备驱动基本知识12.4.4USB设备驱动实例参考文献
精彩导读
暂无目录信息暂无内容介绍
热门设计服务