Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - Relbmessa

Seiten: 1 [2] 3 4
21
Lowlevel-Coding / ARM Timer-IRQ
« am: 23. August 2013, 19:36 »
Hallo ,
im Moment beschäftige ich mit Timer-IRQ Raspberry Pi.
Leider hänge ich immer noch an der Grundlagenforschung fest.

Die nachfolgende Tabelle ist von Berry-Boot
nach dem Start vom OS ausgelesen.


00  060000EA  b address     28  0C1C81E3  ??
04  0000A0E1  mov r0 ,r0    2C  00209FE5  ldr r2 ,[r15]
08  0000A0E1  mov r0 ,r0    30  00F09FE5  ldr r15,[r15]
0C  0000A0E1                34  00010000
10  0000A0E1                38  00080000
14  0000A0E1                3C  00000000
18  0000A0E1
1C  0000A0E1
20  0000A0E3  mov r0,#0
24  4210A0E3  ??

Mich interessiert im Moment Zeile 24 und 28.
Leider habe ich noch keine passenden Befehle
bzw. Syntax gefunden.
Vielleicht kann ja Jemand helfen?

Gruß
Relbmessa
22
Softwareentwicklung / Re: OS Dev für die RaspPi
« am: 23. August 2013, 18:45 »
23
tyndur / Re: týndur einrichten unter Win7 64-bit
« am: 16. June 2013, 10:51 »
Hallo ,
die aktuelle Version für Raspberry-pi ist wheezy (Debian) und Andere.
-siehe raspberry website-

Gruß
Relbmessa
24
Offtopic / Männertag
« am: 09. May 2013, 01:14 »
Hura Männertag :-D
Einen Regenfreien Tag und viel Spass wünscht euch

Relbmessa  8-)
25
Lowlevel-Coding / Re: EHCI Asynchronous Schedule
« am: 17. April 2013, 00:03 »
Guten Morgen ,
hier nun der zweite Teil.
P_033: ;--------------------------------------------------------------------------; 
  mov byte [0xB8000+25*154-12+62*2], "C"
  mov byte [0xB8000+25*154-12+62*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !!
;---------------------------------------Queue Head C----------Vorbereitung Lesen (28h)-----------------------
   mov dword [0x00600400] , 0x00600402 ;00-03 Bit 02-01 Typ->hier QH Link Pointer
   mov dword [0x00600404] , 0x801F2201 ;07-04 Bit:13-12 1b-0b High-Speed+Bit-15(H) Bit-14 hig->DTC/Dev_addr/Cruzer+Kingston?
;  mov dword [0x00600404] , 0x801F6101 ;07-04 Bit:13-12 1b-0b High-Speed+Bit-15(H) Bit-14 hig->DTC/Dev_addr/General4Giga-F8-OK
   mov dword [0x00600408] , 0x40000000 ;0B-08 Mult Bit 31-30
   mov dword [0x0060040C] , 0x0 ;0F-0C Current qTD Pointer Bit 31-05
   mov dword [0x00600410] , 0x00600460 ;13-10 Next qTD Pointer    Bit 31-05
   mov dword [0x00600414] , 0x00000000 ;17-14 Alternate Next qTD Pointer Bit 31-05
;---------------------------------------------------------------------------------------
;----------------------TD-0-qTD Nr000----OUT----------------------------------------------------------------
   mov dword [0x00600460] , 0x006004A1 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T (A1)?
   mov dword [0x00600464] , 0x00000001 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
;  mov dword [0x00600468] , 0x00200080 ;dt=0/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->  OUT Token/Status (32d=20h)->Fehler
   mov dword [0x00600468] , 0x001F0C80 ;dt=0/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->  OUT Token/Status (31d=1Fh)->ok
   mov dword [0x0060046C] , 0x00600520 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x00600470] , 0x00601000 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x00600474] , 0x00602000 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x00600478] , 0x00603000 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x0060047C] , 0x00604000 ;Buffer Pointer (Page 4) Bit 31-12

;--------------------------qTD Nr001-----OUT--------------------------------------------
   mov dword [0x006004A0] , 0x006004E1 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T
   mov dword [0x006004A4] , 0x006004E1 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
   mov dword [0x006004A8] , 0x80000C80 ;dt=1/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->  OUT Token/Status->ok
   mov dword [0x006004AC] , 0x00700000 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x006004B0] , 0x00701000 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x006004B4] , 0x00702000 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x006004B8] , 0x00703000 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x006004BC] , 0x00704000 ;Buffer Pointer (Page 4) Bit 31-12

;---------------------------------------------------------------------------------------
;---------------------------------------Queue Head D----------LESEN--------------------------
   mov dword [0x00600600] , 0x00600602 ;00-03 Bit 02-01 Typ->hier QH Link Pointer
