Я хочу получить доступ к некоторым регистрам моей платы ARM Cortex-A8, которые по умолчанию находятся в недоступном состоянии. На этой плате работает Ubuntu 9.10 . Поэтому, чтобы получить к ним доступ, мне нужно сначала изменить 1 другие настройки регистра (Allow-access-register). Чтобы изменить этот Allow-access-register, я обнаружил, что должен делать это только в режиме ядра, а не в режиме пользователя.
Итак, я упомянул, как программировать в режиме ядра, и попал в этот замечательный учебник . Я написал эту маленькую hello world программу и файл make. Обратите внимание, что я все еще запускаю эту программу на моем рабочем столе x86 (Ubutnu 10.04), а не на YET на моем процессоре ARM. Пока я не научусь программировать на уровне ядра.
Я получаю эти ошибки. Что здесь не так?
Помощь!
Ошибки, которые я получаю на своей плате i.MX515
ubuntu@ubuntu-desktop:~/Documents/Kernel_Programming$ make
make -C /lib/modules/2.6.31-203-gee1fdae/build M=/home/ubuntu/Documents/Kernel_Programming modules
make[1]: Entering directory `/usr/src/linux'
make[1]: *** No rule to make target `modules'. Stop.
make[1]: Leaving directory `/usr/src/linux'
make: *** [all] Error 2
Ошибки, которые я получаю
ubuntu@ubuntu-desktop:~/Documents$ make
make -C /lib/modules/2.6.32-23-generic/build M=/home/ubuntu/Documents modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-23-generic'
make[2]: *** No rule to make target `/home/ubuntu/Documents/hello-1.c',
needed by `/home/ubuntu/Documents/hello-1.o'. Stop.
make[1]: *** [_module_/home/ubuntu/Documents] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-23-generic'
make: *** [all] Error 2
Программа
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
printk(KERN_INFO "\nHello World! I'm programming in Kernel Mode\n");
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "\nBye Bye blue bird\n");
}
Makefile
obj-m +=hello-1.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean