KELP에서 이규명님의 임베디드 강좌에서 프레임버퍼 질문입니당~

jokaCbal의 이미지

프레임 버퍼 강좌를 보다가요
http://kelp.or.kr/korweblog/stories.php?story=02/11/09/8557035&topic=29

http://kelp.or.kr/korweblog/stories.php?story=02/11/09/8670820&topic=29

2장보고 있는데..
2장에서 첫번째 소스 컴파일 해서 실행을 할라고 했는데
No Such Device 가 나와요..

소스(긁어옴)

===============================
1 /*
2 * fbinfo.c : Frame buffer information viewer
3 *
4 * Copyright(C) 2002 holelee
5 *
6 */

7 #include <stdio.h>
8 #include <stdlib.h> /* for exit */
9 #include <unistd.h> /* for open/close .. */
10 #include <fcntl.h> /* for O_RDWR */
11 #include <sys/ioctl.h> /* for ioctl */
12 #include <linux/fb.h> /* for fb_var_screeninfo, FBIOGET_VSCREENINFO */

13 #define FBDEVFILE "/dev/fb"

14 int main()
15 {
16 int fbfd;
17 int ret;
18 struct fb_var_screeninfo fbvar;
19 struct fb_fix_screeninfo fbfix;

20 fbfd = open(FBDEVFILE, O_RDWR);
21 if(fbfd < 0)
22 {
23 perror("fbdev open");
24 exit(1);
25 }

26 ret = ioctl(fbfd, FBIOGET_VSCREENINFO, &fbvar);
27 if(ret < 0)
28 {
29 perror("fbdev ioctl(FSCREENINFO)");
30 exit(1);
31 }

32 ret = ioctl(fbfd, FBIOGET_FSCREENINFO, &fbfix);
33 if(ret < 0)
34 {
35 perror("fbdev ioctl(FSCREENINFO)");
36 exit(1);
37 }

38 printf("x-resolution : %d\n", fbvar.xres);
39 printf("y-resolution : %d\n", fbvar.yres);
40 printf("x-resolution(virtual) : %d\n", fbvar.xres_virtual);
41 printf("y-resolution(virtual) : %d\n", fbvar.yres_virtual);
42 printf("bpp : %d\n", fbvar.bits_per_pixel);

43 printf("length of frame buffer memory : %d\n", fbfix.smem_len);

44 close(fbfd);
45 exit(0);
46 return 0;
47 }
===============================
이 것을 모두 타이핑하고 컴파일하여 수행해 보시기 바랍니다.
우선 수행 중에 생길 수 있는 에러 메시지는 다음과 같습니다.
(1) fbdev open: Permission denied
=> root 권한이 없어서 생기는 메시지입니다.
(2) fbdev open: No such device
=> frame buffer driver가 제대로 올라가지 않아서 생기는 에러 메시지입니다.
혹 fbdev ioctl…어쩌구 하는 에러 메시지가 나온다면 그것은 frame buffer driver가 정상적인 동작을 하지 않아서 그런 것 같습니다.

그래서 lsmod 했더니
module size used by
rivafb 35148 0
vgastate 6272 1 rivafb
.... ..... .....

이렇게 되어 있고요

/dev/fb 링크를 보니깐 주넘버가 29번 이길래..

cat /proc/pci 해보니깐
주넘버 29번은 USB Controller 에 있고...
비디오는.. 아래처럼..
....

IRQ 17.
I/O at 0xd000 [0xd0ff]
I/O at 0xcc00 [0xcc3f]
Non-prefetchable 32 bit memory at 0xdffffa00 [0xdffffbff].
Non-prefetchable 32 bit memory at 0xdffff900 [0xdffff9ff].
Bus 1, device 0, function 0:
VGA compatible controller : nVidia Corporation NV17[GeForce4 MX 440-SE](rev163)

.....

주넘버가 0이 나와서요..

예제 소스를 실행을 할 수가 없어영..ㅡㅡ;
디바이스에 대한 개념이 아주 한참 부족한 저로서..
진도가 안나가서 답답해서요..
고수님들께 부탁드립니다...(리눅스 넘어려버용...)

cococo의 이미지

정확한 에러 메시지를 전부 다 보여주실 수 있으신가요?

글을 보면, 에러 메시지가. [No Such Device]
라는 것 같은데,
글 내용중에
[/dev/fb]
는 있는 것 같네요?

잘은 모르겠지만, 우선
13번 이나 20번에 오타가 있는지 의심이 가구요.

만일 아니라면,
13번의 [dev/fb] 를 , 그냥 [/dev/fb0]로 해 보세요.

또, 만일 desktop에서 하고 계신다면,
부팅 할 때 framebuffer consol모드(정확한 명칭은 모릅니다만, 저 단어로 검색해 보세요)로 띄워서, framebuffer 가 활성화 되도록 해 보시죠.

그래도 안되심.... 고수님들의 답변을 기둘리심이... -_-;

덧글 : 왜 전 [~삼] 하는 말투가 반말로 느껴질까요. 저만 그런가...-_-;;;;;

mach의 이미지

ckbcorp wrote:

...
덧글 : 왜 전 [~삼] 하는 말투가 반말로 느껴질까요. 저만 그런가...-_-;;;;;

아마도 나이 탓인듯 합니다만 :twisted:

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.