免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3301 | 回复: 10

让我郁闷了好几天的LED驱动程序和测试程序,终于可以work了 [复制链接]

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
发表于 2009-12-21 21:29 |显示全部楼层
前面第一次碰到的问题是,我不想手工创建设备结点,使用了device_create,结果使用不得法,改来改去都没让内核顺利跑起来

后来才退而求其次把device_create给去掉了,改用手工创建结点,主设备号也是静态分配一个(不然创建设备结点就复杂了),然后总算把内核跑起来了,而且驱动初始化里边的信息都顺利打印出来了

再后来就是测试程序。有个问题我非常不解,我在测试程序里边声明了一个指针,结果编译顺利无事,但是一COPY到板子上就是segmentation fault,我很不解,这么简单的程序,怎么会有段错误?!于是我又整了个“hello , world”编译到板子上跑(静态编译的一个printf("hello , world \n"居然有510927个bit,这是ARM平台的,X86平台的是 546428个bit:em12: ),结果很正常。于是我就修改测试程序,改来改去都是有段错误,无语啊 ,能用的辙子差不多全用上了,没一个好使。再后来程序里边就省一个printf才正常,然后把注释掉的又一个一个改回来,指针声明改回来后,又是段错误! 彻底晕了!!!:em11: 没办法,我也不知道到底是为什么,只好声明成整型变量,把地址传到函数入口,这才,work起来 太不容易了

前面看书看了N久了,没发觉真正动起手来这么费劲。以前做单片机的,硬件+裸奔,感觉都是直来直去,作到后来调试工具用的都不多,直接看代码,没想到搞到OS下边来,举步维艰哇

论坛徽章:
0
发表于 2009-12-21 23:48 |显示全部楼层
再做一段时间就好了。
以前裸奔的时候,基本上都是静态的多。
在操作系统上基本上所有东西都是动态的。只要是动态的就有难度。

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
发表于 2009-12-22 09:11 |显示全部楼层
恩啦,在此也感谢给俺于无私帮助和莫大鼓舞的各位大大们!

论坛徽章:
0
发表于 2009-12-22 09:58 |显示全部楼层
恭喜恭喜.

从裸奔到操作系统代替你裸奔,进化了啊。

呵呵
在操作系统代替裸奔下,要遵循操作系统给出的规则(接口)。
自己裸奔,由自己定义规则。

目前俺的状态恰好跟你相反,裸奔去了.

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2009-12-22 10:51 |显示全部楼层

回复 #1 lelee007 的帖子

恭喜恭喜

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2009-12-22 13:48 |显示全部楼层
看书和实践差别是很大的,有很多问题实践中才能遇到,书上是没有的。恭喜LZ了

论坛徽章:
0
发表于 2009-12-22 14:58 |显示全部楼层
敢问楼主,一般用什么工具来调试驱动程序代码的?

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
发表于 2009-12-23 10:16 |显示全部楼层
多谢诸位大大,呵呵

RE:7L,这个算是我的处女作,调试全靠printk

论坛徽章:
0
发表于 2009-12-23 17:14 |显示全部楼层
没调试的好郁闷啊,我照着书上写了个程序也老是Oops,每次都必须重启虚拟机了。提示好像是Kfree出错,但是感觉没错啊。。。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
发表于 2009-12-23 21:24 |显示全部楼层
原帖由 lelee007 于 2009-12-23 10:16 发表
多谢诸位大大,呵呵

RE:7L,这个算是我的处女作,调试全靠printk



printk是比较直接,也比较简单好用的调试方式
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP