作者rz600000 (suedeN    )
看板LinuxDev
标题[问题] 一个简单的GPIO 程式我不行run...
时间Mon Sep 17 21:31:56 2007
#include <stdio.h>
#include <stdlib.h>
#include<sys/mman.h>
#include<fcntl.h>
#include <asm/page.h>
#define ECS0_BASE 0x03F00000
#define IO_REG0 (*(unsigned short *)(ECS0_BASE+0x0C00))
#define IO_REG2 (*(unsigned short *)(ECS0_BASE+0x0C04))
int main(void)
{
int gpio_fd;
void * gpio_map;
gpio_fd = open("/dev/mem",O_RDWR);
gpio_map = mmap(NULL,PAGE_SIZE,PROT_WRITE, MAP_SHARED,
gpio_fd,IO_REG2);
while(1)
{
gpio_map = 0xff00;
}
}
上面那个我经由 arm-linux-gcc –s –o test led.c
(问题 1)
放置板子上run 会出现 segmentation fault
我只是想要将上面的LED灯 呈现暗的状态..
1 = off
0 = on
IO_REG2 是 led 的 address
(问题 2 )
还有一个问题 是否一定要使用mmap 还是可以直接不使用mmap 改写成
IO_REG2 = 0xff00; 这样呢?
我是超新手 烦请多包含~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.117.176.183
1F:→ aprotoss:问题一,在moto学园已回覆 09/17 21:54
2F:→ aprotoss:问题二:不行的,Linux有记忆体保护,加上板子若有MMU 09/17 21:54
3F:→ aprotoss:的话,你只会看到virtual memory 09/17 21:56
4F:→ rz600000:感恩 欧大大 还有一个问题 问在摩托 麻烦了 plz 09/17 23:19
5F:→ power272000:请问你有加电阻吗另外arm linux是那个版本因为我看你 09/18 15:58
6F:→ power272000:你的makefile只能用在pc上因为arm-linux-gcc 09/18 15:59