[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] Mem. mapped I/O



Hej Liste

>Hvorfor vil du ikke skrive en driver? Det er det mest naturlige når
du
>har med et stykke hardware at gøre at adskille dit program i en
hardware
>driver kernemodul, og et applikationsprogram. Ikke at forglemme den
>varme og bløde følelse man får af kerne programmering ;-)

>
>Desværre er kortet ISA. At programmere disse er som at få lavet
>rodbehandling og rygmarvsbiopsi på samme tid :( Ihvertfald
sammenlignet
>med PCI.


Ja jeg tænkte nok den ville komme;-)

Det er dette CAN-modul jeg bruger:
http://www.advantech.com/epc/products/pcm3680.htm

Det er et PC-104 modul - det er derfor vi bruger ISA-bussen! Jeg gik
bare ud fra at det ville glide lettere ned når jeg skrev ISA-bus.

APPLIKATIONEN:
Jeg bruger et realtids-patch til linux kernen (www.rtlinux.org) - så
man kan lave nogle realtids-processer der kommunikerer med
ikke-realtids-processer gennem shared-mem. eller nogle RT-Fifo'er.
Mit mål er at lave en RT-proces der poller på CAN-modulet med en eller
anden samplingfrekvens (måske 250 hz).
Mit krav det er real tid og RT-processerne kan ikke bruge alm. device
drivere (da RT-processer selv kører i kernelmode - RTLinux har magten
over maskinen og kan preempte alle andre processer).
Derfor bruger jeg ikke device driver.


>Jeg kunne ikke helt se det af din beskrivelse, men hvis hukommelses
>området ligger imellem 640kb-1MB området, ligesom fx. VGA
textbufferen,
>så er det ikke svært.


Ja der er her mit problem er! Hvordan ser jeg det?? Jeg har kun en
MEGET dårlig manual (pjece). Det vildeste der står er en hel tabel med
DIP-switch conf.

Address    A12    A13    A14    A15    A16    A17
C800H        on        on        on        off    on        on
C900H        off        on        on        off    on        on
CA00H        on        off        on        off    on        on
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
.  .  .  .
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
.  .  .  .
.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
.  .  .  .
EF00H        off         off        off         off    on        off



>
>Du skal blot benytte readb/writeb funktionerne til at tilgå
hukommelsen
>direkte. Det skyldes at dette område altid er reserveret, og ikke
bruges
>til alm. hukommelse,.

Der er også nogle der hedder inb og outb - men de bruges hvis det er
I/O port addresser - har jeg forstået det rigtigt???

Skal jeg ikke gøre noget i programmet for at mappe kortet ind i
hukommelsen??
Eller kan jeg bare tilgå det direkte, når jeg har sat DIP-switchene??


>Hvis addressen ligger i området 14-16MB, så er du på numser,
medmindre
>du har mindre end 14MB ram i maskinen, eller laver skumle
kerne-hacks.
>Da kortet er et CAN bus kort, lyder det til at være af nyere dato, så
>det bruger nok ikke dette område.

Det tror jeg heller ikke.


>"Linux Device Drivers" af Allesandro Rubini er en rigtig god bog,
omend
>den mest omhandler 2.0.x kerner, så er der forklaring til hvad der er
>anderledes i 2.1.43+

Den har jeg faktisk - men jeg mangler stadig lidt starthjælp;-)

Jeg regner med at bruge 2.0.36 kernen - fordi der findes et stabilt
real tids patch til denne.

Jeg skal heller ikke bruge X og alt muligt anden fancy, så det er ikke
så vigtig at være helt up to date - ang. kernen - det er vigtigere at
den er stabil.

>
>Mvh Morten
>

MVH
Mads




 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:07 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *