Linux内核编程08期:debugfs文件系统

嵌入式Linux内核驱动的常规开发步骤,一般是这样的:

  • 看芯片手册,修改寄存器或驱动源码
  • 重新编译内核镜像,或驱动模块
  • 将编译好的镜像拷贝到SD卡
  • 将SD卡镜像插到开发板
  • 重启内核,或者重新加载驱动
  • 测试驱动是否正常工作
  • 如果驱动无法工作,返回第一步循环

从编译、运行到调试,一圈走下来,通常需要10~15分钟,也就是说,哪怕你只修改了一行代码,也要把这个流程再走一遍,在宿主机的交叉开发效率,相比PC开发,效率会低很多。

如果公司配套的有高端的调试器,比如TRACE32,可以通过仿真、单步、直接修改寄存器来调试驱动,效率会提升很多,但是调试器一般很贵,一套下来一万起步。

今天给大家分享一个免费的驱动调试方法:通过debugfs接口来调试内核驱动。将内核中的调试变量,或者驱动的寄存器通过debugfs导出到用户空间,驱动加载后,我们不需要多次编译,通过简单的cat/echo命令,就可以直接对导出的寄存器接口查看修改,从而大大提升内核驱动开发的工作效率。

本期课程主要跟大家分享,如何通过debugfs将内核驱动中的不同格式的数据导出到用户空间,在用户空间进行查看和修改。这些数据包括:整型、布尔型、数组、结构体、链表、自定义数据、内存数据块、寄存器、寄存器组等。本期课程目录如下:

  1. 什么是debugfs?
  2. debugfs的配置编译和运行
  3. 第一个debugfs编程示例
  4. 通过debugfs导出整型数据
  5. 通过debugfs导出16进制数据
  6. 通过debugfs导出数组
  7. 通过debugfs导出内存数据块
  8. 通过debugfs导出自定义格式数据
  9. 在debugfs下使用seq_file接口
  10. 使用seq_file接口访问数组
  11. 使用seq_file接口访问链表
  12. 通过debugfs导出寄存器组
  13. 通过debugfs修改驱动寄存器
  14. 通过debugfs导出驱动调试接口

课程和配套代码已打包上传网盘,已购课学员可以直接下载观看了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宅学部落-王利涛

just for test

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值