반응형
임베디드 시스템에서의 C 언어를 통해 sram 메모리를 읽어와 설정 하는 부분을 진행 해 볼것이다.
우선 OS 는 Custom OS 이다. 완전한 리눅스랑은 상이하다.
/dev/mem 에 메모리 장치 파일이 존재한다.
즉, 메모리 장치 파일에 접근하여 파일의 메모리 공간을 가져와야 한다.
메모리 공간을 가져오는 방법으로는 lseek or mmap 등이 존재한다.
이 중 mmap 방법을 활용해 볼 것 이다.
void *pMem_sram;
unsigned short usi;
unsigned short *usp;
int fd_sram;
fd_sram = open("/dev/mem", O_RDWR);
if( fd_sram < 0 )
{
printf("ERROR: Failed to open SRAM\n");
exit(-1);
}
pMem_sram = mmap(0, 0x7FFFF, PROT_READ | PROT_WRITE, MAP_SHARED, fd_sram, 0x1000000);
if( pMem_sram == MAP_FAILED )
{
printf("ERROR: Failed to mmap SRAM\n");
exit(-1);
} 반응형
'C' 카테고리의 다른 글
| [C언어] 비버퍼링 버퍼링 파일 함수 open, fopen 등 (2) | 2021.03.29 |
|---|---|
| [C언어] pthread_t 스레드 생성 sched_param 스레드 스케줄링 (1) | 2021.03.28 |
| [C언어] POXIS termios RS485 인터페이스 제어 (1) | 2021.03.27 |
| 메모리 직접 접근 (0) | 2020.03.04 |