mirror of
https://github.com/ioacademy-jikim/kernel
synced 2025-06-07 16:06:20 +00:00
6
This commit is contained in:
parent
b09b250779
commit
74a4a217c7
@ -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
|
Binary file not shown.
1
01_day/.my_timer.ko.cmd
Normal file
1
01_day/.my_timer.ko.cmd
Normal 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
|
@ -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):
|
@ -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):
|
@ -1,2 +0,0 @@
|
||||
/root/android/my_test/01_day/module_2.ko
|
||||
/root/android/my_test/01_day/module_2.o
|
2
01_day/.tmp_versions/my_timer.mod
Normal file
2
01_day/.tmp_versions/my_timer.mod
Normal file
@ -0,0 +1,2 @@
|
||||
/root/android/my_test/01_day/my_timer.ko
|
||||
/root/android/my_test/01_day/my_timer.o
|
@ -1,4 +1,4 @@
|
||||
obj-m = module_2.o
|
||||
obj-m = my_timer.o
|
||||
KERNEL = /root/tegra
|
||||
PWD = $(shell pwd)
|
||||
|
||||
|
BIN
01_day/a.out
BIN
01_day/a.out
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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
67
01_day/my_timer.c
Normal 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
BIN
01_day/my_timer.ko
Normal file
Binary file not shown.
Binary file not shown.
BIN
01_day/my_timer.o
Normal file
BIN
01_day/my_timer.o
Normal file
Binary file not shown.
9
01_day/time.c
Normal file
9
01_day/time.c
Normal 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;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user