Драйвер устройства. Создать файл, Внешний модуль

Я пытаюсь кросс-компилировать модуль ядра 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,

Другие вопросы по тегам