部署内核模块
使用 RealEvo-IDE 的一键部署功能可以将上一步编译的内核模块文件(本例为“module_demo.ko”)下载到 “/lib/modules” 目录,配置方法如下:右键 mod_demo 工程 ,选择菜单 Properties 打开工程属性页,选择 SylixOS Project > Device Setting 选项卡查看或更改部署配置。在创建 SylixOS Kernel Module 工程时,RealEvo-IDE 默认会添加工程当前配置输出文件夹下与工程名同名的文件到文件列表,如下图所示。
设置完成后,右键工程,选择菜单 SylixOS > Upload 部署工程。
在 SylixOS shell 上,运行 modulereg 命令加载内核模块,然后使用 modules 命令查看当前已经加载的内核模块,并可以获得模块句柄(“HANDLE”部分),根据获取到的模块句柄,使用 moduleunreg 命令可卸载内核模块。
[root@sylixos:/]# cd /lib/modules/
[root@sylixos:/lib/modules]# ll
-rwxr-xr-x root root Tue Mar 14 19:59:03 2023 1384 B, module_demo.ko
-rwxr-xr-x root root Fri Jul 08 17:37:28 2022 4380 B, xtimer.ko
-rwxr-xr-x root root Fri Jul 08 17:37:28 2022 24KB, xsiipc.ko
-rwxr-xr-x root root Fri Jul 08 17:37:28 2022 12KB, xinput.ko
drwxr-xr-- root root Fri Jul 08 17:37:22 2022 drivers/
total items: 5
[root@sylixos:/lib/modules]# modulereg module_demo.ko
hello_module init!
module module_demo.ko register ok, handle: 0x312be278
[root@sylixos:/lib/modules]# modules
NAME HANDLE TYPE GLB BASE SIZE SYMCNT
------------------------- -------- ------ --- -------- -------- ------
VPROC: kernel pid: 0 TOTAL MEM: 49152
+ xsiipc.ko 312bcee0 KERNEL YES 60008000 4a0c 14
+ xinput.ko 312c67a0 KERNEL YES 60006000 1a44 1
+ module_demo.ko 312be278 KERNEL YES 60010000 c8 2
total modules: 3
[root@sylixos:/lib/modules]# moduleunreg 312be278
hello_module exit!
module /lib/modules/module_demo.ko unregister ok.
[root@sylixos:/lib/modules]#