linux驱动编程注意事项

    xiaoxiao2021-03-25  149

    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

    最新回复(0)