2012-11-11 1 views
0

내 요구 사항은 매우 간단합니다. 우분투는 임베디드 플랫폼에서 실행됩니다. 나는 메모리에 영구적 인 위치를 할당하고 싶다. (나는 DRAM이 시작되는 주소를 안다.) 내가 원하는 건 OS가 메모리를 건드려서는 안되며 (통계 데이터를 수집하고 그 위치에 쓰는 것과 같이) 그 메모리에 대한 커스텀 연산을 수행 할 수 있다는 것이다.임베디드 시스템에 영구적으로 메모리 할당

요구 사항은 다음과 같습니다

  1. 메모리에 어떤 위치를 (OS가 메모리를 할당 나와 함께 괜찮 주소를 날 다시 반환) 할당합니다.
  2. 이 위치는 OS가 실행될 때까지 있어야합니다.
  3. 크기는 하나의 매개 변수입니다.
  4. busybox devmem 종류의 명령을 사용하여이 위치를 읽고 쓰고 싶습니다.
+0

이것은 답변이 아닙니다. 아마도 당신의 문제는 쉽다. 아마도 Redis, SQLite 또는 메모리 DB에있는 경량 dbs를 사용할 수있을 것이다. wiki.debian.org/ramfs ... 도움이되기를 바랍니다. – yeyo

답변

0

tmpfs과 같은 파일 시스템에 일부 메모리를 마운트하고 파티션에서 파일을 조작하기 만하면됩니다. 예를 들어

, http://www.cyberciti.biz/faq/howto-create-linux-ram-disk-filesystem/

+0

특정 제안은 "원시"메모리가 아닌 파일 시스템 캐싱 코드에 의해 뒷받침되기 때문에 해당 코드를 통해 내용에만 액세스해야하는 결과가 적용되므로 적용되지 않을 수 있습니다. 포스터는 커널 부팅 전에 잠재적으로 사용될 수있는 "원시"메모리를 원한다고합니다. –

1

당신은 부팅시 약간의 메모리를 할당 할 bigphysarea를 사용할 수 있습니다. 2 2 페이지 (2 * 4K)

이 당신이 연속 메모리를 할당 할 수 있습니다 의미

bigphysarea=2 

: 크기가 리눅스 커널 매개 변수를 제공 할 수 있습니다, 통 더는 같은 것을 추가해야 운전 기사가 사용하는 것.

나는 당신이하고 싶은 것을 이해하고 있지는 않지만, 이런 종류의 할당은 커널 모드에서만 접근 할 수 있다는 것을 명심하십시오.