找回密码
 注册
关于网站域名变更的通知
查看: 337|回复: 1
打印 上一主题 下一主题

嵌入式er告诉你啥是驱动?它的地位和意义

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-9-10 14:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
一、总体说明5 S8 R: P5 R. r6 g9 K
提到嵌入式的概念,一时间脑容量已经容纳不下,转到驱动的设计刚刚好,习惯将一件事分层次去做,驱动设计亦是如此,很多人做工程时因为项目的时间紧张,直接想到如何去实现,甚至直接跳到工具上去,学习编程语言。时常将做一个工程比作建一座大厦,有了图纸,有了地基才可以建造更漂亮更完美的建筑,如果开始就去关注一个锹,一个盖楼的机器,一砖一瓦的样子,可能建造出来的早已不是自己想要的样子。这里本人想就嵌入式驱动设计,以what、why和how搭建出,嵌入式驱动设计的简单蓝图,给出嵌入式驱动设计的“图纸”,“大厦”的 “一砖一瓦”留给每个想要建造这个“大厦”的人去设计。
8 Y2 ?2 p, P8 X; X+ P3 l
4 U- g2 U1 l7 |, ^9 C二、什么是驱动(what 驱动概念)?# ~9 e$ g7 d1 t4 v( x8 [. S2 O
一个没接触过嵌入式底层设计的人员可能会对驱动的概念比较模糊,它是什么?以什么形式存在?什么作用?个人的理解,驱动是一种软件,这个软件一方面可以直接与CPU、各种总线和外设进行交互,让这些板上的硬件组成单元活跃起来,另一方面,它还与操作系统和应用程序联系,将自己对外的接口嵌入到系统或者应用程序中,当业务需要某一个外设参与时,它就开始活跃了,听从上层的指令,并将旨意传达到硬件资源,让硬件工作。简而言之,所谓驱动,驱而动之,以“主”之意,驱使硬件“动”起来。
/ G- S4 ~( N$ L& `9 t' n/ @7 d. d, j; D3 U
三、为什么做驱动(why 驱动存在的意义、地位)?
8 @% _; z! ~3 W一般做工程时,应用程序关心的多数是协议和业务相关的调度,而不关心底层或者硬件的执行过程,也没有必要去关心硬件的执行过程,驱动作为一个库或者调度的接口即可,这时就需要驱动的存在,任何的业务都要有硬件的支撑,驱动的存在,可以将硬件的初始化,读写,配置等基本操作嵌入应用之中,于无声之中操作硬件的执行逻辑,使其工作起来。/ F! H9 R9 @3 `1 l! J4 I% G% \0 n
% f9 L0 ^  f3 Y( F: I5 ^" I

# ^0 ?. a; c5 x! w" ?" k* T2 D$ g
嵌入式驱动在其体系中所处的位置示意
! u) _8 [9 V; G$ `) [
+ Z# ]. q$ b) T2 u) X
四、怎么实现驱动设计(how 驱动设计的过程)?
" C6 L* H% Z1 w" x9 j3 _
. A$ ]  z* d. f7 K

9 W- F( M7 l/ o7 ?/ I) O  E  ]
: x# z' T# j! S. G0 x& u这是本人对于一个板卡的硬件资源抽象,驱动,驱而动之的外设,一般分为两类,一类藏于CPU之内,称为片上外设。另一类存在于板卡之上,CPU之外,叫接口芯片,或者板级外设(个人叫法)。如何实现驱动设计,最简单的是首先进入CPU内部,先搞定CPU的内核,指令集,幸好这一步有每个平台开发软件做了(编译器),然后搞定CPU组成架构,总线和片上外设都有什么,然后找到每个外设的基本协议,至少知道它是如何工作的,然后找到这个CPU的开发平台,找到它的开发语言,比如:C语言,找到官方提供的简单测试程序。学习并二次开发(当然可以完全自己来),搞定CPU之后,这个板子的心脏就跳起来了,下一步找到每一个板级外设的资料(datasheet),搞定其初始化,读写操作逻辑,利用掌握的语言和开发环境,利用固定的通信接口搞定板级外设。做到这一步之后驱动就基本搭建起来了,之后的事就是每个“屋子”的装修问题,问住这个屋子的人需要什么样的风格,按照其意愿,完成这个“大厦”每一个房间的装修,到此“大厦”竣工。
( R5 J6 \- f  ?: ]3 [& @6 L3 O" i: O  ]! w

该用户从未签到

2#
发表于 2018-9-10 17:32 | 只看该作者
谢谢分享,资料不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 17:47 , Processed in 0.218750 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表