About the ARM PrimeCell GPIO

The PrimeCell GPIO is an Advanced Microcontroller Bus Architecture (AMBA)
compliant System-on-Chip (SoC) peripheral that is developed, tested, and licensed by
ARM.
The PrimeCell GPIO is an AMBA slave module that connects to the AdvancedPeripheral Bus (APB). The PrimeCell GPIO provides eight programmable inputs oroutputs that you can control in two modes:

• software mode through an APB bus interface
• hardware mode through a hardware control interface.

You can create ports of different widths (for example 16, 24, 32, and 40 bits) by multipleinstantiation. An interrupt interface is provided to configure any number of pins asinterrupt sources. You can generate interrupts depending on a level, or a transitional value of a pin. At system reset, PrimeCell GPIO lines default to inputs. The PrimeCell
GPIO interfaces with input and output pad cells using a data input, data output, and output enable per pad.
Figure 1-1 on page 1-3 shows the PrimeCell GPIO interfaces.在这里插入图片描述
1.1.1
Features of the PrimeCell GPIO
The PrimeCell GPIO offers:
• Compliance to the AMBA Specification (Rev 2.0) onwards for easy integration into SoC implementation.
• Eight individually programmable input/output pins, default to input at reset.
• Scalability by multiple instantiation to 16, 24, 32, 40, or more bits.
• Programmable interrupt generation capability, from a transition or a level condition, on any number of pins.
• Hardware control capability of PrimeCell GPIO lines for different system
configurations.
• Bit masking in both read and write operations through address lines.
• Identification

设备树(device tree)机制是Linux内核从linux-3.x版本开始引进的一种机制,目的是解决内核源码的arch/arm目录下代码混乱的问题:随着ARM生态的快速发展,在内核源码的arch/arm目录下,存放着几十种arm芯片和几百个开发板相关的源文件,很多开发板和处理器的中断、寄存器等相关硬件资源都在这个目录下以.c或.h的文件格式定义。而对于内核来说,与这些硬件耦合,会导致内核代码混乱不堪,每个开发板上运行的内核镜像都必须单独编译配置,无法通用。什么时候Linux内核能像Windows镜像那样,无论你的电脑什么配置,一个Windows安装包,都可以直接下载安装运行呢?设备树机制,实现了Linux内核和硬件平台的解耦:每个硬件平台的硬件资源使用一个设备树文件(xxx.dts)来描述,而不是在arch/arm下以.c 或 .h 文件来定义。Linux内核是一个通用的内核,在启动过程中,在通过解析设备树中的硬件资源来初始化某个具体的平台。 引入设备树后,很多和内核驱动开发的工作也发生了变化:以往驱动工程师关注的头文件宏定义、寄存器定义,现在这些基本上不用关注,关注的重点则转向了如何根据硬件平台去配置和修改设备树文件。很多驱动的编程接口也发生了变化,开始慢慢使用device tree提供的编程接口去开发驱动。本期课程主要面向嵌入式开发人员,分享Linux下驱动开发所需要的设备树知识和必备技能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值