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

안녕하세요.

다름이 아니라  frame buffer의 내용을 capture 하고 싶습니다.
다른 분들이 한 의견들을 봤는데.. 대부분 device에 fb0라는 곳에 있는 내용을 raw 파일로 가져오더군요.

저 같은 경우는, RAM에서 추출한 바이너리를 이용하여 frame buffer를 capture하고자 하는데,
framebuffer의 시작 주소를 알아내기가 쉽지 않네요?

혹시 이러한 방법을 사용해보신 분 없으신가요?

좋은 커맨트 부탁드립니다.

유형목

2009.05.20 00:38:42
*.32.117.22

공부하실게 아니라면 이미 잘 돌아가는 프로그램 가져다
쓰는게 장땡이죠? ^^; (시간절약 + 효과만점)

아래 프로그램을 가져다 컴파일해서 써보세요.

http://www.sfires.net/fbshot/

정관희

2009.05.20 00:55:11
*.106.103.254

하지만, 이것은 device에 있는것을 끌어오는건데요.
이것을 이용하기 위해서는 device에 install을 해야하잖아요.

저는 RAM에 있는 바이너리를 가지고 하고 싶은거라서요...

유형목

2009.05.20 01:20:07
*.32.117.22

글쎄요 device 에 인스톨 안하고
어떤 방법으로 캡춰를 한다는 뜻인지 잘 이해가 안되는데요.

어차피 RAM도 device에 달려 있는 RAM 아닌가요?

정관희

2009.05.20 01:38:47
*.106.103.254

RAM을 dump 해서 바이너리 파일로 뽑아내고 그것을 이용해서 한다는 뜻이지요.

device에 인스톨안하고 하겠다는 의미죠.

고현철

2009.05.20 09:04:01
*.59.122.218

framebuffer관련 ioctl을 찾아보시기 바랍니다.

memory start번지가 있습니다.

정관희

2009.05.20 12:04:03
*.106.103.83

정확하게 이해를 못했는데, 어떻게 해야하는건지 조금더 부탁드리면 안될까요?
그리고 start번지와 end번지를 다 알 수 있나요?
start번지에 + size를 하는 건지요?

msm_fb.c 에 따르면
msm_fb_probe: 의 physical 주소와 size 를 알 수 있는것 같은데 그 값이 시작 주소가 되는건가요?
이미지가 생성이 안되서 문의드려요(주소를 정확하게 해줘야지 이미지가 생기는것 같은데..) 

박종석

2009.05.28 03:04:28
*.244.221.2


안녕하세요..
다들 아시는 너무 쉬운(?)내용인지 모르겟으나.. 정관희 님께서는  FrameBuffer의 physical address를 알고 싶으신것인지요?
kernel booting때 dump되며, s3cfb_probe() 함수에서 fb_info->fix->smem_start 값을 현철님 말씀대로 ioctl로 읽으시면 됩니다.
fb_info 구조체를 잘 살펴보시면 원하시는 값들이 다 있습니다.

이게 귀찮으시다면(?) 아래 kernel booting log에서 보시면
dma=57400000 cpu=ff000000  에서 차례대로 physical/logical address입니다.

당연히 mDDR에 있는 값을 kernel에서는 directly 읽으실수는 없으므로 간단한 c code로 logical address를
read해보시면  framebuffer의 raw data가 읽어지므로 그걸 write하시면 raw capture가 되겠네요.
당연히 일반적으로 RGB565 format이므로 24bit 확장해서 raw data를 만들어서 사용하시면 되겠네요

-------------------------------------
S3C_LCD clock got enabled :: 100.000 Mhz
LCD TYPE :: LTE480WV will be initialized
Window[0] - FB1: map_video_memory: clear ff000000:003a9800
            FB1: map_video_memory: dma=57400000 cpu=ff000000 size=003a9800
Console: switching to colour frame buffer device 120x133
fb0: s3cfb frame buffer device
Window[1] - FB1: map_video_memory: clear ff3aa000:000bb800
            FB1: map_video_memory: dma=57200000 cpu=ff3aa000 size=000bb800
fb1: s3cfb frame buffer device
-------------------------------------

도움이 되길..

List of Articles
번호 제목 글쓴이 날짜 조회 수
2268 system MTD 파티션 미 인식관련 박현진 2009-05-21 1688
» framebuffer를 capture하기 위해서. [7] 정관희 2009-05-20 1539
2266 Android Kernel 2.6.29로 업데이트 방법? [1] 김태준 2009-05-15 2628
2265 tslib 사용 [1] 이상봉 2009-05-08 1240
2264 Touch screen으로 Hardware key 기능 구현 방법요.. [2] 오경재 2009-05-05 1086
2263 aesop-6410 board에서의 adb 사용 질문 [1] 김영문 2009-05-01 1656
2262 6410 yaffs2 적용 추가 질문 [1] 조상욱 2009-04-30 1959
2261 6410 yaffs 로 바꾸기 [3] 조상욱 2009-04-29 1058
2260 busybox 관련 문의드립니다. [5] 김승한 2009-04-25 2262
2259 6410 network 설정.. [3] 이종범 2009-04-21 1121
2258 SMDK6410에서 Android 포팅.. [4] 정경진 2009-04-16 3137
2257 삼성 s3c6410 2.6.28 kernel 다운 받는 git 주소 가르쳐주세요 [2] 이성호 2009-04-13 2513
2256 Android 사용시 yaffs image의 ecclayout [3] 최종환 2009-04-09 2147
2255 Android kernel 2.6.28 재업 smdk6410 커널용 [2] 최종환 2009-04-09 2622
2254 Android 포팅 방법에 대한 질문 [11] 전병환 2009-04-09 7748
2253 안드로이드에서 인터넷 연결이 안된것으로 인식됩니다. [2] 이성호 2009-04-06 1099
2252 안드로이더 에 touch cal 값을 어떻게 얻었나요? [3] 이성호 2009-04-06 2717
2251 Android 구동 중에서 mplayer 재생오류 MPlayer crashed! [2] 김형태 2009-04-02 2123
2250 nfs로 안드로이 부팅중 "System UIDs inconsistent" 에러 팝업 창... [3] 이성호 2009-04-01 3148
2249 NFS 부팅 시도를 하고 있는데 link up이 되지 않습니다. [3] 이성호 2009-03-31 1285

사용자 로그인