博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
驱动调试前期准备工作
阅读量:4059 次
发布时间:2019-05-25

本文共 1386 字,大约阅读时间需要 4 分钟。

在开发板上编写一个简易的驱动看看能不能成功。

因为内核编译的时候已经选择了,支持模块加载。

Test.c

#include <linux/init.h>

#include <linux/module.h>

Static __int void test_init(void)

{

       Printk(“test_init\n”);

}

Static __exit void test_exit(void)

{

       Printk(“testexit\n”);

}

Makefile

Obj-m := test.o

编译makeARCH=arm CROSS_COMPILE=/home/zhangshaoyan/arm-eabi-4.4.0/bin/arm-eabi- M=/home/zhangshaoyan/drivers/testmodules

编译后生成了一个test.ko

因为我使用的NFS挂载的,这样调试比较方便。

/zhangshaoyan # insmod test.ko

hello init

sys_init_module: 'test'->initsuspiciously returned 14, it should follow 0/-E co

nvention

sys_init_module: loading module anyway...

[<80032578>](unwind_backtrace+0x0/0xf0) from [<800801fc>] (sys_init_module+0x10

0/0x1ac)

[<800801fc>](sys_init_module+0x100/0x1ac) from [<8002df80>] (ret_fast_syscall+0

x0/0x30)

怎么打印出这么多东东来?好像是sysfs给整出来的。先不管了。最起码能工作。

/ # lsmod

test 528 0 - Live 0x7f006000

使用lsmod发现只装载了一个模块就我这个哈哈。

/ # rmmod test

rmmod: chdir(2.6.35.3):No such file or directory

卸载不了了啊。从网上一查,原来需要建立相应的目录啊。

/ # rmmod test

rmmod: chdir(2.6.35.3):No such file or directory

/ # mkdir /lib/modules/2.6.35.3

/ # rmmod test

hello exit

/ #

看来驱动初步环境可以了,可以写驱动了。

在看一下应用程序的开发,看看写个hello worldC程序运行看看。

使用交叉编译arm-linux-gcchello.c编译成功了。

应该是动态编译,还需要将其需要的库拷贝到开发板上,直接拷贝交叉编译工具里的库就行。

/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/lib目录下所有的.so库拷贝到开发板的/lib下。在开发板上运行刚才的程序。

/zhangshaoyan # ls

a.out   hello.c

/zhangshaoyan # ./a.out

hello world i.mx53 haha

运行成功。

 

转载地址:http://vjzji.baihongyu.com/

你可能感兴趣的文章
剑指offer算法题分析与整理(三)
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
WAV文件解析
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
QT打开项目提示no valid settings file could be found
查看>>
android 代码实现圆角
查看>>
android中shader的使用
查看>>
java LinkedList与ArrayList迭代器遍历和for遍历对比
查看>>
drat中构造方法
查看>>
JavaScript的一些基础-数据类型
查看>>
ReactNative使用Redux例子
查看>>
Promise的基本使用
查看>>
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
course_2_assessment_6
查看>>
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>