我必须将我的GSM模块与基于ARM9的AM1808接口.
我已将所有GPIO引脚分配给Da850.c以及mux.h文件.我成功创建了一个uImage并将该图像插入到我的flash中.
我需要从User应用程序处理一些GPIO.
我知道我们可以从Kerel空间处理GPIO,但我需要从用户空间处理.
例如,我已经为GSM模块分配了GPIO电源键.我需要通过应用程序更改引脚装置(HIGH或LOW).
好的,我已经编写了以下代码来从用户空间访问它,
#include <stdio.h>
#include <time.h>
#include <signal.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <stdlib.h>
#include <unistd.h>
#include "GSMpwr.h"
#define BS_GSM_PWR_REGISTER 0x01E26014
#define BS_DCDS_MASK 0x00000004
int fd; // Memory device descriptor
unsigned long *pPWR;
unsigned short GetGSMpwr(void)
{
#if defined __HOST_ARM
unsigned long dcd_value = *pPWR;
return (pwr_value >> 7) & 0x01;
#endif
}
void InitializeGSMpwr(void)
{
#if defined __HOST_ARM
int page_size = getpagesize();
unsigned int MAP_addr;
unsigned int reg_addr;
unsigned char *pTemp; // Pointer to GSMpwr …Run Code Online (Sandbox Code Playgroud)