안녕하십니까.
EZ-X5보드를 이용해 특정 어드레스에 32비트 데이터를 쓸려고 합니다.
소스 코드는 다음과 같습니다

=================

int mem_fd;
int memsize;
memsize = 16 * 1024;
volatile int *addr_led;
int read;
mem_fd = open("/dev/mem", O_RDWR|O_SYNC );

if(mem_fd == -1)
{
perror(" mem open fail!
");
exit(1);
}

printf(" mem open OK
");

addr_led = (volatile int*)mmap(NULL, memsize, PROT_WRITE,
MAP_SHARED, mem_fd, ADDRESSOFLED);
printf(" mmap open OK
");

*(addr_led) = 0x0;

=============

문제는 addr_led를 위와 같이 unsigned int*로 선언하면 컴파일은 되는데
실행중에 "Buss Error"이라고 에러가 발생합니다.
addr_led를 unsigned char*(8비트) 또는 unsigned short*(16비트)로 선언하
면 데이터가 확실하게 나가는데 32비트는 되지 않습니다.
무슨 이유일까요?
답변 부탁드립니다.