;  mov dword [0x00600604] , 0x820DA201 ;07-04 Bit:13-12 1b-0b High-Speed+Bit-15(H) Bit-14 hig->DTC/Device_address->General4Giga->ok
   mov dword [0x00600604] , 0x820DA101 ;07-04 Bit:13-12 1b-0b High-Speed+Bit-15(H) Bit-14 hig->DTC/Dev_addr->Acer-OK-Cruzer+Kingston?
   mov dword [0x00600608] , 0x40000000 ;0B-08 Mult Bit 31-30
   mov dword [0x0060060C] , 0x0 ;0F-0C Current qTD Pointer Bit 31-05
   mov dword [0x00600610] , 0x00600660 ;13-10 Next qTD Pointer    Bit 31-05
   mov dword [0x00600614] , 0x00000000 ;17-14 Alternate Next qTD Pointer Bit 31-05
;---------------------------------------------------------------------------------------
;----------------------TD-0-qTD Nr000----IN----------------------------------------------------------------
   mov dword [0x00600660] , 0x006006A0 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T
   mov dword [0x00600664] , 0x00000001 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
;  mov dword [0x00600668] , 0x02000180 ;dt=0/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->  IN  Token/Status
;  mov dword [0x00600668] , 0x02000D80 ;dt=0/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->  IN  Token/Status-ok
   mov dword [0x00600668] , 0x02000D80 ;dt=0/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->  IN  Token/Status-test
   mov dword [0x0060066C] , 0x00705000 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x00600670] , 0x00706000 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x00600674] , 0x00707000 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x00600678] , 0x00708000 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x0060067C] , 0x00709000 ;Buffer Pointer (Page 4) Bit 31-12
;--------------------------qTD Nr001-----IN----------------------------------------------
   mov dword [0x006006A0] , 0x006006E1 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T
   mov dword [0x006006A4] , 0x006006E1 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
;  mov dword [0x006006A8] , 0x82000180 ;dt=1/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID-> IN Token/Status Dh->13d
   mov dword [0x006006A8] , 0x800D0D80 ;dt=1/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID-> IN Token/Status-test
   mov dword [0x006006AC] , 0x0070A000 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x006006B0] , 0x0070B000 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x006006B4] , 0x0070C000 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x006006B8] , 0x0070D000 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x006006BC] , 0x0070E000 ;Buffer Pointer (Page 4) Bit 31-12
;--------------------------qTD Nr002-----IN----------------------------------------------
   mov dword [0x006006E0] , 0x00000001 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T
   mov dword [0x006006E4] , 0x00000001 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
;  mov dword [0x006006E8] , 0x02000180 ;dt=0/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID-> IN Token/Status
   mov dword [0x006006E8] , 0x02000D80 ;dt=0/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID-> IN Token/Status
   mov dword [0x006006EC] , 0x0070F000 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x006006F0] , 0x00710000 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x006006F4] , 0x00711000 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x006006F8] , 0x00712000 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x006006FC] , 0x00713000 ;Buffer Pointer (Page 4) Bit 31-12


;-------------------------------------------------------------------------
;-------------------------------------------------------------------------
;---------------------TD-0----Buffer für qTD Nr.000--------------------------------------------------------------
;---------Speicher-Einstellung-Buffer-Bereich erst mal Null------------------
    mov dword [0x00600520] , 0x43425355 ;                      ;01-04 Byte
    mov dword [0x00600524] , 0x78563412 ; ;05-08 Byte
    mov dword [0x00600528] , 0x00000200 ;TransferLength ->512 ;09-12 Byte
    mov byte  [0x0060052C] , 0x80 ;IN Gerät->Host ;13    Byte
    mov byte  [0x0060052D] , 0x0 ;LUN ;14    Byte
    mov byte  [0x0060052E] , 0x0A ;0A ?? ;15    Byte
    mov dword [0x0060052F] , 0x00000028 ;OP-Code 0x28 ;0x52 ;16-19 Byte
    mov dword [0x00600533] , 0x00000100 ;hier lesen Sector-2 ;20-23 Byte
    mov bl , [lesen_sector_nr]
    mov byte  [0x00600534] , bl   ;
    mov dword [0x00600537] , 0x00000001 ;1 Lexar ;24-27 Byte
    mov dword [0x0060053B] , 0x0 ;28-31 Byte  (1Fh)
;   mov byte  [0x0060053F] , 0x0 ;32    Byte  (20h) Fehler !
 
;-------------------------------------------------------------------------

;-------------------------------------------------------------------------
   mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret
;;;;;;;;;;;;;;;;;;;;-----------------------------------------;;;;;;;;;;;;;;
;--------------------------------------------------------------------------

;--------------------------------------------------------------------------
P_034:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+63*2], "D"
  mov byte [0xB8000+25*154-12+63*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !!
call P_031
;----------------------enable-Pointer---------------------------------------------
   mov dword [0x00600210] , 0x00600260 ;13-10 Next qTD Pointer    Bit 31-05 (P_025)
;-------------------------------------------------------------------------
    mov word [pause_aktiviert] , 2 ;10-8 ;
      mov dword [weiter_mit_p] , 0x04*35
;-------------------------------------------------------------------------
   mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret
;--------------------------------------------------------------------------------
P_035:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+64*2], "E"
  mov byte [0xB8000+25*154-12+64*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !!
;--------------------------------------------------------------------------
call P_033
   mov dword [0x00600200] , 0x00600402 ;00-03 Bit 02-01 Typ->hier QH Link Pointer (aktivieren)
;---------------------Parameter Pause-------------------------------------------
      mov word [pause_aktiviert] , 1 ;10-9 ;
      mov dword [weiter_mit_p] , 0x04*36
;-------------------------------------------------------------------------
   mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret
;-----------------------------------------------------------------------------
P_036:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+65*2], "F"
  mov byte [0xB8000+25*154-12+65*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !!
    mov dword [0x00600400] , 0x00600602 ;00-03 Bit 02-01 Typ->hier QH Link Pointer
 
;---------------------Parameter Pause-------------------------------------------
      mov word [pause_aktiviert] , 1 ;10-9 ;
      mov dword [weiter_mit_p] , 0x04*37

;-------------------------------------------------------------------------
   mov dword [Programm_auswahl] , 0x04*0 ;0x04*07 ;zurück setzen
ret
;--------------------------------------------------------------------------------
P_037:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+66*2], "G"
  mov byte [0xB8000+25*154-12+66*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !!
call P_031
;-------------------------------------
   mov dword [0x00600600] , 0x00600202 ;00-03 Bit 02-01 Typ->hier QH Link Pointer
;-------------------------------------------------------------------------
   mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret


Gruß
Relbmessa
26
Lowlevel-Coding / Re: EHCI Asynchronous Schedule
« am: 16. April 2013, 23:44 »
Gute Nacht ,
hier nun ein weiterer Baustein für Die die sich auch mit EHCI rumplagen. :?
Mein kleiner Programmausschnitt hilft vielleicht ein wenig weiter! :-D

Die Kommentare müssten als Erklärung wohl reichen.
Wenn nicht , üben,üben,üben oder Jemanden fragen der mehr Wissen angeäuft hat. :evil: 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;pm61S_P_350_Version-0.03.1_alpha/EHCI_port-0-Enumeration_Set_address-Set_configuraton
;-------------------------------------------------------------------------------------
;EHCI -> Asynchronous Schedule wird nach Programmstart aktiviert
;----------------------------------------------------------------------
;Enumeration -> set_address -> set_configuration  (hier Port-0)
;------------------------------INFO----------------------------------
;USB 2.0 Geräte---------------------(F2-OK)--------------------------
;Grundprogramm SanDisk Cruzer-4GIGA
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;USB 3.0 Geräte---------------------(F2-OK)---------------------------
;Transcend 32-GIGA
;SanDisk 64-GIGA Extreme
;;;;;;;;;;;;;;;;;;;;;;;;
;Info-Endpunkte---------
;EP-1  01 OUT
;EP-2 82 IN
;------------------------------INFO-ende------------------------------

;-----------------------------------------------------------------ENDE

;Info
;---------------------------------------------------------------------
;--------------------------------------------------------------------------
geraet_am_port_null dd  0 ;Value-0 -> kein Gerät am Port /Reg 44h PORTSC0 
;--------------------------------------------------------------------------
P_020: ;Test Gerät am Port-0  /Port und Status
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+49*2], "J"
  mov byte [0xB8000+25*154-12+49*2+1],0xAF
;-------------------------------------------------------------
;Hier Programm
;---------------------------------------------------------------------------
    mov eax , [0xFF27FC64]
    mov [geraet_am_port_null] , eax

;--------------------------------------------------------------
     mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret

;------------------------------------------------------------------

P_021:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+50*2], "1"
  mov byte [0xB8000+25*154-12+50*2+1],0xAF
;-------------------------------------------------------------------
;Hier Programm !!
;-------------------------------------------------------------------
    cmp byte [geraet_am_port_null] , 0x03
    je geraet_am_port_null_ja
;-------------------------------------------------------------------

      mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret
;--------------------------------------------------------------------------------
geraet_am_port_null_ja:
  mov eax , start_matrix_pointer  ;Ziel address
    xor ebx , ebx
    add eax  , 0+4+4+4+4+4   ;dword löschen Matrix-Pointer Nr6 P_021
    mov [eax] , ebx         ;wird auf Null gesetzt (P_000)
    ;---------------------Parameter Pause-------------------------------------------
      mov word [pause_aktiviert] , 200 ;
      mov dword [weiter_mit_p] , 0x04*22
      mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret

;--------------------------------------------------------------------------------
P_022:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+51*2], "2"
  mov byte [0xB8000+25*154-12+51*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !!
;-------------------------------------------------------------------------
    mov dword [0xFF27FC64] , 0x0100 ;EHCI. reset enable ->Port 0

;---------------------Parameter Pause-------------------------------------------
      mov word [pause_aktiviert] , 200 ;
      mov dword [weiter_mit_p] , 0x04*23

;-------------------------------------------------------------------------
   mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret
;-----------------------------------------------------------------------------
P_023:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+52*2], "3"
  mov byte [0xB8000+25*154-12+52*2+1],0xAF
;--------------------------------------------------------------------------
    mov dword [0xFF27FC64] , 0x1844 ;EHCI: reset disable u. resume ->Port 0
;-------------------------------------------------------------------------
;     mov dword [0xFF27FC64] , 0x0445 ;0x040 Test reset-aus ->Port 0 geht auch??
;-------------------------------------------------------------------------
;---------------------Parameter Pause-------------------------------------------
      mov word [pause_aktiviert] ,2 ;
      mov dword [weiter_mit_p] , 0x04*24


   mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret
;-----------------------------------------------------------------------------
;--------------------------------------------------------------------------
P_024:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+53*2], "4"
  mov byte [0xB8000+25*154-12+53*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !!
;-------------------------------Set_address----------------------------------------
    mov byte [0x00600010] , 0x60;Enable pointer 13-10 Next qTD Pointer    Bit 31-05   
;-------------------------------------------------------------------------

;---------------------Parameter Pause-------------------------------------------
      mov word [pause_aktiviert] ,2 ;
      mov dword [weiter_mit_p] , 0x04*25

   mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret

;--------------------------------------------------------------------------

P_025:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+54*2], "5"
  mov byte [0xB8000+25*154-12+54*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !!
    mov byte [0x00600010] , 0x61;disable pointer 13-10 Next qTD Pointer    Bit 31-05
;-------------------------------Set_Configuration------------------------------------
    mov byte [0x00600210] , 0x60;enable pointer 13-10 Next qTD Pointer    Bit 31-05   
;----------------------------------------------------------------------------------
   mov dword [0x00600000] , 0x00600202 ;00-03 Bit 02-01 Typ->hier QH Link Pointer (aktivieren)

;--------------------------------------------------------------------------
;---------------------Parameter Pause-------------------------------------------
      mov word [pause_aktiviert] ,2 ;
      mov dword [weiter_mit_p] , 0x04*26
;------------------------------------------------------
   mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret
;-----------------------------------------------------------------------------
P_026:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+55*2], "6"
  mov byte [0xB8000+25*154-12+55*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !! ZEIGER DISABLE

;-------------------------------Set_Configuration----------------------------------
   mov byte [0x00600210] , 0x61;disable pointer 13-10 Next qTD Pointer    Bit 31-05
;------------------------------------------------------------------------
   mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret
;--------------------------------------------------------------------------------

;---------------------------------------------------------------------
P_030: ;Asynchronous-Liste
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+59*2], "0"
  mov byte [0xB8000+25*154-12+59*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !!
;---------------------------------------Queue Head A------------------------------------
   mov dword [0x00600000] , 0x00600002 ;00-03 Bit 02-01 Typ->hier QH Link Pointer
   mov dword [0x00600004] , 0x8008E000 ;07-04 Bit:13-12 1b-0b High-Speed+Bit-15(H) Bit-14 hig->DTC/Dev_addr
   mov dword [0x00600008] , 0x40000000 ;0B-08 Mult Bit 31-30
   mov dword [0x0060000C] , 0x0 ;0F-0C Current qTD Pointer Bit 31-05
   mov dword [0x00600010] , 0x00600061 ;13-10 Next qTD Pointer    Bit 31-05
   mov dword [0x00600014] , 0x00000000 ;17-14 Alternate Next qTD Pointer Bit 31-05
;---------------------------------------------------------------------------------------
;----------------------TD-0-qTD Nr000---------------------------------------------------------------------
   mov dword [0x00600060] , 0x006000A0 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T
   mov dword [0x00600064] , 0x00000001 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
   mov dword [0x00600068] , 0x00080E80 ;dt=0/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->setup T/S
   mov dword [0x0060006C] , 0x00600120 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x00600070] , 0x00601000 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x00600074] , 0x00602000 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x00600078] , 0x00603000 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x0060007C] , 0x00604000 ;Buffer Pointer (Page 4) Bit 31-12

;--------------------------qTD Nr001-----IN--------------------------------------------
   mov dword [0x006000A0] , 0x006000E1 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T
   mov dword [0x006000A4] , 0x006000E1 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
   mov dword [0x006000A8] , 0x80000D80 ;dt=1/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID-> OUT T/S
   mov dword [0x006000AC] , 0x00 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x006000B0] , 0x00 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x006000B4] , 0x00 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x006000B8] , 0x00 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x006000BC] , 0x00 ;Buffer Pointer (Page 4) Bit 31-12

;-------------------------Buffer für qTD Nr.001--------------------------------------------------------------
;  mov dword [0x00600120] , 0x01000680 ;Get_Descriptor
;  mov dword [0x00600124] , 0x00400000 ;
;-------------------------------------------------------------
  mov dword [0x00600120] , 0x00010500 ;Set_address
  mov dword [0x00600124] , 0x00000000
;---------------------------------------------------------------------------------------

   mov dword [Programm_auswahl] , 0x04*31 ;zurück setzen-weiter nach
ret
;-----------------------------------------------------------------------------
P_031:
;--------------------------------------------------------------------------
  mov byte [0xB8000+25*154-12+60*2], "A"
  mov byte [0xB8000+25*154-12+60*2+1],0xAF
;--------------------------------------------------------------------------
;Hier Programm !!
;---------------------------------------Queue Head B------------------------------------
   mov dword [0x00600200] , 0x00600202 ;00-03 Bit 02-01 Typ->hier QH Link Pointer
   mov dword [0x00600204] , 0x0008E001 ;07-04 Bit:13-12 1b-0b High-Speed+Bit-15(H) Bit-14 hig->DTC/Dev_addr
   mov dword [0x00600208] , 0x40000000 ;0B-08 Mult Bit 31-30
   mov dword [0x0060020C] , 0x0 ;0F-0C Current qTD Pointer Bit 31-05
   mov dword [0x00600210] , 0x00600261 ;13-10 Next qTD Pointer    Bit 31-05 (P_025)
   mov dword [0x00600214] , 0x00000000 ;17-14 Alternate Next qTD Pointer Bit 31-05
;---------------------------------------------------------------------------------------
;----------------------TD-0-qTD Nr000---------------------------------------------------------------------
   mov dword [0x00600260] , 0x006002A0 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T Acer(A0)
   mov dword [0x00600264] , 0x00000001 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
   mov dword [0x00600268] , 0x00080E80 ;dt=0/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->setup Token/Status
   mov dword [0x0060026C] , 0x00600320 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x00600270] , 0x00601000 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x00600274] , 0x00602000 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x00600278] , 0x00603000 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x0060027C] , 0x00604000 ;Buffer Pointer (Page 4) Bit 31-12

;--------------------------qTD Nr001-----IN--------------------------------------------
   mov dword [0x006002A0] , 0x006002E1 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T
   mov dword [0x006002A4] , 0x006002E1 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
   mov dword [0x006002A8] , 0x80000D80 ;dt=1/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID-> IN Token/Status
   mov dword [0x006002AC] , 0x00 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x006002B0] , 0x00 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x006002B4] , 0x00 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x006002B8] , 0x00 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x006002BC] , 0x00 ;Buffer Pointer (Page 4) Bit 31-12

;-----------------------------------------------------------------
  mov dword [0x00600320] , 0x00010900 ;Set_configuration
  mov dword [0x00600324] , 0x00000000
 
;-------------------------------------------------------------------------
   mov dword [Programm_auswahl] , 0x04*0 ;zurück setzen
ret

;-----------------------------------------------------------------------------

Gruß Relbmessa

Pech gehabt-es paßt nicht rein :evil:
Rest dann Morgen :wink:



27
Lowlevel-Coding / Re: EHCI Asynchronous Schedule
« am: 10. March 2013, 12:20 »
Hallo ,
leider konnte keiner helfen. :?
Habe jetzt ein Buch gekauft! :evil:
Hier nun aber mein erstes Ergebnis.

folgender Beispiel Code antwortet mit dem Geräte-Descriptor  :-D;--------------------------------------;Asynchronous-Liste-----------------------------
;---------------------------------------Queue Head A------------------------------------
    mov dword [0x00600000] , 0x00600202 ;00-03 Bit 02-01 Typ->hier QH Link Pointer
    mov dword [0x00600004] , 0x8040E000 ;07-04 Bit:13-12 1b-0b High-Speed+Bit-15(H) Bit-14 hig->DTC
    mov dword [0x00600008] , 0x40000000 ;0B-08 Mult Bit 31-30
    mov dword [0x0060000C] , 0x0            ;0F-0C Current qTD Pointer Bit 31-05
    mov dword [0x00600010] , 0x00600061 ;13-10 Next qTD Pointer    Bit 31-05;/Point. muß aktiviert werden
    mov dword [0x00600014] , 0x00000001 ;17-14 Alternate Next qTD Pointer Bit 31-05
;---------------------------------------------------------------------------------------
;----------------------TD-0-------------------------------------------------------------
   mov dword [0x00600060] , 0x006000A0 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T
   mov dword [0x00600064] , 0x00000001 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
   mov dword [0x00600068] , 0x00080E80 ;dt=0/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->setup Token/Status
   mov dword [0x0060006C] , 0x00600120 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x00600070] , 0x00601000 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x00600074] , 0x00602000 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x00600078] , 0x00603000 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x0060007C] , 0x00604000 ;Buffer Pointer (Page 4) Bit 31-12

;--------------------------qTD Nr002-----IN--------------------------------------------
   mov dword [0x006000A0] , 0x006000E0 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T
   mov dword [0x006000A4] , 0x006000E0 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
   mov dword [0x006000A8] , 0x80400D80 ;dt=1/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->   IN Token/Status
   mov dword [0x006000AC] , 0x00600128 ;Buffer Pointer (Page 0) Bit 31-12
   mov dword [0x006000B0] , 0x00601000 ;Buffer Pointer (Page 1) Bit 31-12
   mov dword [0x006000B4] , 0x00602000 ;Buffer Pointer (Page 2) Bit 31-12
   mov dword [0x006000B8] , 0x00603000 ;Buffer Pointer (Page 3) Bit 31-12
   mov dword [0x006000BC] , 0x00604000 ;Buffer Pointer (Page 4) Bit 31-12
;--------------------------qTD Nr003-----IN--------------------------------------------
;   mov dword [0x006000E0] , 0x01 ;Next qTD Pointer Bit 31-05 /Bit 04-01-> Null /Bit 0 T
;   mov dword [0x006000E4] , 0x01 ;Alternat Next qTD Pointer  /Bit 04-01-> Null /Bit 0 T
;   mov dword [0x006000E8] , 0x80400D80 ;dt=1/Total-Bytes to Transfer/IOC/C_Page/Cerr/PID->   IN Token/Status
;   mov dword [0x006000EC] , 0x0 ;Buffer Pointer (Page 0) Bit 31-12
;   mov dword [0x006000F0] , 0x0 ;Buffer Pointer (Page 1) Bit 31-12
;   mov dword [0x006000F4] , 0x0 ;Buffer Pointer (Page 2) Bit 31-12
;   mov dword [0x006000F8] , 0x0 ;Buffer Pointer (Page 3) Bit 31-12
;   mov dword [0x006000FC] , 0x0 ;Buffer Pointer (Page 4) Bit 31-12
;---------------------------------------------------------------------------------------



;---------------------------------------Queue Head B------------------------------------
    mov dword [0x00600200] , 0x00600402 ;00-03 Bit 02-01 Typ->hier QH Link Pointer
    mov dword [0x00600204] , 0x80406000 ;07-04 Bit 13-12 0-0 FullSpeed +Bit-14 hig->DTC
    mov dword [0x00600208] , 0x40000000 ;0B-08 Mult Bit 31-30
    mov dword [0x0060020C] , 0x0                 ;0F-0C Current qTD Pointer Bit 31-05
    mov dword [0x00600210] , 0x00000001 ;13-10 Next qTD Pointer    Bit 31-05
    mov dword [0x00600214] , 0x00000001 ;17-14 Alternate Next qTD Pointer Bit 31-05
;---------------------------------------------------------------------------------------
;
;---------------------------------------Queue Head C------------------------------------
    mov dword [0x00600400] , 0x00600002 ;00-03 Bit 02-01 Typ->hier QH Link Pointer
    mov dword [0x00600404] , 0x80406000 ;07-04 Bit 13-12 0-0 FullSpeed +Bit-14 hig->DTC
    mov dword [0x00600408] , 0x40000000 ;0B-08 Mult Bit 31-30
    mov dword [0x0060040C] , 0x0                 ;0F-0C Current qTD Pointer Bit 31-05
    mov dword [0x00600410] , 0x00000001 ;13-10 Next qTD Pointer    Bit 31-05
    mov dword [0x00600414] , 0x00000001 ;17-14 Alternate Next qTD Pointer Bit 31-05
;---------------------------------------------------------------------------------------


;-------------------Transfer Descriptor------------------------------------------------
;--------------------------Blatt A-----------------------------------------------------


;-------------------------Buffer für qTD Nr.001--------------------------------------------------------------
  mov dword [0x00600120] , 0x01000680 ;Get_Descriptor
  mov dword [0x00600124] , 0x00400000 ;
;--------------- Hier--Set EHCI Register Current Asynronous-List-Address---------------------------------
;  mov dword [0xFF27FC38] , 0x00600000
   
;------------------------------
 

Zum Test verwendete ich:
Transzend 1Giga   ca. 5 Jahre alt ok
Transzend 8 Giga  ca. 3 Jahre alt ok
Acer          1Giga   ca. X Jahre alt ok

Kingston  4Giga                           negativ
Cruzer     4Giga                           negativ
(sind auch sehr lahm)

ich arbeite weiter :-P

Relbmessa
28
Lowlevel-Coding / EHCI Asynchronous Schedule
« am: 18. February 2013, 22:02 »
Hallo

ich bin gerade dabei mich mit EHCI zu beschäftigen. (Asynrchronous Bulk Control)

Meine Frage:

Wird der Current qTD Pointer vom Queue Head (EHCI-Spec. Seite-46 3/12/2002) als Zeiger eingetragen?
Ich habe eine einfache EHCI Daten Struktur gefunden und da ist der Current qTD Pointer Null!
Nun bin ich einwenig ratlos.
Vielleicht hat ja einer von euch einen Tipp für mich.   

Gruß
Relbmessa

 
29
OS-Design / Re: OS schreiben/Hilfe
« am: 03. January 2013, 14:36 »
Hallo Manello ,
gebe doch mal das Stichwort "MiniOS" im Suchfenster ein.
Vieleicht hilft es ja ein wenig weiter?

Gruß Relbmessa

PS
Ich bewundere deinen Traum.  :-D
Wenn du durchhälst werden deine Probleme , mit steigenden Wissen ,
immer größer werden.
Aber verliere nicht den Mut , dann warten viele Antworten und noch mehr Fragen auf DICH  :evil:
30
Offtopic / Re: Weihnachten!
« am: 23. December 2012, 22:05 »
Hallo euch Allen,
ein frohes Fest wünscht

Relbmessa
31
Lowlevel-Coding / Re: Von Festplatte booten
« am: 03. September 2012, 22:31 »
Hallo Dezimiert

Vielleicht findest du hier auch ein paar Hinweise-> WWW.henkessoft.de

viel Spass
Relbmessa :-D
32
Hallo,
Zur Frage ->Ja.

Du solltest im Wiki-Suchfenster einfach das Stichwort boot eingeben und die Artikel durcharbeiten->lesen :evil:

Fragen zum Code kann man nur mit Code beantworten. :?

Gruß
Relbmessa
33
Lowlevel-Coding / Re: SN9C202+OV9650
« am: 13. July 2012, 10:26 »
Danke :-P
Relbmessa
34
Lowlevel-Coding / Re: SN9C202+OV9650 Antwort und Frage
« am: 13. July 2012, 10:07 »
Hallo Svenska,
danke für die Anwort.

Keine Ahnung wie verlinken geht, war schon ärgerlich als die Textformartierung nicht stimmte.
Aber egal.

Welches enable meinst du?  -> Register vom OV ?

In den Unterlagen Steht bei RAW RGB Bayer Filter Color.-> Bayer Mosaic Filter ?

Die angebotenen Rohdaten sind dann wohl eher 16 Bit   Video-Port 10 Bit.

Deine kleine Darstellung für das Pixel hat aber meinen Blickwinkel verändert. :-D

Ich muß erst mal kramen  lumis (R G B) suchen und dann ein paar Experimente machen


Hier noch eine Camera Antwort. Eingestellt ist RAW RGB
FFFF00C4
C496CC00
10211010
21109224
923C703C
703C703D
343D343D
343D343D
343D3405
00490000
00000E00
0001BB01
BB01BB01
BB01BB01
BB000202
00010003
 
Ich tippe mal darauf dass der untere Bereich IR-Sensor sein könnte   
 
35
Offtopic / Re: Welchen Desktop benutzt ihr?
« am: 12. July 2012, 15:53 »
Hallo,
ich benutze zur Zeit  GNOME 2.30.2 mit Debian 6.?? KDE klemmt bei mir -plötzlich Internet weg-?????

Die KDE 4.6.5 mag ich mehr, aber Aptosid macht mir im Moment zu viele Probleme
-DATEN auf USB-Festplatte weg!!!!! Zum Glück rechtzeitig gemerkt-
Und geparted geht auch nicht auf meinen P4.

Gruß
Relbmessa   
36
Lowlevel-Coding / Re: SN9C202+OV9650 Antwort und Frage
« am: 12. July 2012, 12:23 »
Stimmt,
Ich habe Camera-bilddaten und  erst mal keine richtige Idee wie die Strucktur aufgebaut ist.
Und ja, leider proprietär!!
;----------------------------------------------------------------------------------------------------------------------------------
 OmniVision                                                                            Digital Signal Processor (DSP)
       
