编写mipsel mt7620 Led驱动(一)
1.看原理图中知芯片上66引脚控制一个LED
2.在Datasheet中找出GPIO pin
3.在ProgrammingGuid System Contrl中找到GPIO控制寄存器地址:
4.控制GPIO的寄存器偏移地址是,起始地址是,但这个起始地址是物理地址,因此还要确定相应的虚拟地址(这个可以根据mips手册或者内核源代码去查到),本屌丝在内核源代码中查找到虚拟地址为:0xb0000000;(注下图为内核源代码rt_mmap.h中定义)
5.从分析
中知道此寄存器地址的每一位控制着不同的pin脚的GPIO模式,那么本屌丝又去查看datasheet知:GPIO#68(即68引脚)对应GPIO控制寄存器的“RGMII2_GPIO_MODE”,如下图:
,因此查看”21. GPIOMODE: GPIO Purpose Select (offset: 0x0060)“知道该寄存器地址的第10位控制着”RGMII2_GPIO_MODE”,如下图:
从那么有以上1~5这五能够确定: 怎样设置pin:68 GPIO模式.
6.那么怎么把数据输送到pin68引脚呢?查看“ProgrammingGuid 中的PROGRAMMABLE I/O” :
知pin68对应的寄存器基地址Register Descriptions (base: 0x1000_0600)对应虚拟地址为 #define RALINK_PIO_BASE 0xB0000600,偏移地址0x70
查看此寄存器地址对应的各位知:共32位每一位分别对应40~71引脚,那么68引脚对应(68-40)即28
7.分析知还需要设置68引脚的方向:
8.通过以上1~7却定了:(1)怎么设置pin68引脚为GPIO MODE; (2)控制pin68的数据输入输出方向;(3)从哪个地址位输入数据到pin68
最新文章
- Docker命令学习
- 黑马----JAVA泛型基础
- POJ1699 HDU 1560 Best Sequence(AC自动机 最短路)
- 歐洲國家拓展其移動和IT服務業務
- 只有好的棋手才会走运-《打造Facebook》读后感
- 内存恶鬼drawRect
- robotframework笔记10
- SSH由WAS/Tomcat/Weblogic迁移到JBOSS
- URI与URL的区别
- VB6-系统打印常识
- jvm内存GC详解
- Hadoop动态加入/删除节点(datanode和tacktracker)
- App隐私条款
- CentOS-7.2安装Ambari-2.6.1
- http网站转换成https网站
- 阿里巴巴Java开发规约插件安装使用指南
- Zabbix监控系统部署:前端初始化
- Hdu1281 棋盘游戏
- wpf 的依赖属性只能在loaded 事件之后才能取到
- SCXcodeSwitchExpander自动填充switch语句下枚举类型case