编译设备驱动之前为什么需要预先编译内核?

请问,为什么在编译LED模块之前需要预先编译内核,而且需要把对应的目录填写到Makefile到KERN_DIR里面?

以前尝试过在树莓派里编写LED驱动,是这样编写的Makefile,KERN_DIR = /usr/src/linux-headers-xxx,像这样只提供头文件的位置不可以吗?

谢谢

请先 登录 后评论

最佳答案 2021-08-15 15:06

1.因为编译驱动时需要根据内核的选项来决定一些代码如何编译,比如是否有电源管理,是否有休眠唤醒。需要内核提前配置确认好,驱动才能知道是否要展开这些宏进行编译。

2.树莓派没有试过,你可以对比尝试。


请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,308 浏览
  • wzx 提出于 2021-08-12 17:58