기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요.

요즘 회사에서 판매중인 제품의 칩 SDK가

업데이트 되면서 리눅스 커널도 2.6.37로 업데이트작업을

하고 있습니다. 업데이트 후 이상 증상이 보이는데

궁금한게 있어서 이렇게 질문 드립니다.

 

이전 버젼에서 커널 부팅 시 파라미터에 bigphysarea=5000을 주고 사용중이었습니다.

원래는 기본값이 2000인데 어떤 문제때문에 5000으로 바꼈다고 하더라구요.

그래서 커널과 SDK를 업데이트 하면서 어플리케이션 실행 시 fork 함수와

system() 함수(c언어 라이브러리에 있는) 호출이 안되더군요.

perror 로 찍어보면 cannot allocate memory 라고 나옵니다.

bigphysarea=2000으로 바꾸면 잘 되구요. 5000으로 할 때 메모리가 모자르거나 하지는 않습니다.

이 bigphysarea의 역할을 찾아보니 드라이버단에서 쓸 수 있는 메모리? 정도로 이해했는데요.

가용 메모리가 충분한 상황인데 왜 이 bigphysarea의 값에 따라 fork 나 system 함수에 호출에

문제가 생기는지 궁금합니다. 혹시 힌트 될 만한 것이라도 있으면 가르쳐주십시오.

 

감사합니다.


고도리

2012.05.17 23:52:49
*.200.239.234

1. bigphysarea는 공식 커널에는 없는 것으로 알고 있습니다.

==> 패치하신 듯 하고요.


2. 2000-->5000 이면 3000x4k 만큼 메모리를 할당받는 것으로 보여집니다. 대략 bootmem쪽에 미리 allocation하는 듯 하고요.


3. 정상적인 방법은 아니라고 보여집니다만, 많은 메모리를 DMA로 쓰기 위해서 2000-->5000으로 변경을 한 듯 한데, 값을 적절히 줄여보시기 바랍니다.


4. 가장 좋은 방법은 DMA 메카니즘을 다른 방법으로 사용하시는 것입니다.


5. 위 증상은 실제 가용 메모리가 없어서 그렇습니다.

자미

2012.05.18 00:25:07
*.216.190.226

아...결국 메모리가 부족하기 때문인거군요. 답변 감사합니다. 참고하도록 하겠습니다.

 

List of Articles
번호 제목 글쓴이 날짜 조회 수sort

리눅스 응용프로그램 자동 실행 [3]

  • jclab
  • 2012-06-08
  • 조회 수 1519

C110 소비전류가 어떻게 되나요? [6]

[해결] NAND bad block 관련 질문 [1]

ffserver 질문드립니다. file [3]

[완료] mplayer에서 wma파일 재생관련 [5]

[S5PV210] CUPS 1.6.2 포팅 오류

arndale 보드에서 opencl 사용하는 방법에 대한 싸이트

SMDK2440A 타겟보드에서 ping 사용하기...ㅠㅠ <= 133에 추... [2]

DDR DRAM 붙일때 주의점이 있나요? [3]

안드로이드에서 파일 암호화/복호화 사용에 관한 질문입니다. [2]

미디어 플레이어의 네트워크 스트림 구현에 대한 문의 [6]

uboot에서 jpeg lib [3]

노트 PC에 grub rescue> prompt가 뜨는데??? [3]

  • 요셉
  • 2010-07-08
  • 조회 수 1511

임베디드 리눅스 메모리맵 작업 관련...... [1]

안드로이드에서 Socket데몬 실행시 퍼미션 문제 [2]

  • 사당
  • 2013-02-16
  • 조회 수 1511

Exynos4(S5PV310) Module loading 문제. [2]

U-boot에서 usb storage 인식하기.

Framework 개발 서비스 연동? 질문 드립니다. [3]

  • Supsupi
  • 2014-01-17
  • 조회 수 1508

uart... CTS/RTS TEST에 대해서 의견 부탁드립니다. [2]

libmpfr.so.1 : cannot open shared object file: No such f... [4]

사용자 로그인