1
0
mirror of https://github.com/ioacademy-jikim/kernel synced 2025-06-07 16:06:20 +00:00
This commit is contained in:
Your Name 2017-11-13 15:57:49 +09:00
parent b09b250779
commit 74a4a217c7
18 changed files with 91 additions and 43 deletions

View File

@ -1 +0,0 @@
cmd_/root/android/my_test/01_day/module_2.ko := aarch64-linux-android-ld -EL -r -T /root/tegra/scripts/module-common.lds --build-id -o /root/android/my_test/01_day/module_2.ko /root/android/my_test/01_day/module_2.o /root/android/my_test/01_day/module_2.mod.o

1
01_day/.my_timer.ko.cmd Normal file
View File

@ -0,0 +1 @@
cmd_/root/android/my_test/01_day/my_timer.ko := aarch64-linux-android-ld -EL -r -T /root/tegra/scripts/module-common.lds --build-id -o /root/android/my_test/01_day/my_timer.ko /root/android/my_test/01_day/my_timer.o /root/android/my_test/01_day/my_timer.mod.o

View File

@ -1,8 +1,8 @@
cmd_/root/android/my_test/01_day/module_2.mod.o := aarch64-linux-android-gcc -Wp,-MD,/root/android/my_test/01_day/.module_2.mod.o.d -nostdinc -isystem /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/../lib/gcc/aarch64-linux-android/4.9/include -I/root/tegra/arch/arm64/include -Iarch/arm64/include/generated -Iinclude -I/root/tegra/arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I/root/tegra/include/uapi -Iinclude/generated/uapi -include /root/tegra/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-tegra/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -std=gnu89 -O2 -fconserve-stack -mgeneral-regs-only -fno-pic -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(module_2.mod)" -D"KBUILD_MODNAME=KBUILD_STR(module_2)" -DMODULE -c -o /root/android/my_test/01_day/module_2.mod.o /root/android/my_test/01_day/module_2.mod.c
cmd_/root/android/my_test/01_day/my_timer.mod.o := aarch64-linux-android-gcc -Wp,-MD,/root/android/my_test/01_day/.my_timer.mod.o.d -nostdinc -isystem /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/../lib/gcc/aarch64-linux-android/4.9/include -I/root/tegra/arch/arm64/include -Iarch/arm64/include/generated -Iinclude -I/root/tegra/arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I/root/tegra/include/uapi -Iinclude/generated/uapi -include /root/tegra/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-tegra/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -std=gnu89 -O2 -fconserve-stack -mgeneral-regs-only -fno-pic -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(my_timer.mod)" -D"KBUILD_MODNAME=KBUILD_STR(my_timer)" -DMODULE -c -o /root/android/my_test/01_day/my_timer.mod.o /root/android/my_test/01_day/my_timer.mod.c
source_/root/android/my_test/01_day/module_2.mod.o := /root/android/my_test/01_day/module_2.mod.c
source_/root/android/my_test/01_day/my_timer.mod.o := /root/android/my_test/01_day/my_timer.mod.c
deps_/root/android/my_test/01_day/module_2.mod.o := \
deps_/root/android/my_test/01_day/my_timer.mod.o := \
$(wildcard include/config/module/unload.h) \
include/linux/module.h \
$(wildcard include/config/sysfs.h) \
@ -574,6 +574,6 @@ deps_/root/android/my_test/01_day/module_2.mod.o := \
include/linux/vermagic.h \
include/generated/utsrelease.h \
/root/android/my_test/01_day/module_2.mod.o: $(deps_/root/android/my_test/01_day/module_2.mod.o)
/root/android/my_test/01_day/my_timer.mod.o: $(deps_/root/android/my_test/01_day/my_timer.mod.o)
$(deps_/root/android/my_test/01_day/module_2.mod.o):
$(deps_/root/android/my_test/01_day/my_timer.mod.o):

View File

