采用模块化方式编译

一、前言

比如:uImage下有很多驱动文件,但是驱动开发时,要频繁更改驱动文件,如果每次编译整个uImage编译会浪费时间,所以引入模块化方式编译,把驱动设置为模块化编译,这样每次更改或重新编译时,只需要重新编译对应的驱动文件就可以了。省时省力。

二、准备

命令

  • 安装驱动:immod *.ko
  • 卸载驱动:rmmod *.ko

文件

  •         驱动文件:fsmp157a_led.c(放在drivers/char/目录下)
  •         驱动文件:fsmp157a_led.h(放在drivers/char/目录下)
  •         应用层文件:fsmp157a_led_test.c(测试文件)

三、步骤

1.修改图形化界面信息

打开 drivers/char文件夹下的 Kconfg文件 

添加如下内容:

2.修改Makefile文件

打开 drivers/char文件夹下的 Makefile文件 

3.测试

a. 图形界面-选择模块化编译 

b.编译linux源码,生成uImage和设备树文件

         time make -j4 uImage vmlinux dtbs LOADADDR=0xc2000000 

c.内核编译生成uImage镜像文件和设备树文件拷贝到~/tftpboot目录下

d. 模块化编译

         make -j4 modules

        成功现象:LD [M] driver/char/fsmp157a_led.ko

e. 挂载fsmp157a_led.ko文件

        将fsmp157a_led.ko文件,拷贝到~/nfs/roots目录下

 

f. 开发板上电,重启

g. 在串口工具中,给开发板安装fsmp157a_led.ko驱动

        insmod *.ko

h. 测试-运行应用层文件(点灯)-观察现象

        运行./a.out(fsmp157a_led_test.c编译后的可执行文件),灯亮代表成功

到此已完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值