Kernel modules: raspicommrs485 - hi-im-milan/eurobot2k15 GitHub Wiki
raspicommrs485
za bildovanje ovog modula potrebno je imati iskompajliran kernel.
kompajliranje kernelna:
potrebno je:
-
skinuti [kernel] (https://github.com/raspberrypi/linux/tree/rpi-3.6.y)
-
imati odgovarajuci kompajler ( koji koiristimo i za bildovanje boost-a i app-a )
-
imati raspberry pi sa raspbianom 3.6.11++
-
ocistiti build direktorijum
`cd /path/to/kernel/source` `make mrproper`
-
kopirate sa raspberry pi config.gz raspakovati i kopirati u kernel source
`export KERNEL_SRC=/path/to/kernel/source` `scp [email protected]:/proc/config.gz /negde/na/linux/` (bolje ne u source jer ako budete radili ponovo mkproper izbrisace se config.gz file) `zcat config.gz > .config` `mv .config $KERNEL_SRC`
-
podesavanje kernel configa kopiranom config.gz-u
`export RPI_TOOLS_C=/path/to/compiler/binary/prefix-of-binary-` (path to compiler binary treba da se zavrsava sa - ne sa gcc ili g++ ) `make ARCH=arm CROSS_COMPILE=${RPI_TOOLS_C} oldconfig`
-
kompaliranje kernela
make ARCH=arm CROSS_COMPILE=${RPI_TOOLS_C}
-
kompajliranje modula
make ARCH=arm CROSS_COMPILE=${CCPREFIX} modules
kompajliranje kernel modula
-
makefile kreirati Makefile u source direktorijumu modula i u njega kopirati ( bice upload-ovan ali da ima i ovde )
obj-m += raspicommrs485.o
raspicommrs485-objs := module.o queue.o
all:
make ARCH=arm CROSS_COMPILE=${CCPREFIX} -C ${KERNEL_SRC} M=$(PWD) modules
clean:
make -C ${KERNEL_SRC} M=$(PWD) clean
-
kopajliranje
make
Insmodovanje
-
prebaciti kernel modul u raspberry pi (raspicommrs485.ko) i insmodovati
spc raspicommrs485.ko [email protected]:/somewhere
cd /somewhere
insmod raspicommrs485.ko
-
proveriti da li je insmodovanje proslo kako treba
dmesg
ako jeste trebalo bi da ispise raspicommrs485
i proveriti da li je generisan file tj da li postoji u sistemu /dev/ttyRPC
Pokretanje kernel modula pri boot-ovanju sistema
-
prekopiratti kernel modul u kernel
cp raspicommrs485 /lib/modules/$(uname -r)
-
dodati ga u /etc/modules
nano /etc/modules
...
raspicommrs485
...
-
pokrenuti depmod i modprobe
depmod -a
modprobe raspicommrs485