Драйвер устройства. Создать файл, Внешний модуль
Я пытаюсь кросс-компилировать модуль ядра helloworld (2.6.x) для архитектуры ARM на моем хосте intel x86.
Цепочка инструментов для ARM расположена по адресу: /home/vivek/ti-sdk-am335x-evm-05.07.00.00/linux-devkit/bin
Исходный код ядра находится по адресу: /home/vivek/Arago
hellow.c
а также Makefile
расположены на рабочем столе на /home/vivek/Desktop/hellodriver
Я дал путь для кросс-компилятора как /home/vivek/ti-sdk-am335x-evm-05.07.00.00/linux-devkit/bin
Мой Makefile выглядит следующим образом:
export ARCH=arm
export CROSS_COMPILE=arm-arago-linux-gnueabi-
obj-m =Hello.o
KDIR =/home/vivek/Arago
PWD = $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
По выполнению make
я получаю
vivek@ubuntu:~/Desktop/hellodriver$ make
make: Nothing to be done for `default'.
Что я делаю неправильно?
1 ответ
В вашем Makefile есть ошибка. Как ваше имя исходного кода hellow.c
, Но в вашем Makefile его Hello.o
,
Так что поменяй obj-m =Hello.o
в obj-m =hellow.o
И еще кое-что Etan Reisner
сказанное выше, убедитесь, что вы using Tab for command in Makefile
,