2

我想禁用或删除 8250.c(低级 UART 驱动程序)模块并在基本功能上实现相同的功能,以便它执行来自用户空间的读写请求

这是我的问题:

  1. 如何删除/禁用 8250.0 模块
  2. 如果可能的话,给我一些参考链接/示例来实现具有基本功能的 8250 驱动程序。

我是Linux设备驱动程序的新手,如果我错了,请原谅。我用谷歌搜索了很多,但没有得到正确的解决方案

4

1 回答 1

2

回答 1) 如果您当前的系统已将 8250 驱动程序构建为模块,只需将其卸载:

$ lsmod | grep 8250
# rmmod 8250-driver-name

(我没有检查司机的确切姓名)

如果您当前的系统在内核中构建了 8250 驱动程序(或者您正在为新系统构建 Linux 内核),则必须编译内核。您必须编辑您当前的配置结束删除驱动程序。您可以使用:

$ make xconfig

或者

$ make menuconfig

对于图形界面(在 Linux 内核源代码中的这些命令上运行一个)。您也可以手动编辑.config文件并删除驱动程序

 CONFIG_SERIAL_8250=n

或通过设置将其编译为模块:

 CONFIG_SERIAL_8250=m

(不推荐用于此驱动,请使用 xconfig 或 menuconfig 阅读文档)

如果你已经有一个工作配置文件,你可以将它复制到你的内核源代码中.config

cp /path/to/you/config/file /path/to/your/kernel/source/.config

然后,如上编辑字段 CONFIG_SERIAL_8250。

回答 2) 我可以链接的最佳示例是8250.c 驱动程序。但是如果你想学习如何开发 Linux 驱动,你可以阅读Linux Device Driver

于 2013-04-12T20:18:40.527 回答