-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 27

Thema: NGW100 ISI Video

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Beiträge
    25

    NGW100 ISI Video

    Anzeige

    Hallo,

    Ich habe NGW100 und CAM-c3188a.
    Ich habe neue Kernel 2.6.25.10.atmel.2 auf dem Board kopiert.

    Ich habe endlich /dev/video0 und /dev/video1 auf dem Board, nachdem ich die gebrauchten modules geladen habe.

    Aber es gibt noch Fehlermeldung:
    Failed to open video device: No such device
    als ich das Programm capture laufen lasse:
    http://www.avr32linux.org/twiki/bin/...AtmelIsiDriver

    Patching habe ich auch schon gemacht.

    Hier sind lsmod und dmesg von Board:

    lsmod:

    Module Size Used by Not tainted
    i2c_gpio 2336 0
    i2c_algo_bit 4676 1 i2c_gpio
    i2c_dev 4740 0
    ovcamchip 15208 0
    v4l2_common 8800 0
    i2c_core 16176 5 i2c_gpio,i2c_algo_bit,i2c_dev,ovcamchip,v4l2_com
    mon
    v4l2_int_device 2080 0
    compat_ioctl32 992 0
    atmel_isi 13956 0
    videodev 25824 1 atmel_isi
    v4l1_compat 10212 1 videodev
    xt_state 1888 1
    iptable_filter 2432 1
    ipt_MASQUERADE 2368 1
    iptable_nat 4936 1
    nf_nat 12758 2 ipt_MASQUERADE,iptable_nat
    nf_conntrack_ipv4 11304 4 iptable_nat,nf_nat
    nf_conntrack 42320 5 xt_state,ipt_MASQUERADE,iptable_nat,nf_nat,nf_co
    nntrack_ipv4
    ip_tables 8208 2 iptable_filter,iptable_nat
    vfat 8480 0
    fat 35868 1 vfat
    nls_base 5696 2 vfat,fat

    dmesg:

    Linux video capture interface: v2.00
    atmel_isi: fbd at 11cf5008 video buffer at phys addr 10c00000
    atmel_isi: fbd at 11cf5030 video buffer at phys addr 10c40000
    atmel_isi: fbd at 11cf5058 video buffer at phys addr 10c80000
    atmel_isi: fbd at 11cf5080 video buffer at phys addr 10cc0000
    atmel_isi atmel_isi.0: capture buffer: 962560 bytes at b1f00000 (phys 0x11f00000)
    atmel_isi atmel_isi.0: Atmel ISI V4L2 device at 0xfff02c00
    ovcamchip: v2.27 for Linux 2.6 : OV camera chip I2C driver

    I2C /dev entries driver
    i2c-gpio i2c-gpio.0: using pins 6 (SDA) and 7 (SCL)
    atmel_isi_capture: opened

    Vielen Dank.

    Gruss

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Bist Du sicher, dass Du alle benötigten Module geladen hast? atmel-isi.ko zu laden reicht nicht, Du musst auch den Kamera-spezifischen Treiber miteinbeziehen.

    MfG Mark

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Beiträge
    25
    Hallo,

    den Treiber für das Kameramodul habe ich auch geladen (ovcamchip).

    Ich habe beim Patchen in /drivers/media/video/Kconfig so gemacht:

    if VIDEO_CAPTURE_DRIVERS && VIDEO_V4L2

    config VIDEO_AVR32_ISI
    tristate "AVR32 video support"
    depends on VIDEO_DEV
    ---help---
    This module makes the AVR32 Image Sensor Interface available
    as a v4l2 device.

    config VIDEO_OVCAMCHIP
    tristate "OmniVision Camera Chip support"
    depends on VIDEO_AVR32_ISI && I2C
    ---help---
    Support for the OmniVision OV6xxx and OV7xxx series of camera chips.
    This driver is intended to be used with the ov511 and w9968cf USB
    camera drivers.

    To compile this driver as a module, choose M here: the
    module will be called ovcamchip.

    Ist so richtig? Ist das Kameramodul wahrscheinlich defekt? Ich habe keinen Multitester, und das Kameramodul bisher ist noch nicht getestet.

    Gruss

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    "This driver is intended to be used with the ov511 and w9968cf USB
    camera drivers. " Hmm, so wie ich das verstehe sind die Treiber für USB gedacht. Soweit ich weiss werden zuzeit ofiziell nur die MT9M112 und die AT76C451BC auf dem AVR32 unterstützt, wenn Du was anderes haben möchtest, musst Du den Treiber selbst (um)schreiben, was nicht allzu schwer sein sollte, da alles schon vorgefertigt ist.

    MfG Mark.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Beiträge
    25
    Danke für die Info p_mork.

    Es ist schlecht für mich, da ich schwach in dieser Programmiersache, aber will trotzdem versuchen.

    Gruss

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    Lass Dich nicht so schnell runterkriegen. Füg den Patch für AT76C451BC hinzu und schreib dann die Datei drivers/media/video/at76c451bc.c um. Ist eigentlich ganz easy, Es gibt 4 Funktionen (neben den für die Initialisierung) die in ein atmel_isi_camera struct eingetragen und an den ISI-driver übergeben werden müssen:
    get_format - wird vom ISI-driver aufgerufen, um die aktuellen Einstellungen der Kamera wie z.B. Auflösung, Farbraum usw zu bekommen
    set_format - zum setzen der Kameraeinstellungen
    start_capture - wird immer aufgerufen, wenn ein neues Frame angefordert wird.
    stop_capture analog zu start_capture.

    Im Anhang findest Du einen selbst geschriebenen Treiber für die C3088, dem Vorganger der C3188. Sie hat eine geringere Auflösung, ist sonst aber sehr änlich zur C3188. Ersetzt auch die atmel-isi.c und atmel-isi.h , da die ofiziellen Dateien teilweise fehlerhaft/verinfacht sind. Schau Dir die ov6620.c an und änder da die Kamera-spezifischen Zeilen in den oben gennanten Funktionen. Um den Code als Modul compilieren zu können, muss in drivers/media/video/Kconfig so in Zeile 22 direkt nach dem VIDEO_AVR32_ISI Absatz folgendes hin:
    config VIDEO_OV6620
    tristate "OV6620 camera"
    default n
    depends on VIDEO_AVR32_ISI && I2C
    ---help---
    This will add support for the OV6620 camera.

    und in drivers/media/video/Makefile in Zeile 86 nach TUNER_3036 und AVR32_ISI :
    obj-$(CONFIG_VIDEO_OV6620) += ov6620.o

    Jetzt sollte es möglich sein im menuconfig den ov6620 (so heißt der Chip de C308 zu wählen.

    Probiers einfach mal aus, wenns Probleme gibt kannst Du ja hier schreiben.

    MfG Mark
    Angehängte Dateien Angehängte Dateien

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Beiträge
    25
    Ich freue mich sehr, vielen Dank p_mork!

    Ich werde alles heute so schnell wie möglich zu erledigen. Gerade bin ich noch beschäftigt, den Treiber für OV7670 zu ändern, aber es gibt kein Datenblatt im Internet und ich habe Schwierigkeiten, den Register zu vergleichen.

    Vielen Dank nochmal.

    MfG.

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    26
    Beiträge
    522
    ...aber es gibt kein Datenblatt im Internet...
    http://groups.google.com/group/micro...ta%20Sheet.pdf

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Beiträge
    25
    Hallo,

    danke Dir für das Datenblatt.
    Ich habe den Treiber schon fertig gemacht. Beim kompilieren tritt noch dieser Fehler auf:
    Code:
    CC [M]  drivers/media/video/atmel-isi.o
    drivers/media/video/atmel-isi.c: In function 'avr32_isi_g_ctrl':
    drivers/media/video/atmel-isi.c:999: error: 'V4L2_CID_FRATE' undeclared (first use in this function)
    drivers/media/video/atmel-isi.c:999: error: (Each undeclared identifier is reported only once
    drivers/media/video/atmel-isi.c:999: error: for each function it appears in.)
    drivers/media/video/atmel-isi.c: In function 'avr32_isi_s_ctrl':
    drivers/media/video/atmel-isi.c:1015: error: 'V4L2_CID_FRATE' undeclared (first use in this function)
    make[3]: *** [drivers/media/video/atmel-isi.o] Error 1
    make[2]: *** [drivers/media/video] Error 2
    make[1]: *** [drivers/media] Error 2
    make: *** [drivers] Error 2
    V4L2_CID_FRATE ist nicht in videodev2.h deklariert.
    genauso wie
    V4L2_CID_I2C_WRITE und V4L2_CID_CLKRC (in ov7620.c)

    Anhang ist der Treiber für ov7620. Ich kann mehrere Sache nicht verstehen, z.B.:

    Zeile 122 Über CHIP_ID habe ich schon herausgefunden, aber I2C-Adresse für das Kameramodul ist mir noch nicht klar.

    Zeile 484 Was macht die Funktion V4L2_CID_I2C_WRITE eigentlich?

    Vielen Dank für Deine Hilfe.

    MfG
    Angehängte Dateien Angehängte Dateien

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    12.05.2008
    Beiträge
    25
    Hallo,

    Ich habe probiert, set_control und get_control auszukomentieren, und die originale atmel-isi Dateien benutzen.
    So sieht es aus, nachdem ich das Modul geladen habe

    Code:
    /lib/modules/2.6.25.10.atmel.2/kernel/drivers/media/video # modprobe -v ov7620
    Loading module i2c-core
    Loading module ov7620
    Unable to handle kernel paging request at virtual address 78385814
    ptbr = 91d7a000 pgd = 00000000
    Oops: Kernel access of bad area, sig: 11 [#1]
    FRAME_POINTER chip: 0x01f:0x1e82 rev 2
    Modules linked in: ov7620(+) i2c_core atmel_isi videodev v4l1_compat xt_state ip
    table_filter ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip
    _tables vfat fat nls_base
    PC is at i2c_smbus_xfer+0x8/0x438 [i2c_core]
    LR is at i2c_smbus_write_byte_data+0x22/0x2c [i2c_core]
    pc : [<c08a9674>]    lr : [<c08a9c62>]    Not tainted
    sp : 91fede00  r12: 78385808  r11: 0000e0a0
    r10: 00001ad8  r9 : 00000000  r8 : 00000012
    r7 : 91fede6c  r6 : c0893480  r5 : 901ed8c0  r4 : 7fbd4e6c
    r3 : 901ed8b8  r2 : 00000016  r1 : 78385808  r0 : c0851dbc
    Flags: qvNzc
    Mode bits: hjmde....g
    CPU Mode: Supervisor
    Process: insmod [501] (task: 91c17300 thread: 91fec000)
    Stack: (0x91fede00 to 0x91fee000)
    de00: 00000003 00000000 fffffff9 900c7e0c 91fede50 00000001 9005e2b6 9003db30
    de20: 91fede50 00000001 4e6c
    de80: 901ed8b8 00000016 c0893300 c0851dbc 00000002 91fede9a 900180ae 91fedeac
    dea0: 901e9ef4 02faf080 9001436a 91fedebc 901e9ef4 901ed8c0 7fbd4e6c c0892016
    dec0: 91feded0 c0893480 901ed8c0 7fbd4e6c c088006a 91fedee4 c0893480 901ed8c0
    dee0: 7fbd4e6c 90036638 91fedf94 91e15da0 901ed8c0 7fbd4e6c 91fedef4 0007f008
    df00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    df20: 00000000 00000000 00000000 00000000 00000009 c0852d9c 91d54cc0 c08520dc
    df40: c0851fc4 c0851000 00000000 00000070 00000070 c08924c8 c08a9f88 00000016
    df60: c0851d04 c0851dbc c085212c c0852104 00000016 00000014 00000000 0000240b
    df80: 900514fe 91fedfa4 91c7ef00 c08acda0 00000000 90013132 00000000 00072f70
    dfa0: 0000504c 7fbd4e6c 00072a60 7fbd4f17 80000000 91fec000 00000001 2aaf3bac
    dfc0: 7fbd4d40 7fbd4d34 0007f018 0000230b 0007f008 0000230b 00000073 0007f008
    dfe0: 00072f70 0000504c 7fbd4e6c 00072a60 7fbd4f17 00000002 0005a980 0007f018
    Call trace:
     [<c08a9c62>] i2c_smbus_write_byte_data+0x22/0x2c [i2c_core]
     [<c0892016>] ov7620_write+0xa/0x10 [ov7620]
     [<c088006a>] ov7620_init+0x6a/0xa8 [ov7620]
     [<90036638>] sys_init_module+0xf8c/0x105c
     [<90013132>] syscall_return+0x0/0x12
    MfG

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •