何为driver

原创 2013年12月05日 16:10:40

一、硬件角度看register及其地址:

a)       硬件角度并没有地址的概念,而是把地址线过来的电平看作信号来驱动,同时数据线过来的数据改变外设register的值,而这个所谓的值也只是coder的理解,ICer可能会做成register,也可能是锁存器等等。贴一个煊图,大概就是这样吧。


b)       为什么把相同功能的做成组,例如GPIO的register的地址分为ABCD组,各组连续。为了软件上操作的方便。


二、其实driver就是设置寄存器。既然通过二中的方法可以(软件意义上)设置寄存器了,那么我们coder就开始工作!!!

a)       以ARM7的GPIO_Write(GPIOB, 0x00ff); //写数据到PB 为例

b)       首先分析GPIOB:

                        i.             #define GPIOB               ((GPIO_TypeDef *) GPIOB_BASE)

                      ii.             简单解释上面的define就是把GPIOB_BASE开始的一段内存解释为GPIO_TypeDef

c)       然后分析GPIO_Write

                        i.             void GPIO_Write(GPIO_TypeDef* GPIOx, u16 PortVal)

{

  /* Check the parameters */

 assert_param(IS_GPIO_ALL_PERIPH(GPIOx));

 

  GPIOx->ODR = PortVal;

}

                      ii.             先保证无空指针,然后存取相应的寄存器。这就用到了二的解释了。

 

 

三、然后就没了,就这么简单,本文主讲driver与chip硬件的关系。以下问题后续文章:

a)       如何更好的封装driver,包括地址重定向、driver分层保证移植性等。

b)       Driver如何注入os。

c)       Os启动过程如何通过driver初始化硬件。

d)       Uboot如何工作。

e)       如何编译链接生成特定内存要求的uboot。

创建JDBC驱动程序Driver的路径变量

7.13.3 创建JDBC驱动程序Driver的路径变量作者: 梁爱虎 出处:电子工业出版社  ( 0 ) 砖  ( 0 ) 好  评论 ( 0 ) 条  进入论坛 更新时间:2007-04-26 1...
  • elvis456
  • elvis456
  • 2008年04月09日 13:31
  • 893

为何为何为何为何为

http://www.saige.com/shop/auction-22465.htm http://www.saige.com/shop/auction-22497.htm http://www...
  • zarxbswx
  • zarxbswx
  • 2014年08月15日 10:36
  • 1

何为输入,何为输出?

学JAVA I/O快2个星期了,今天终于搞懂啦 InputStream和 OutputStream以前认为 “文件”是核心,InputStream是输入数据到文件,但为什么Reader(读)也是输入数...
  • yjq8116
  • yjq8116
  • 2004年12月15日 22:42
  • 1759

何为debug 何为 release

以下图片为windows内核编程书本的内容
  • bojie5744
  • bojie5744
  • 2014年07月16日 22:03
  • 341

何为堆?何为栈?

堆栈 在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。 要点: 堆:顺序随意 栈:先进后出 堆和栈的区别 一、预备知识—程序的内存分配 一个由c...
  • linxiaojia
  • linxiaojia
  • 2014年11月01日 18:19
  • 299

何为声明 何为定义

c++primer上写 C++程序由多个文件组成,为了让多个文件访问相同的变量,C++区分了声明和定义。 定义写在CPP中,需要被其它文件使用的变量用extern声明在.h文件中。 三种情况例外...
  • luanwujian
  • luanwujian
  • 2013年06月11日 13:04
  • 575

何为天,何为地,何为道

自从人类有了思维,自从开始懂事,都会有一个疑问,我从何而来,去往何处,为何天地之间有我,亦或者为何我的生命之中会有天地 何为天,何为地,我生于天地,亦或者天地因我而生 古人说:天行有常,不以尧存,...
  • life_1st
  • life_1st
  • 2014年10月26日 01:13
  • 420

小花 - 何为BFC? 何为this?

版权声明:http://blog.csdn.net/mx18519142864/article/details/79217278何为this?想知道BFC我觉得先了解context比较好,一说到thi...
  • mx18519142864
  • mx18519142864
  • 2018年01月31日 15:27
  • 14

人生何为苦何为乐何为幸福

没有人无端地寻求艰苦,也没有人真正地厌恶欢乐,生命中最好的景致有时并不是用浓墨重彩描绘而成的,它也许只是一个淡淡的足迹,但它深藏在心灵最柔软的地方,裹在层层的重负之下 。  苦与乐,是一对冤家,...
  • xiaoyecanfeng
  • xiaoyecanfeng
  • 2011年09月25日 09:38
  • 552

何为WebService?

1,Web Service是什么 2,Web Service可以做什么 3,Web Service 什么时候用 4,Web Service如何构建和应用 1 Web service是什么 W...
  • zhuyu_
  • zhuyu_
  • 2017年03月28日 19:08
  • 155
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:何为driver
举报原因:
原因补充:

(最多只允许输入30个字)