驱动操作 驱动移植试验和Source Insight添加项目

目录

驱动移植

》1.需要有一个驱动对应的 .c代码

》2.将.c文件放入到对应的文件夹内

》3.修改Makefile文件

》4.修改Kconfig菜单

》5.到顶层目录配置自己驱动

》6.编译成模块

》7.此时用的开发板上内核的编译器,安装得到开发板上进行安装

》8.在开发板上进行安装

Source Insight 基础使用手册

》1.添加工程到Source Insight

》2.修改索引设置

》3.工程同步


驱动移植

》1.需要有一个驱动对应的 .c代码

本文使用lcd.c进行试验,自己随意创建一个即可

注:在试验环节lcd.c内部必须为空

》2.将.c文件放入到对应的文件夹内

我放的路径是/home/hq/temp/kernel-3.4.39/drivers/char

路径解析:内核源码下(kernel-3.4.39)的设备文件夹(drivers)的字符设备(char

驱动操作 驱动移植试验和Source Insight添加项目_第1张图片

》3.修改Makefile文件

注:修改的Makefile文件是kernel-3.4.39/drivers/char下的Makefile

驱动操作 驱动移植试验和Source Insight添加项目_第2张图片

在Makefile中添加

obj-$(CONFIG_LCD) +=lcd.o

驱动操作 驱动移植试验和Source Insight添加项目_第3张图片

保存退出

》4.修改Kconfig菜单

注:修改的Kconfig文件是kernel-3.4.39/drivers/char下的Kconfig

驱动操作 驱动移植试验和Source Insight添加项目_第4张图片

在Kconfig中添加

config LCD

tristate "this is my LCD"

驱动操作 驱动移植试验和Source Insight添加项目_第5张图片

保存退出

》5.到顶层目录配置自己驱动

注:在kernel-3.4.39文件下执行make menuconfig

驱动操作 驱动移植试验和Source Insight添加项目_第6张图片

执行成功后会弹出

驱动操作 驱动移植试验和Source Insight添加项目_第7张图片

进行如下操作

》6.编译成模块

注:在kernel-3.4.39文件下执行make modules

驱动操作 驱动移植试验和Source Insight添加项目_第8张图片

执行成功后会得到 lcd.ko 文件

驱动操作 驱动移植试验和Source Insight添加项目_第9张图片

路径是kernel-3.4.39/drivers/char

》7.此时用的开发板上内核的编译器,安装得到开发板上进行安装

来到kernel-3.4.39/drivers/char路径,找到对应的lcd.o文件

驱动操作 驱动移植试验和Source Insight添加项目_第10张图片

作者此时的开发板根文件系统已经挂载到nfs工作路径下,只需将lcd.ko复制到nfs工作路径下即可

注:关于如何挂载nfs,作者有别的文章介绍

驱动操作 驱动移植试验和Source Insight添加项目_第11张图片

》8.在开发板上进行安装

可以看到lcd.ko已经同步过来了

驱动操作 驱动移植试验和Source Insight添加项目_第12张图片

在开发板根文件系统执行

insmod lcd.ko

安装驱动

驱动操作 驱动移植试验和Source Insight添加项目_第13张图片

会得到这个提示,因为我们的lcd.c是空的,只是为了进行试验,这条警告的意思是我们需要模块许可证。

以上,试验完成,关于模块许可证,我们在驱动移植环节讲。

Source Insight 基础使用手册

基础驱动编译需要用到内核源码中的函数,使用Source Insight工具将内核源码工程导入,在工程下写驱动能方便很多。

》1.添加工程到Source Insight

驱动操作 驱动移植试验和Source Insight添加项目_第14张图片

驱动操作 驱动移植试验和Source Insight添加项目_第15张图片

驱动操作 驱动移植试验和Source Insight添加项目_第16张图片

写在前面:在点击add all会弹出如下界面,需要全部选中

驱动操作 驱动移植试验和Source Insight添加项目_第17张图片

驱动操作 驱动移植试验和Source Insight添加项目_第18张图片

》2.修改索引设置

源码中有很多类型的文件,为了让Source Insight能索引到所有类型文件,进行如下配置

驱动操作 驱动移植试验和Source Insight添加项目_第19张图片

驱动操作 驱动移植试验和Source Insight添加项目_第20张图片

可以直接赋值下面添加上

*.c;*.h;*.S;*.lds;*defconfig;*Makefile;*.mak;*.dts;*.dtsi

》3.工程同步

驱动操作 驱动移植试验和Source Insight添加项目_第21张图片

弹出的窗口能勾选的全部勾线上

驱动操作 驱动移植试验和Source Insight添加项目_第22张图片

以上,就是Source Insight添加工程的基本操作

你可能感兴趣的:(驱动,驱动开发,linux)