Keresés

Új hozzászólás Aktív témák

  • Fiery

    veterán

    Ez egy iszonyu osszetett tema... Windows alatt a szenzor altal mert ertekek kiolvasashoz az alabbiak szuksegesek:

    1) Kernel driver (akarmi.sys, akarmi.vxd), kulon meg kell irni Windows 9x-re, 32 bites NT kernelre (NT4/2000/XP/2003), valamint -- amennyiben szukseges -- 64 bites NT kernelre is (XP/2003). Kernel drivert Visual C-ben lehet irni, es kell hozza egy DDK is (Driver Development Kit). DDK-bol van Win98-as es Windows 2003-as, mindketto kell, amennyiben minden Windows ala kell kernel drivert irni.

    2) Ha megvan a kernel driver, akkor abba be kell tolni egy port I/O rutin keszletet, vagyis meg kell oldani az OUT es IN gepi kodu utasitasokat Windows alatt, kernel driverbol. A kernel driver interfeszen keresztul igy egy hagyomanyos 32 vagy 64 bites Windows alkalmazasbol mar tudsz portokat birizgalni, ami kell majd a szenzor tamogatashoz.

    3) Ha fullos szenzor infot akarsz, akkor ahhoz a port I/O-n tul szukseged lesz SMBus tamogatasra is. Az SMBus tamogatast minden deli hidra (south bridge) kulon meg kell irnod, vagyis van kb. 7-8 fele altalanos rutin, amiket szepen mindet meg kell irni ahhoz, hogy az alaplapok tulnyomo tobbsegen mukodjon a dolog.

    Ilyen altalanos SMBus rutinok:

    - Intel/VIA/ATI/ServerWorks: az osszes Intel/VIA/ServerWorks chipsethez kell egy altalanos rutin, ami a legujabb ATI chipseteken is mukodik. Nem egy nagy feladat, van hozza doksi (leginkabb az Intel deli hidjainak doksija, lasd ICH/ICH2/3/4/5/6).

    - SiS: az osszes SiS chipsethez kell egy masik altalanos rutin, ami nem egyezik meg az elozovel termeszetesen.

    - ALi: az M1535D+ deli hidhoz kell egy rutin

    - ULi: az M1563/1567/1573 deli hidakhoz is kell egy rutin

    - AMD: az AMD chipsetekhez is kell egy rutin

    - nForce1/2: kell ezekhez is egy-egy rutin :) Az utobbi jo az nForce3/4-hez is

    4) Ha kesz az SMBus tamogatas, es kepes a programod a teljes SMBust vegigpasztazni, akkor mar finisben vagy, mar csak minden egyes szenzor chiphez le kell toltened a datasheet-et, atbongeszni, megkeresni a regisztereket es azok jelenteset, majd a regiszter ertekeket ertelmezni es kiirni az eredmenyt a kepernyore. Szenzor chipbol legalabb 150 fele van, ebbol az EVEREST kb. 80-at tamogat.

    5) Bizonyos szenzor chipeknel nem kell az SMBus-os hercehurca, sima port I/O-val is kiolvashatoak a regiszterek, a 0x290-es ISA portrol.

    ---

    Es hogy mondjak valami biztatot is: amennyiben megirsz minden szukseges rutint, a kernel drivert, es atragod magad az osszes doksin, valamint az egyes alaplapokhoz is hozzaigazitod a szenzor rutinjaidat, akkor a vegen kapsz egy bestialis meretu kodot, ami pl. az EVEREST-ben kb. 10 ezer sor hosszusagu.


    Fiery

Új hozzászólás Aktív témák