arm ds调试linux驱动——iTOP4412开发板

前言

此教程是基于已经写好的linux的led杂项设备驱动的调试教程,如果需要了解或者学习linux驱动学习的请查看这篇文章。

https://blog.csdn.net/qq_20553613/article/details/102993203

 

实例工程:

链接:https://pan.baidu.com/s/1kz2907zoGj_Fk58oeAT_NA 
提取码:oc50

创建工程

先创建一个文件夹(如:iTOP4412_driver)用于存放工程文件以及模块的源文件、vmlinux、用于测试驱动的应用程序、设备注册模块。将led驱动的源代码与编译后生成的模块都放在此文件夹中。

 

然后创建空工程

点击File >> New >> Project 

默认选项

点击Finish完成工程创建。此时在工程目录中就可以看到原先创建好的文件夹以及文件。包含:vmlinux镜像、led_app应用程序、leddev_reg.ko设备注册模块、以及led_driver.ko驱动模块和它的源代码。

调试驱动

硬件接线:

连接好设备,然后开发板上电。

加载模块

1. 在开发板上先加载led设备模块

2. 加载led_driver驱动模块

选中工程右键 >> Debug As  >> Debug Configuration。创建一个新的调试

在connection标签处选择对应芯片,我们这里使用的是Exynos4412。然后在Select target处选择

然后点击Connections处的Browse...按钮,选择我们的DSTREAM调试器

切换到Files栏,这里全部留空,不选择任何东西。

 

切换到Debugger栏,在Run control面板处选择Connect only。勾选Execute debugger conmmands并添加以下调试命令:

interrupt
add-symbol-file iTOP4412_driver/led_driver_debug/linux_kernel_src/vmlinux

解释:

interrupt:表示中断调试

add-symbol-file:加载符号文件,后面紧跟的是vmlinux镜像文件在host主机上的目录,其实就是我们刚开始创建工程时的路径。

然后直接点击Debug按钮,进行调试

点击打开Windows >>  Show View >> Modules。打开Modules窗口,

在Modules窗口会显示已经加载的模块信息。这里因为我加载了2个模块(leddev.ko、led_driver.ko)

选中led_driver模块,右键选择Add Symbol File..

加载我们的led_driver.ko模块

加载成功后,Modules窗口中会出现模块的路径

设置断点

打开led_driver.c源文件,在led_ioctl函数处打上断点

在led_driver文件中的led_ioctl函数处打上断点。使用break命令

接下来,我们需要运行led_app应用程序来调用led_driver驱动模块。

在开发板上调用led_app程序

当然这里只是简单的调试,实际上的调试过程比较更加复杂。后面具体调试操作得根据实际来

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值