首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

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

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