[問題] 一個簡單的GPIO 程式我不行run...

看板LinuxDev作者 (suedeN  ￾   )時間17年前 (2007/09/17 21:31), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/1
#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

09/17 21:54, , 1F
問題一,在moto學園已回覆
09/17 21:54, 1F

09/17 21:54, , 2F
問題二:不行的,Linux有記憶體保護,加上板子若有MMU
09/17 21:54, 2F

09/17 21:56, , 3F
的話,你只會看到virtual memory
09/17 21:56, 3F

09/17 23:19, , 4F
感恩 歐大大 還有一個問題 問在摩托 麻煩了 plz
09/17 23:19, 4F

09/18 15:58, , 5F
請問你有加電阻嗎另外arm linux是那個版本因為我看你
09/18 15:58, 5F

09/18 15:59, , 6F
你的makefile只能用在pc上因為arm-linux-gcc
09/18 15:59, 6F
文章代碼(AID): #16xe7Dy- (LinuxDev)
文章代碼(AID): #16xe7Dy- (LinuxDev)