+ -
当前位置:首页 → 问答吧 → Segmentation Fault

Segmentation Fault

时间:2007-08-20

来源:互联网

我使用 ARM Versatile PB926EJ-S 的开发板。日前尝试以 mmap 控制板上的 LEDs,地址为 0x10000008。程序代码如下:

#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/mman.h>

#define LED_BASE 0x10000008

int main(void)
{
        int fd;
        unsigned int* led_addr;
      
        fd=open("/dev/mem",O_RDWR);
      
        led_addr=(unsigned int*)mmap(0,getpagesize(),PROT_READ|PROT_WRITE,MAP_SHARED,fd,LED_BASE);

        while(1)
        {
                *led_addr=0xaa;
                sleep(1);
      
                *led_addr=0x55;
                sleep(1);
        }

        close(fd);
        return 0;
}

可是,系统却回复错误:Segmentation Fault. 请问这是为什么?

谢谢!      

作者: unifoxz   发布时间: 2007-08-20