- 1、本文档共166页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
04linux系统驱动编程课件
Linux系统驱动编程 第五节 内存与I/O操作 4课时 四、硬件驱动原理 步骤二: 查看《TQ2440_V2核心板原理图.pdf》 该文档大多由开发板厂家提供,或由公司电路板设计人员提供。 在这个原理图中,查找nLED1连线位置。发现nLED1被连接在CPU的GPB5管脚,当把GPB5管脚处设置低电平,则LED1灯就会亮起,设为高电平,LED1灯就会灭掉。 如何控制GPB5管脚? 接下来我们要查看芯片厂商提供的芯片说明书。 Linux系统驱动编程 第五节 内存与I/O操作 4课时 四、硬件驱动原理 步骤三: S3C2440是三星厂家生产的芯片,所以,找到该厂家的芯片说明书《S3C2440.pdf》 查找GPB5所在的寄存器,发现在GPB寄存器中。 现在,我们来研究一下如何控制GPB寄存器。先看一下表格中的英文说明: GPBCON 内存物理地址 0是控制寄存器 开机后的初始值为0x0 GPBDAT 内存物理地址 0是数据寄存器 开机后的初始值没有定义 GPBUP 内存物理地址 0是数据寄存器 开机后的初始值为0x0 Linux系统驱动编程 第五节 内存与I/O操作 4课时 四、硬件驱动原理 Linux系统驱动编程 第五节 内存与I/O操作 4课时 四、硬件驱动原理 1) 先看GPBCON寄存器的说明,找到GPB5位置 GPB5在寄存器GPBCON的[11:10]位上,这两个位设置用二进制表示如下: 00:代有输入 当这两个位被设置为00时,就代表GPBDAT寄存器用于显示GPB状态 01:代表输出 当这两个位被设置为01时,就代表GPBDAT寄存器用于设置GPB值 10:代表nXBACK 当这两个位被设置为10时,代表GPB用于实现nXBACK功能 11:保留,这两个位设置为11时,没有任何意义。 Linux系统驱动编程 第五节 内存与I/O操作 4课时 四、硬件驱动原理 2) 再看GPBDAT寄存器说明 该寄存器共使用了11个位,即0到10位为有效数字。 其中每一个位对应一个GPB管脚,即第0位对应GPBCON寄存器的[1:0]位,是GPB0管脚的数据;第5位对应GPBCON寄存器的[11:10]位,是GPB5的管脚。 例如:GPBDAT的第5位,如果设为0,代表GPB5为低电平,设为1代表GPB5为高电平。 说明:在计算机器机中,二进制位就是电荷,有电荷就是1,没电荷就是0。 Linux系统驱动编程 第五节 内存与I/O操作 4课时 四、硬件驱动原理 3) 再看GPBUP寄存器说明 该寄存器共使用了11个位,即0到10位为有效数字。 其中每一个位对应一个GPB管脚,即第0位对应GPBCON寄存器的[1:0]位,对应关系同GPBDAT寄存器。 每一个位设置为0,代表使能对应引脚;设置为1,代表禁止对应引脚。 上电后这个寄存器初始状态为0x0,即每个管脚都默认为可用。所以我们可以不用设置该寄存器。 Linux系统驱动编程 第五节 内存与I/O操作 4课时 四、硬件驱动原理 总结: 1). 如果想控制LED灯,需要控制GPB寄存器。 2). 如果需要控制GPB寄存器,需要找到GPB寄存器内存的物理地址 GPBCON 0 GPBDAT 0x560000014 这个内存地址就是物理地址,对寄存器的控制就是把这个寄存器当做内存进行读写 3). 如果控制第1个LED灯开,需要在GPBCON[11:10]位设置为01, GPBDAT[5]设置为0 其它LED灯同此。 Linux系统驱动编程 第五节 内存与I/O操作 4课时 五、实现ARM板LED灯驱动 示例:实现ARM板LED灯驱动 1). 定义scull_dev结构 2). 编写驱动程序框架 3). 实现LED灯操作函数 4). 完善数据的初始化设置及释放 5). 完成read和write函数 6). 完成ioctl函数功能 7). 编写测试程序 8). 测试程序及驱动程序移植 作业:1.熟练查阅芯片资料 2.默写ARM板LED灯驱动 Linux系统驱动编程 驱动编程 第八天 第六节、内核定时器与中断处理 内核时间及延时 定核定时器
您可能关注的文档
最近下载
- 2025年江苏安全技术职业学院单招职业倾向性考试题库必考题.docx VIP
- 湖北省武汉市江岸区七一华源中学2021-2022学年七年级(下)月考数学试卷(3月份).docx VIP
- 七年级英语课件的制作教案.docx
- DL_T 1685-2017油浸式变压器(电抗器)状态评价导则.pdf
- 电工与电子技术基础课件(全套).pptx
- 激光焊作业安全操作(安全操作规程、风险告知、应急处置).pdf
- 毕业设计(论文)-纸张耐折度测定仪设计.docx
- 2025年计算机等级考试二级MS Office高级应用与设计试题及答案指导.docx VIP
- 画人像(课件)人美版美术五年级上册.pptx
- CINV恶心呕吐的护理.pptx VIP
文档评论(0)