修改Linux配置
- kernel/linux-xx目录,标准配置方法make menuconfig ARCH=arm64
- ./build.sh saveconfig,先保存再编译
打开GPIO 操作接口
sysfs interface首先看系统中有没有“/sys/class/gpio”这个文件夹。
如果没有在编译内核的时候打开 Device Drivers-> GPIO Support-> /sys/class/gpio/… (sysfs interface)
计算GPIO引脚编号
打开linux-3.4/arch/arm/mach-sunxi/include/mach/gpio.h可以看到如下定义:
#define SUNXI_PA_BASE0
#define SUNXI_PB_BASE32
#define SUNXI_PC_BASE64
#define SUNXI_PD_BASE96
#define SUNXI_PE_BASE128
#define SUNXI_PF_BASE160
#define SUNXI_PG_BASE192
#define SUNXI_PH_BASE224
#define SUNXI_PI_BASE256
#define SUNXI_PJ_BASE288
#define SUNXI_PK_BASE320
#define SUNXI_PL_BASE352
#define SUNXI_PM_BASE384
#define SUNXI_PN_BASE416
规律:GPIOn_x的编号为32n+x,例如此处用的GPIO1_6的编号为321+6=38。
例如,我们想操作GPIO_PH7引脚,编号为:SUNXI_PH_BASE+引脚编号,即:224+7=231