Для платы lpc3250 нам пришлось разработать модуль ядра Linux для управления выходом ШИМ.Я создал вспомогательный модуль, который содержит такие методы, как PMW1_ENABLE, который устанавливает правильный бит в 1.
К сожалению, у меня возникают проблемы при создании нескольких файлов .c и .h.Когда я помещаю весь код всего в 1 файл, решение работает отлично.Когда я аккуратно разделяю его на дополнительные файлы .c и .h, происходит что-то странное.Даже просто операторы printk не отображаются на консоли.
Самая странная часть, во время кросс-компиляции, никаких ошибок не отображается, поэтому похоже, что двоичный файл в порядке, но это не так.
Это звучит знакомо?Может ли это быть проблемой с моим make-файлом?
ARCH := arm
CROSS_COMPILE := /usr/local/xtools/arm-unknown-linux-uclibcgnueabi/bin/arm-linux-
CC= $(CROSS_COMPILE)gcc
obj-m := pwmdriver.o
pwmdriver-objs := pwmhelper.o pwmdriver.o
KDIR := /home/student/felabs/sysdev/tinysystem/linux-2.6.34
WORKINGDIRFIXED := /home/student/PRT/5_AssigPWM
export
all:
$(MAKE) -C $(KDIR) M=$(WORKINGDIRFIXED) modules
clean:
$(MAKE) -C $(KDIR) M=$(WORKINGDIRFIXED) clean