Dezvoltare drivere pentru Linux: Diferență între versiuni
Sari la navigare
Sari la căutare
Linia 3: | Linia 3: | ||
Pe măsură ce le adun, o să le și structurez mai bine. | Pe măsură ce le adun, o să le și structurez mai bine. | ||
=Dezvoltare drivere pentru Linux (Raspberry)= | =Dezvoltare drivere pentru Linux (Raspberry)= | ||
==Pregătiri== | |||
Mai întâi trebuie instalate header-ele pentru kernel: | Mai întâi trebuie instalate header-ele pentru kernel: | ||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
Linia 10: | Linia 11: | ||
<syntaxhighlight lang="shell"> | <syntaxhighlight lang="shell"> | ||
apt get install raspberrypi-kernel-headers | apt get install raspberrypi-kernel-headers | ||
</syntaxhighlight> | |||
==Un fișier ''Makefile'' simplu== | |||
<syntaxhighlight lang="c"> | |||
obj-m += hello-1.o | |||
all: | |||
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules | |||
clean: | |||
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Apoi: | Apoi: |
Versiunea de la data 28 iulie 2020 18:46
Aceste pagini conțin o colecție de informații necesare în special celor care doresc să programeze diverse pe Linux (sau Raspberry – fiindcă e același lucru). Am început să adun această documentație pentru dezvoltarea driverelor de care am nevoie pentru diferitele proiecte electronice pe Raspberry.
Pe măsură ce le adun, o să le și structurez mai bine.
Dezvoltare drivere pentru Linux (Raspberry)
Pregătiri
Mai întâi trebuie instalate header-ele pentru kernel:
sudo rpi-update stable
Apoi:
apt get install raspberrypi-kernel-headers
Un fișier Makefile simplu
obj-m += hello-1.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
Apoi:
tom@rpi-yo3iti:~/c/drivere/Salzman/01 $ make
make -C /lib/modules/5.4.51-v7l+/build M=/home/tom/c/drivere/Salzman/01 modules
make[1]: Entering directory '/usr/src/linux-headers-5.4.51-v7l+'
CC [M] /home/tom/c/drivere/Salzman/01/hello-1.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: modpost: missing MODULE_LICENSE() in /home/tom/c/drivere/Salzman/01/hello-1.o
see include/linux/module.h for more information
CC [M] /home/tom/c/drivere/Salzman/01/hello-1.mod.o
LD [M] /home/tom/c/drivere/Salzman/01/hello-1.ko
make[1]: Leaving directory '/usr/src/linux-headers-5.4.51-v7l+'