Hvordan lager jeg en I2C Linux Input Device driver?
I2C (Intel-Integrated Circuit) er en type protokoll kalt en buss som brukes av datamaskinen hovedkort for å kommunisere med enheter. I2C protokollen er foreldet, men protokollen er fortsatt populær blant amatør maskinvare utbyggere fordi det er lett å implementere. Enhetsdrivere i Linux tolke I2C samtaler via I2C-kjerne som er inkludert i de fleste Linux-distribusjoner. Skrive en driver for en I2C inndataenhet på Linux krever programmerer for å importere I2C-core og starte enheten. Navn og adresse enheten skal gis av produsenten av enheten.
Bruksanvisning
1 Start terminal ved å trykke "Ctrl", "Alt" og "t" samtidig. Terminalen kommandovindu vil vises på skjermen.
2 Installer i2c-core hvis det ikke allerede er tilgjengelig på systemet. Ved ledeteksten skriver du inn "sudo apt-get install i2c-core", og trykk "Enter". Terminalen vil be for root-passordet, skriver du inn passordet og trykk "Enter". Terminalen vil installere i2c-kjernen.
3 Endre kataloger til koden bin. For eksempel, hvis kode bin holdes på "/ home / bin" type "cd / home / bin" ved ledeteksten, og trykk "Enter".
4 Launch "Gedit." Skriv "gedit" ved ledeteksten, og trykk "Enter".
5 Kopier følgende kode i Gedit vinduet:
inkluderer i2c-core.h
statisk struct i2c_device_id <unikt prefiks> _idtable [] = {
{ "<UNIQUE PREFIX>", <DEVICE ID> },
};
MODULE_DEVICE_TABLE (i2c, <unikt prefiks> _idtable);
statisk struct i2c_driver <unikt prefiks> _driver = {
.driver = {
.name = "& lt; unikt prefiks>",
}
.id_table = & lt; unikt prefiks> _ids,
.probe = & lt; unikt prefiks> _probe,
.Fjern = & lt; unikt prefiks> _remove,
}
static int __init <unikt prefiks> _init (void)
{
return i2c_add_driver(&<UNIQUE PREFIX>_driver);
}
static void __exit <unikt prefiks> _cleanup (void)
{
i2c_del_driver(&foo_driver);
}
<Unikt prefiks> _init ();
Bytt <ENHET ID> med ID-enheten som foreskrevet av produsenten. Bytt <unikt prefiks> med et relevant navn på sjåføren. Prefikset bør bestå av små bokstaver og ingen mellomrom. Bruk samme prefikset overalt at <unikt prefiks> oppstår.
6 Lagre koden ved å klikke på "File", "Lagre". Name it det samme som <unikt prefiks> fra forrige trinn med utvidelsen ".c". For eksempel, hvis din <unikt prefiks> "var" iicmouse "kaller filen" iicmouse.c ".
7 Lukk "gedit" vinduet ved å klikke på "x" i øvre høyre hjørne.
8 Kompilere enhetsdriveren. Ved ledeteksten skriver: "gcc -c ./<DRIVER FILE>" erstatte <DRIVER FILE> med navnet på filen du nettopp opprettet trykk "Enter". Sjåføren vil kompilere.
9 Plugg en I2C inndataenhet til en I2C port.
10 Skriv inn navnet på enhetsdriveren som du nettopp opprettet ved ledeteksten, og trykk deretter på "Enter". Enheten vil starte.