免费注册 查看新帖 |

Chinaunix

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

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

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 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
2 [报告]
发表于 2009-12-21 23:48 |只看该作者
再做一段时间就好了。
以前裸奔的时候,基本上都是静态的多。
在操作系统上基本上所有东西都是动态的。只要是动态的就有难度。

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
3 [报告]
发表于 2009-12-22 09:11 |只看该作者
恩啦,在此也感谢给俺于无私帮助和莫大鼓舞的各位大大们!

论坛徽章:
0
4 [报告]
发表于 2009-12-22 09:58 |只看该作者
恭喜恭喜.

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

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

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

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
5 [报告]
发表于 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
6 [报告]
发表于 2009-12-22 13:48 |只看该作者
看书和实践差别是很大的,有很多问题实践中才能遇到,书上是没有的。恭喜LZ了

论坛徽章:
0
7 [报告]
发表于 2009-12-22 14:58 |只看该作者
敢问楼主,一般用什么工具来调试驱动程序代码的?

论坛徽章:
3
卯兔
日期:2013-08-26 22:14:57未羊
日期:2013-09-08 19:16:05未羊
日期:2014-10-23 10:34:12
8 [报告]
发表于 2009-12-23 10:16 |只看该作者
多谢诸位大大,呵呵

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

论坛徽章:
0
9 [报告]
发表于 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
10 [报告]
发表于 2009-12-23 21:24 |只看该作者
原帖由 lelee007 于 2009-12-23 10:16 发表
多谢诸位大大,呵呵

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



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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP