《嵌入式设备驱动开发精解》——导读

7aa6d56389139b1c1fafb20eda32ee6a4bda4761

前言

嵌入式设备驱动开发精解
本书的编写主要是针对从事嵌入式软件开发人员。本书的内容主要涵盖ARM CPU以及各种常用外部设备驱动开发的方方面面,包括各种硬件接口、硬件接口协议说明以及各种外设的使用及调试方法,特别是对于开发调试过程中可能遇到的各种问题以及如何解决这些问题进行了讨论,同时包括但不限于软件方面的调试方法与硬件方面的调试方法等。

从事嵌入式驱动开发的工作主要就是与各种外设、外设接口以及OS(操作系统)打交道,这是一个会涉及非常多的知识点的、系统级的软件开发与设计过程。

狭义上的嵌入式驱动开发的定义:基于某一确定架构和确定型号的CPU,为各种外设开发能够正确稳定运行的驱动程序,这是狭义上的一个定义,实际上作为一个驱动开发人员,不但要非常熟悉所使用的CPU,同时对操作系统也要非常熟悉,这里指的OS并不是某一个具体的OS,而是泛指各种OS,而我们要做的就是掌握OS本身的几大功能特性。而市面上现有的OS也都是遵循这几大功能特性设计的,所不同的就是,这些特性的实现方式以及使用方法,所以不可拘泥于某一个OS。另外,还需要掌握常用的外设及这些外设常用的接口方式和这些接口的具体协议规范。对于硬件接口协议来说,大家看一遍书能大概知道是个什么意思,而要真正去调试一个设备时,那又完全是另外一回事了,就像我们学习完C语言,就像让你开发一个功能完备的软件一样,往往无从下手。

现在市面上的嵌入式开发的书主要都是讲ARM处理器的,很少涉及嵌入式开发中常用的外设器件,关于这些常用外设器件的使用及调试方法更是非常少。

目录

第1章 关于本教程
1.1 本书内容的组织
1.2 关于本教程涉及的实例
1.3 计算机配置需求

第2章 如何开始嵌入式开发
2.1 什么是嵌入式系统
2.2 充分利用现有的硬件资源
2.3 嵌入式开发入门第一步
2.4 建立一个具体的嵌入式开发的小项目

第3章 建立Windows下的交叉编译环境
第4章 开发环境的介绍与使用
第5章 认识ARM CPU的工作原理
第6章 从整体上认识ARM CPU
第7章 快速ARM汇编语言
第8章 ARM体系结构
第9章 认识信号和时序
第10章 认识并使用GPIO
第11章 认识中断
第12章 让你的LCD工作起来
第13章 NAND Flash驱动的开发
第14章 I2C接口设备驱动的开发
第15章 SPI接口驱动的开发
第16章 认识EBI接口
第17章 利用TRACE32进行调试
第18章 认识硬件原理图
第19章 后记

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# WPF通过WindowChrome自定义窗体

概述在WPF界面开发中,系统默认的窗口比较丑,有时候想自定义窗体,比如微信的客户端窗口这样:使得左边的一块顶到最上端,如下图所示:这时候我们可以 WindowStyle"None",AllowsTranspare…

【转载】递推公式的特征方程及通项公式

先贴上链接:http://blog.csdn.net/happykocola/article/details/73933314 因为最近在复习初赛,然后碰到了这道题,并不会做,才发现有这么高明的方法... 已知递推关系式: f(n)5f(n-1)-6f(n-2) (n>1) f(0)1 f(1)…

【leetcode】75. Sort Colors

题目如下: 解题思路:我的解题思路是遍历数组,遇到0删除该元素并插入到数组头部,遇到1则不处理,遇到2删除该元素并插入到数组尾部。 代码如下: class Solution(object):def sortColors(self, nums):"&q…

每日一言学做人,古之学问,博大精深

前言: 要成为一个有格局,有修养的人,吸纳一些有道理的思想和做法,去逐渐提高自己是非常有必要的,有一言,做事先做人,意即于此。因此,每日将自己看到的一段有感的话记录下来&#xf…

Seal-Report: 开放式数据库报表工具

Seal Report是.Net的一个基于Apache 2.0 开源工具,完全用C# 语言编写,最新的6.6 版本采用.NET 6,github: https://github.com/ariacom/Seal-Report。Seal Report提供了一个完整的框架,用于从任何数据库或任何非SQL源生成每日报告。…

《Ceph源码分析》——第2章,第2节Buffer

本节书摘来自华章出版社《Ceph源码分析》一书中的第2章,第2.2节Buffer,作者常涛,更多章节内容可以访问云栖社区“华章计算机”公众号查看 2.2 BufferBuffer就是一个命名空间,在这个命名空间下定义了Buffer相关的数据结构, 这些数…

eclipse在server中tomcat server找不到的问题