5.2 Color Matrix
       The color matrix is used to eliminate the cross talk induced by the micro-lens and color filter
       process. It also compensates for lighting and temperature effects. It also can be implemented for
       hue, color saturation, color space conversion from RGB to YUV or RGB to YCbCr.
   5.2.1 Color Matrix Control
       OV9650 has a 3x3 color matrix circuit inside. This color matrix performs the color correction and the
       RGB to YUV/YCbCr conversion. Also, because of the Matrix linear algebra characteristic, it can also
       do color gain and hue control as shown below:
       [YUV] = [Gain Matrix] × [Hue Matrix] × [RGB to YUV/YCbCr Matrix] × [Color correction] × [RGB]
       [YUV] = [Combined Matrix] [RGB]
       Table 5-2.     Color Matrix Related Registers and Parameters
                    Name                                       Register                         Address
          MTX1                          MTX1                                               0x4F
          MTX2                          MTX2                                               0x50
                                            MTX3                                               0x51
          MTX3
          MTX4                          MTX4                                               0x52
          MTX5                          MTX5                                               0x53
          MTX6                          MTX6                                               0x54
          MTX7                          MTX7                                               0x55
          MTX8                          MTX8                                               0x56
          MTX9                          MTX9                                               0x57
          SIGN                          MTXS[7:0] for MTX9 through MTX2, respectively      0x58
          SIGN                          HV[0] for MTX1                                     0x69
                                        COM13[4]
          ENABLE                                                                           0x3D
                                            0: Disable Matrix
                                            1: Enable Matrix
                                        COM16[1]
          DOUBLER                                                                          0x41
                                            0: Directly use Matrix
                                            1: Double Matrix
Version 1.1, December 7, 2004                                                                                 27
                                       Proprietary to OmniVision Technologies
;---------------------------------------------------------------------------------------------------------------------

Gruß
Relbmessa
37
Lowlevel-Coding / Re: SN9C202+OV9650 Antwort und Frage
« am: 12. July 2012, 10:05 »
Also,
SN9C202+OV9650 ist eine Webcam.
Der SN ist die Bridge (USB-Interface) und verbindet  den OV9650 CMOS Camerachip mit der Aussenwelt.

Das Problem sind wie immer die Unterlagen-> es gibt kaum welche.

Mittlerweile habe ich einiges zusammengetragen!
Wenn man mir sagt wie, kann ich sie gern zur Verfügung stellen, den es ist mehr als 128kB

Wie gefragt ,ist mein Problem die Camera Daten (RAW->Rohdaten bzw. RGB) in Bilddaten zu konvertieren.

Die Bilddaten von einer Colormatrix gebildet und ich hole sie über Bulk-tranfer. (Daten->zB. siehe oben)
   

   
38
Lowlevel-Coding / Re: SN9C202+OV9650 Antwort und Frage
« am: 12. July 2012, 09:29 »
Danke für die rege Anteilnahme 8-)
leider bin ich aber immer noch nicht weiter. :-(
Also ,wer kann helfen?

Gruß
Relbmessa
39
Lowlevel-Coding / Re: SN9C202+OV9650 Antwort und Frage
« am: 12. July 2012, 08:51 »
Sorry Svenska,
welchen Thread meinst Du?
Gibt es vielleicht einen Leitfaden den man beachten muß ?????

Gruß
Relbmessa   
40
Lowlevel-Coding / SN9C202+OV9650 Antwort und Frage
« am: 11. July 2012, 21:30 »
Hallo,
um unnötiges schreiben zu vermeiden (ich habe  noch den Beitrag vom 16 April im Gedächtnis)
hier erst mal den Zwischenstand.

Enumeration und Initialisierung der Bridge und des OV9650 werden erfolgreich durchgeführt.

Sollte jemand Interesse haben , können wir gern in Erfahrungsaustausch treten.

Und hier meine Frage: 
Über Bulk-Transfer erhalte ich auch Chip-Daten vom OV.

Dunkel:                                                                          Hell: (Heller ging nicht)
FFFF00C4                                                                      --Header dt.
C496CC00
10211010
21109224
92
------------- ENDE Header                                              ------------- ENDE Header
------------- DATEN(RGB eingestellt)                              ------------- DATEN (RGB->Reg 0x12,0x44)
  000000                                                                           10AC10
--usw.                                                                           ED10ED10
0000                                                                             F411 3511
------------- DATEN -ENDE                                             3510 F411
    0203                                                                        3511 3501
00010003                                                                    8A00 0000
------------- gesamt bulk 64 Byte                                  0000 0000   
                                                                                    2000 0000
                                                                                    0000 0000
                                                                                    0000 0000
                                                                                    0000
                                                                                    --------------ENDE DATEN
                                                                                    0203
                                                                                    0001 0003      FENSTER grösse
                                                                                    -------------gesamt bulk 64 Byte

Wie kann man jetzt im Prinzip Bilddaten erzeugen.?????  ->zB .ppm

So-> die Diskussion ist eröffnet und ich bitte um Teilnahme!!

Gruß
Relbmessa
 
Seiten: 1 [2] 3 4

Einloggen