驱动开发的需要做的三件事

本文深入探讨Linux内核驱动开发的关键环节,包括源码编写、kconfig文件配置及makefile构建过程。重点解释了头文件的重要性、数据结构与接口使用、特殊技巧及__attribute__特性的应用,同时阐述了kconfig与makefile之间的关系以及如何通过kconfig决定makefile编译选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、编写源码

1.源代码中的头文件

#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/devfs_fs_kernel.h>
#include <linux/miscdevice.h>
#include <linux/delay.h>
#include <asm/irq.h>
#include <asm/arch/regs-gpio.h>
#include <asm/hardware.h>

1)为什么需要包括config.h, 因为里面包括了编译器用到的条件编译宏,这里可以参考
linux内核配置机制 里面讲得非常详细,我们的kconfig,.config, autoconfig.h makefile,make menuconfig 等之间的关系。

2.驱动中用到的数据结构与内核接口


3.linux驱动加载用到的特殊技巧

4.linux 中的__attribute__一些特性,给我们带来了什么好处,常用用法是怎么样的? 

二、修改kconfig文件

1.kconfig 配置的基本语法

针对这一块,我们可以查看kconfig-language.txt 这个文件,里面详细讲解了kconfig文件的语法。

2.多个kconfig文件之间的关系如何,是如何建立起来的。


三、修改makefile文件

1.makefile的基本语法


2.makefile中的编译选项是如何决定的,与平台的交叉编译工具是如何连接在一起的


四、kconfig 与makefile, 源代码的关系是什么,kconfig是如何决定makefile编译选项的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值