打印

一起学习:CPU内置芯片与外部设备有什么不同?

[复制链接]
883|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangfeng33|  楼主 | 2013-10-20 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
驱动程序在控制CPU内置芯片与外部设备时有什么不同呢?我觉得主要有两个最主要的不同:
1:CPU内部的设备效能通常比较好,而且绝对不会有硬件线路设计的错误问题,所以软件工程师直接写驱动程序即可。至于外部设备则可能发生大大小小的设计疏失、驱动程序编写往往还肩负帮忙硬件除错的任务。
2:CPU内部的设备是用缓存器(memory mapping register)控制,而外部装置则只能CPU的PIN引脚与其相连接,所以必须通过控制这些PIN引脚来控制外部装置。
    我再仔细想了一下,虽然外部装置是通过CPU的PIN引脚来控制,但程序要设定CPU PIN引脚的状态,从CPU  PIN引脚产生中断等还是得通过CPU缓存器。我们写的程序是让CPU执行的,所有的控制命令都是以CPU为起点,所有外部的状况也都是集中到CPU。CPU像是大脑,它的PIN引脚就像是神经线,连接到各个受控制的器官。所以驱动程序要做的事情就是通过CPU规定的方法来控制各个PIN引脚,所谓CPU规定的方法通常就是操作缓存器,至于要用到哪种类型的PIN引脚(如GPIO A/D port等)与外部设备连接,要用到什么方式控制(从最简单的设定PIN引脚的high/low状态 、使用中断、或者以较复杂的通信协议,)则每一个装置都不一样,好好详读该装置的date sheet与sample code是必要的。

相关帖子

沙发
zhangmangui| | 2013-10-20 21:07 | 只看该作者
总结的很好  谢谢分享

使用特权

评论回复
板凳
u880| | 2013-10-20 21:11 | 只看该作者
原来是这样啊

使用特权

评论回复
地板
拿起书本| | 2013-11-8 10:57 | 只看该作者
驱动程序驱动内部硬件,用起来简单,不用考虑时序。学习了,顶

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

506

主题

2446

帖子

8

粉丝