@ -1,8 +1,8 @@
cmd_/root/android/my_test/01_day/module_2.o := aarch64-linux-android-gcc -Wp,-MD,/root/android/my_test/01_day/.module_2.o.d -nostdinc -isystem /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/../lib/gcc/aarch64-linux-android/4.9/include -I/root/tegra/arch/arm64/include -Iarch/arm64/include/generated -Iinclude -I/root/tegra/arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I/root/tegra/include/uapi -Iinclude/generated/uapi -include /root/tegra/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-tegra/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -std=gnu89 -O2 -fconserve-stack -mgeneral-regs-only -fno-pic -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -DCC_HAVE_ASM_GOTO -DMODULE -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(module_2)" -D"KBUILD_MODNAME=KBUILD_STR(module_2)" -c -o /root/android/my_test/01_day/module_2.o /root/android/my_test/01_day/module_2.c
cmd_/root/android/my_test/01_day/my_timer.o := aarch64-linux-android-gcc -Wp,-MD,/root/android/my_test/01_day/.my_timer.o.d -nostdinc -isystem /root/android/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/../lib/gcc/aarch64-linux-android/4.9/include -I/root/tegra/arch/arm64/include -Iarch/arm64/include/generated -Iinclude -I/root/tegra/arch/arm64/include/uapi -Iarch/arm64/include/generated/uapi -I/root/tegra/include/uapi -Iinclude/generated/uapi -include /root/tegra/include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-tegra/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -std=gnu89 -O2 -fconserve-stack -mgeneral-regs-only -fno-pic -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -DCC_HAVE_ASM_GOTO -DMODULE -D"KBUILD_STR(s)=\#s" -D"KBUILD_BASENAME=KBUILD_STR(my_timer)" -D"KBUILD_MODNAME=KBUILD_STR(my_timer)" -c -o /root/android/my_test/01_day/my_timer.o /root/android/my_test/01_day/my_timer.c
source_/root/android/my_test/01_day/module_2.o := /root/android/my_test/01_day/module_2.c
source_/root/android/my_test/01_day/my_timer.o := /root/android/my_test/01_day/my_timer.c
deps_/root/android/my_test/01_day/module_2.o := \
deps_/root/android/my_test/01_day/my_timer.o := \
include/linux/module.h \
$(wildcard include/config/sysfs.h) \
$(wildcard include/config/modules.h) \
@ -571,35 +571,7 @@ deps_/root/android/my_test/01_day/module_2.o := \
$(wildcard include/config/have/mod/arch/specific.h) \
$(wildcard include/config/modules/use/elf/rel.h) \
$(wildcard include/config/modules/use/elf/rela.h) \
include/linux/gpio.h \
$(wildcard include/config/gpiolib.h) \
$(wildcard include/config/arch/have/custom/gpio/h.h) \
/root/tegra/arch/arm64/include/asm/gpio.h \
$(wildcard include/config/arch/nr/gpio.h) \
$(wildcard include/config/need/mach/gpio/h.h) \
include/asm-generic/gpio.h \
$(wildcard include/config/of/gpio.h) \
$(wildcard include/config/of.h) \
$(wildcard include/config/pinctrl.h) \
$(wildcard include/config/gpio/sysfs.h) \
include/linux/of.h \
$(wildcard include/config/sparc.h) \
$(wildcard include/config/of/dynamic.h) \
$(wildcard include/config/attach/node.h) \
$(wildcard include/config/detach/node.h) \
$(wildcard include/config/add/property.h) \
$(wildcard include/config/remove/property.h) \
$(wildcard include/config/update/property.h) \
$(wildcard include/config/proc/devicetree.h) \
include/linux/mod_devicetable.h \
include/linux/uuid.h \
include/uapi/linux/uuid.h \
/root/tegra/arch/arm64/include/asm/prom.h \
include/linux/pinctrl/pinctrl.h \
include/linux/radix-tree.h \
include/linux/seq_file.h \
include/linux/pinctrl/pinctrl-state.h \
/root/android/my_test/01_day/module_2.o: $(deps_/root/android/my_test/01_day/module_2.o)
/root/android/my_test/01_day/my_timer.o: $(deps_/root/android/my_test/01_day/my_timer.o)
$(deps_/root/android/my_test/01_day/module_2.o):
$(deps_/root/android/my_test/01_day/my_timer.o):

View File

@ -1,2 +0,0 @@
/root/android/my_test/01_day/module_2.ko
/root/android/my_test/01_day/module_2.o

View File

@ -0,0 +1,2 @@
/root/android/my_test/01_day/my_timer.ko
/root/android/my_test/01_day/my_timer.o

View File

@ -1,4 +1,4 @@
obj-m = module_2.o
obj-m = my_timer.o
KERNEL = /root/tegra
PWD = $(shell pwd)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
kernel//root/android/my_test/01_day/module_2.ko
kernel//root/android/my_test/01_day/my_timer.ko

67
01_day/my_timer.c Normal file
View File

@ -0,0 +1,67 @@
#if 1
#include <linux/module.h> // init_module, cleanup_module
#include <linux/kernel.h> // printk
#include <linux/timer.h> // timer 계열
static struct timer_list timer;
void my_timer_handler( unsigned long data )
{
printk("my_timer_handler(%lu)\n", data );
timer.data = data+1;
mod_timer( &timer, jiffies + 1*HZ);
}
int my_init(void)
{
printk("my_init\n");
init_timer(&timer);
timer.expires = jiffies + HZ;
// 현재시간 으로부터 1 초
timer.function = my_timer_handler;
timer.data = 0;
add_timer(&timer);
return 0;
}
void my_exit(void)
{
del_timer(&timer);
printk("my_exit\n");
}
module_init( my_init );
module_exit( my_exit );
MODULE_LICENSE("GPL");
#endif
#if 0
#include <linux/module.h> // init_module, cleanup_module
#include <linux/kernel.h> // printk
#include <linux/timer.h> // timer 계열
static struct timer_list timer;
void my_timer_handler( unsigned long data )
{
printk("my_timer_handler(%lu)\n", data );
}
int my_init(void)
{
printk("my_init\n");
init_timer(&timer);
timer.expires = jiffies + 3*HZ;
// 현재시간 으로부터 3 초
timer.function = my_timer_handler;
timer.data = 0;
add_timer(&timer);
return 0;
}
void my_exit(void)
{
del_timer(&timer);
printk("my_exit\n");
}
module_init( my_init );
module_exit( my_exit );
MODULE_LICENSE("GPL");
#endif

BIN
01_day/my_timer.ko Normal file

Binary file not shown.

BIN
01_day/my_timer.o Normal file

Binary file not shown.

9
01_day/time.c Normal file
View File

@ -0,0 +1,9 @@
#include <time.h>
#include <stdio.h>
int main()
{
time_t now;
now = time(0);
printf("now = %lu\n", now );
return 0;
}