1 license问题,Linux驱动必须有license,使用MODULE_LICENSE("GPL");解决
2 避免“名字空间污染”,模块动态链接进内核里,最好不要输出内核中的全局变量灯,解决方法:EXPORT_NO_SYMBOLS,使用此宏后的文件内容不能输出任何符号,EXPORT_SYMBOLS,强制输出某符号,可以输出static的符号,需要在EXPORT_NO_SYMBOLS使用之前使用。(所谓的输出符号,就是说外面的文件可以使用该变量)
3 模块之间的依赖问题
4 集成模块到内核
5 查看系统支持的设备:cat /proc/devices
6 dmesg查看系统的启动信息
7 查看设备的IO内存物理地址:cat /proc/ioports
8 查看正在使用的终端号:cat /proc/interrupt
转载请注明原文地址: https://ju.6miu.com/read-3419.html