Ответ 1
Чтобы скомпилировать собственный драйвер в архитектуре руки, вы должны выполнить некоторые шаги, как указано ниже.
-
Создайте такой каталог, как my_drvr внутри драйверов (который находится в исходном коде Linux) для вашего драйвера, и поместите файл драйвера (my_driver.c) в этот каталог. Это будет выглядеть
/linux_source_code/drivers/my_drvr/my_driver.c
-
Создайте один Makefile внутри каталога вашего драйвера (с помощью vi любого редактора) и внутри этого put
obj-$(CONFIG_MY_DRIVER) += my_driver.o
и сохраните этот файл. Это будет выглядеть как/linux_source_code/drivers/my_drvr/Makefile
-
Создайте один
Kconfig
файл внутри вашего каталога драйверов (используя vi любой редактор) и внутри этого кланаconfig MY_DRIVER tristate "my driver" //gives your driver description like vendor name etc. depends on ARM default y if ARM help my driver module.
-
Сохраните этот файл, это будет выглядеть как
/linux_source_code/drivers/my_drvr/Kconfig
-
Добавьте файлы
Makefile
иKconfig
в файлы исходных драйверов LinuxMakefile
иKconfig
, которые находятся в/linux_source_code/drivers/Makefile
и/linux_source_code/drivers/Kconfig
-
В Makefile добавить ниже в последней строке
obj-y += my_drvr/
или
obj-$(CONFIG_MY_DRIVER) += my_drvr/
-
В файле Kconfig добавьте ниже в последней строке
source "drivers/my_drvr/Kconfig"
-
Наконец, нужно добавить файл
Kconfig
в конфигурационный файл конфигурации, который будет находиться вkernel_source/arch/arm/configs/--defconfig
в этой строке ниже в последнемCONFIG_MY_DRIVER=y
Примечание. - Последний шаг будет отличаться в зависимости от вашей архитектуры, чтобы вы позаботились. Теперь вы можете скомпилировать свой драйвер, используя команду make. (например: sun7i_defconfig)