树莓派博通BCM2835芯片手册导读
驱动两大利器︰电路图(通过电路图找寄存器)和芯片手册。
寄存器
芯片手册第六章P89∶
字段名 | 描述 | 用法 |
---|---|---|
GPFSEL0 | GPIO Function select 0,功能选择输出/输入 |
以引脚9举例:000 = GPIO Pin 9 is an input 001 = GPIO Pin 9 is an output |
GPSET0 | GPIO Pin output Set 0,输出0 |
0 = No effect 1 = Set GPIO pin n |
GPSET1 | GPIO Pin output set 1,输出1 |
0 = No effect 1 = Set GPIO pin n |
GPCLR0 | GPIO Pin output clear 0,清0 |
0 = No effect 1 = Clear GPIO pin n |
文档中的功能说的非常清楚了,引脚输出是001,输入是000等等,我们的寄存器都是分组的,寄存器第0组是FESL0–9,寄存器第1组是FESL0–9…如图所示。
需要注意的是,我们寄存器对应的引脚是BCM,而不是wiringPi的引脚,如图所示。
更多的引脚详细介绍可以去树莓派官网查看
https://pinout.xyz/pinout/pin7_gpio4
我们在编写驱动程序的时候,IO空间的起始地址是0x3f000000,加上GPIO的偏移量0x2000000,所以GPIO的物理地址应该是从0x3f200000开始的,然后在这个基础上进行Linux系统的MMU内存虚拟化管理,映射到虚拟地址上。
特别注意,BCM2708 和BCM2709 IO起始地址不同,BCM2708是0x20000000,BCM2709是0x3f000000,这是造成大部分人驱动出现“段错误”的原因。树莓派3B的CPU为BCM2709。
通过对首图的尾部偏移,那么GPIO的物理地址0x3f200000的偏移也应如此。
GPFSEL0 0x3f200000
GPSET0 0x3f20001c
GPCLR0 0x3f200028
树莓派博通BCM2835芯片手册导读相关推荐
- 树莓派高阶课程7:树莓派博通BCM2835芯片手册导读
树莓派博通BCM2835芯片手册导读 驱动的两大利器: 电路图:通过电路图找到寄存器 芯片手册:进行编写 1.树莓派寄存器的介绍: GPFSEL0 GPIO Function Select 0: // ...
- 树莓派——8、树莓派博通BCM2835芯片手册导读
(122条消息) 树莓派高阶课程7:树莓派博通BCM2835芯片手册导读_哒宰的自我修养的博客-CSDN博客 博通BCM2835芯片手册导读 驱动的两大利器: 电路图:通过电路图找到寄存器 芯片手册: ...
- 树莓派博通BCM2835芯片手册导读及io口驱动代码的实现
树莓派博通BCM2835芯片手册导读及io口驱动代码的实现 树莓派寄存器的介绍 寄存器地址问题 驱动代码的实现 在linux中生成树莓派所需要的的程序及实现现象 一.树莓派寄存器的介绍 GPFSEL0 ...
- 11.树莓派博通BCM2835芯片手册导读与IO口驱动代码调试和测试
11.树莓派博通BCM2835芯片手册导读与IO口驱动代码调试和测试 硬件地址的相关概念 总线地址 32位的操作系统 ,cpu最多只能访问2^32bit,即只能访问4G的内存 64位的操作系统 ,cp ...
- 树莓派高级开发之树莓派博通BCM2835芯片手册导读与及“相关IO口驱动代码的编写”
首先我们要知道,驱动的两大利器:电路图(通过电路图去寻找寄存器)和芯片手册 一.寄存器的介绍 芯片手册第六章的89页,GPIO有41个寄存器,所有访问都是32位的.Description是寄存器的功能 ...
- 树莓派学习笔记(十五)博通BCM2835芯片手册导读
树莓派3b的CPU型号为:BCM2835(ARM-cotexA53架构) CPU型号为2440.2410(ARM9架构) 编写驱动需要电路图(作用通过电路图找到寄存器).芯片手册 树莓派官网:http ...
- 树莓派学习——博通BCM2835芯片手册导读、IO口驱动代码调试和测试学习
一.树莓派寄存器介绍: GPFSEL0 GPIO Function Select 0: 功能选择 输入/输出 GPSET0 GPIO Pin Output Set 0 : 输出0 GPSET1 GPI ...
- 基于博通bcm2835芯片手册进行简单的树莓派引脚驱动
目录 1.配置寄存器 2.设置寄存器的地址 3.编写驱动代码 4.编写应用层代码 5.编译 6.测试 1.配置寄存器 我们要进行树莓派引脚的驱动就要对树莓派的引脚进行一些配置,比如我想把树莓派的某个 ...
- 树莓派 博通BCM2835芯片手册
手册提取链接 链接:https://pan.baidu.com/s/1fdmIBNn1Pr1j3-ercNhKJg 提取码:8y1b 驱动的两大利器: 1.电路图:通过电路图找到寄存器 2.芯片手册 ...
最新文章
- mysql 触发器编程_【mysql的编程专题】触发器
- 0xde c语言合法常量_【期初优课堂】2020“云课堂”开讲啦!第3期(C语言)
- iris数据_Kaggle 数据可视化课程5
- Delphi及C++Builder经典图书一览表(持续更新中2018.01.02)
- python安装的模块在pycharm中能用吗_pycharm安装python模块
- python模块-logging和collections以及random模块
- 控制台应用程序转成MFC程序错误—OcrRec.exe触发一个触点,原因可能是堆被破坏
- Windows Server 2003安装应用程序时,提示缺失kernel.dll文件
- 《完整部署 OCS-NG》
- 计算机硬件驱动备份,驱动备份还原软件工具
- 极域课堂管理系统软件如何取消控制_极域新品发布会圆满落幕,你想看的都在这里...
- Win10提示“无法使用内置管理员账户打开计算器”解决方案
- IntelliJ idea2017 安装破解
- onunload,onbeforeunload,load事件
- create connection SQLException, url: jdbc:mysqlAccess denied for user ‘CC‘@‘localhost‘ (using passwo
- 痞子衡嵌入式:ARM Cortex-M文件那些事(3)- 工程文件(.ewp)
- 都说云计算时代是开发的天下,运维都要被下岗淘汰了?可业界大神陈皓却是这样说的!...
- 生猛!实时把画质变成 4k 高清的神库!
- 系统测试报告编写规范
- centos8 配置 dns_centos 8 集群Linux环境搭建 - 凭栏莫听雨落