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

2019-08-05 15:26发布

驱动程序在控制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是必要的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
zhangmangui
1楼-- · 2019-08-05 16:51
总结的很好  谢谢分享
u880
2楼-- · 2019-08-05 17:25
原来是这样啊
拿起书本
3楼-- · 2019-08-05 21:14
驱动程序驱动内部硬件,用起来简单,不用考虑时序。学习了,顶

一周热门 更多>