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

임베디드 리눅스는 메모리 번지로 직접 접근할 수 있도록 설계되어있나요?

 

uboot에서 bdinfo로 메모리 번지 확인해 보면

arch_number = 0x000001FD
env_t       = 0x00000000
boot_params = 0x10000100
DRAM bank   = 0x00000000
-> start    = 0x10000000
-> size     = 0x02000000

이렇게 나오구요...


커널소스의 정보에는 이렇게 나오는데요..

MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710")
 MAINTAINER("Tony Lindgren <[email protected]>")
 BOOT_MEM(0x10000000, 0xfff00000, 0xfef00000)
 BOOT_PARAMS(0x10000100)
 MAPIO(omap_generic_map_io)
 INITIRQ(omap_generic_init_irq)
 INIT_MACHINE(omap_generic_init)
 INITTIME(omap_init_time)
MACHINE_END

 

static 으로 선언된 변수의 메모리 번지를 확인하면

0x0001048C

0x000104AC등과 같은 번지가 나오네요..

 

물론 이부분을 접근하면 기록한 값이 나오는데요...

가상 번지 같이 느껴져서..

 

다른부분이 접근되지 않아서 질문 올립니다...

조언 부탁드립니다!!


고현철

2010.01.08 21:09:58
*.38.51.28

1. MMU를 enable하기 전과 한 후에 보는 방법이 틀립니다.


2. MMU가 turn-on 되었을 경우는 가상번지로 매핑해서 찍어보는 방법이 있습니다.

ex> ioremap_nocache()등을 이용

하얀세상

2010.01.08 23:35:16
*.93.37.212

아.. 리눅스 부팅 상태에서 제가 만든 응용프로그램을 돌려서 DRAM을 읽어보고 싶은 거예요...

arch_number = 0x000001FD
env_t       = 0x00000000
boot_params = 0x10000100
DRAM bank   = 0x00000000
-> start    = 0x10000000
-> size     = 0x02000000

이게 의미하는 바가 혼동이되네요..

 

그리고 이두요.. ㅠ.ㅠ

   Image Name:   linux-2.6.9-20070713-1058
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    901092 Bytes = 880 kB
   Load Address: 10c08000
   Entry Point:  10c08000

파일럿

2010.01.11 19:18:41
*.136.60.126

arch_number = 0x000001FD -> architecture number라고 PROCESSOR 마다 고유의 번호를 가지고 있는데, 이것을 말하는 겁니다.
env_t       = 0x00000000 -> 환경 변수 값
boot_params = 0x10000100 -> 부트 파라메터 값(부트로더 쪽을 봐야 겠죠?)
DRAM bank   = 0x00000000 -> DRAM start address
-> start    = 0x10000000 -> 실제 사용하는 메모리 start address(pysical address)
-> size     = 0x02000000 -> 메모리 사이즈(32MB)

 

   Image Name:   linux-2.6.9-20070713-1058 -> kernel image name
   Image Type:   ARM Linux Kernel Image (gzip compressed) -> image type(gzip compressed)
   Data Size:    901092 Bytes = 880 kB -> kernel image size
   Load Address: 10c08000 -> kernel loading address(pysical address)
   Entry Point:  10c08000 -> kernel start address(pysical, kernel load후 PC가 위치하는 주소)

 

kernel이 부팅한 후는 MMU가 enable 되어 있는 상태이므로 물리 주소의 값을 보려면

매핑 해서 봐야 한답니다.

List of Articles
번호 제목 글쓴이 날짜sort 조회 수
3628 tcc8900로 제품 만드시는분 계신가요 ? [2] 이성호 2010-01-05 868
3627 u-boot를 날려버린것 같습니다.어떻게 해야할까요? [2] 버즈 2010-01-05 756
3626 aESOP의 문서양식이 있나요? [2] just4you 2010-01-05 478
3625 ODROID Eclair 동작 질문^^ [2] 이종범 2010-01-06 554
3624 ODROID 부품 별도 구매건의 [1] 도찬구 2010-01-06 625
3623 CS8900 Ethernet Chip not found?! , Ethernet 불도꺼지고.. [1] 버즈 2010-01-07 504
3622 안드로이드 블루투스 포팅 중 질문이 있습니다. [3] 우정 2010-01-07 1976
3621 Omap1710 디버깅 추가 질문이요 (A1000) [2] 하얀세상 2010-01-07 584
3620 USB 포팅관련 질문드립니다. [1] 김승한 2010-01-07 33677
3619 안드로이드 루트파일시스템을 Nand에 복사는 어떻게 하나요? [2] just4you 2010-01-07 1125
3618 PCB아트웤을 통해서 샘플보드를 만들려고하면.. [3] 도찬구 2010-01-07 1111
3617 임베디드 장비에 올릴 xml 괜찮은거 있으면 추천 좀 해주십시요 [3] 이경준 2010-01-07 507
3616 리눅스 디바이스 드라이버와 안드로이드 [2] 도너 2010-01-07 967
3615 GPIO Mode Configuration with OMAP3530 ? [2] 김병종 2010-01-08 961
3614 SMDKC100 u-boot 관련하여 질문 드립니다. [1] 별사냥꾼 2010-01-08 775
3613 오드로이드 RTC 쪽에 들어가는 코인 배터리... [1] 현쓰 2010-01-08 812
3612 리눅스에서 항법센서(AHRS) 및 GPS 센서에 대한 질문입니다.. [2] 서유한 2010-01-08 1023
» 임베디드 리눅스 DRAM에 올라온 내용을 볼 수 있나요? [3] 하얀세상 2010-01-08 623
3610 안드로이드 툴체인 + glibc [4] 서정민 2010-01-08 993
3609 ioread16에서 8비트 데이터만 읽어드리는 이유... [2] 허경 2010-01-09 534

사용자 로그인