想要在eclipse的server新建tomcat服务器然而不知道怎么回事找不到Tomcat 7.0 Server 下面的红圈是tomcat server服务器(更新后才出现) 网上找的很久,只是找到在eclipse中安装tomcat插件的方法 Tomcat免安装版的环境变量配置以及Eclipse下的To…

Sysbench 1.0.15安装及使用

Sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试,数据库目前支持MySQL/Oracle/PostgreSQL。 一、安装: Github地址:https://github.com/akopytov/sysbench RHEL/CentOS: cur…

PHP根据指定url生成二维码图片

一、composer安装 http://packagist.p2hp.com/packages/codeitnowin/barcode 二、使用 调用generateQrCode()方法即可实现生成二维码图片并输出下载给用户 <?php namespace manage\Test;use CodeItNow\BarcodeBundle\Utils\QrCode; use common\extensions\Helper; use y…

CA 周记 - 派福利!通过 Azure 零成本进入 CUDA 编程

我们在配置深度学习环境的时候&#xff0c;除了安装各种库和框架外&#xff0c;如果需要 GPU 加速&#xff0c;还需要配置 CUDA 。那 CUDA 是什么 &#xff1f;它的作用是什么 &#xff1f;CUDA 编程介绍01什么是 CUDA&#xff1f;CUDA (Compute Unified Device Architecture) …

《视图更新与关系数据库理论》——2.1 关系和关系变量

本节书摘来自异步社区出版社《视图更新与关系数据库理论》一书中的第2章&#xff0c;第2.1节&#xff0c;作者&#xff1a;【美】C.J. Date&#xff08;达特&#xff09;&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.1 关系和关系变量 每一个关系都有一…

盗取手机敏感信息,Android 6.0之上兼容

盗取手机敏感信息&#xff0c;Android 6.0之上兼容 项目介绍 盗取信息包含&#xff1a; 手机中所有照片手机中所有视频手机中所有通讯录手机中所有短信手机中所有通话记录手机中所有安装应用兼容Android 6.0及之上版本动态权限申请工具开放效果展示 1.照片信息 MaterialBean{mL…

再记一次Memory Leak分析

性能是优化出来的&#xff0c;不管是在上生产前&#xff0c;还是在上生产后。大部分性能在性能测试阶段就能发现问题&#xff0c;但也有一些性能问题&#xff0c;结合生产的环境&#xff0c;生产数据才能表现出来&#xff0c;成为一个显著的瓶颈。这次是生成pdf造成的内存泄露&…

PHP格式化全国省市区列表

一、代码部分 /*** 获取全国省市区列表&#xff08;格式化后&#xff09;*/public function getRegionList(){$data CoreRegion::find()->select([national_code, region_name, parent_id, region_level])->asArray()->all();$data $this->assembleRegionData($…

《C语言开发从入门到精通》一2.4 技术解惑

本节书摘来自异步社区《C语言开发从入门到精通》一书中的第2章&#xff0c;第2.4节&#xff0c;作者王长青 , 韩海玲&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.4 技术解惑 2.4.1 安装Visual Studio的几个常见问题 Visual Studio 2010容量巨大&…

POM思想__首页页面元素查找、功能点实现进行封装

一、代码如下 package www.gui.huohu.pom;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.sele…

061_Apex 异常捕捉

Trigger 中的错误处理 在 Trigger 中&#xff0c;我们可以为进行操作的数据进行验证&#xff0c;类似于验证规则。如果遇到不符合条件的数据&#xff0c;可以通过 addError() 函数来将错误显示给用户&#xff0c;并记录日志。 在如下代码中&#xff0c;当一个“业务机会”对象被…

从 C# 崩溃异常 中研究 页堆 布局

一&#xff1a;背景 1.讲故事最近遇到一位朋友的程序崩溃&#xff0c;发现崩溃点在富编辑器 msftedit 上&#xff0c;这个不是重点&#xff0c;重点在于发现他已经开启了 页堆 &#xff0c;看样子是做了最后的挣扎。0:000> !analyze -v EXCEPTION_RECORD: (.exr -1) Except…

Win10笔记本不显示wifi列表

一、问题描述 1、连接有线网络时&#xff0c;只显示连接到的有线网络&#xff0c;而不显示wifi列表 2、不连接有线网络时&#xff0c;同样不显示wifi列表 二、解决方案 1、Win R 打开运行&#xff0c;并输入services.msc 2、回车确定&#xff0c;找到WLAN AutoConfig项&…

《游戏大师Chris Crawford谈互动叙事》一22.1 互动叙事前途无量

本节书摘来异步社区《游戏大师Chris Crawford谈互动叙事》一书中的第22章&#xff0c;第22.1节&#xff0c;作者&#xff1a; 【美】Chris Crawford译者&#xff1a; 方舟 责编&#xff1a; 陈冀康&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 22.1 互动…