|
此帖出自Linux开发论坛
最新回复
大致看了下,应用程序是没有问题的。但是驱动写的有些糟糕。
1.非常严重的问题,没有使用内核提供的API,copy_to_user/copy_to_user,\(put_user/get_user)来做用户空间和内核控件数据的交换。这个是很危险的,虽然有时没有出错,但一旦出错......
2.对返回的count长度在代码中没有初始化和中间过程赋值,应用程序得到的返回值是没有调试意义的。
3.从某些被注释的地方看得出,LZ对驱动的框架还不是很清楚,同样的wrtie在应用层是3个参数,在驱动层是4个。
4.printk没有使用级别,这个带级别的习惯要早点养成。另外即使级别是最高的,也不一定会打印出来。
建议楼主要多阅读一下驱动程序的范例代码,不要急着移植代码,打一开始就能培养好的代码习惯和风格,脑子里记住了正确而严格的写法,以后会少很多“莫名其妙“的问题的,等你最后查出来是这些个不是代码逻辑的问题时,你会大跌眼镜的,而别人可能就不会遇到这些问题。这种问题实在是很没有意思,浪费时间这种问题上,不知道要让人怎么想
详情
回复
发表于 2013-1-13 17:39
| ||
|
||
| |
|
|
| |
|
|
|
|
| |
|
|
个人签名QQ:1625345502
|
|
回复 6楼 wanghongyang 的帖子
此帖出自Linux开发论坛
| ||
|
||
回复 4楼 挚爱家驹 的帖子
此帖出自Linux开发论坛
| ||
|
||
回复 8楼 mz7425ct 的帖子
此帖出自Linux开发论坛
| ||
|
||
此帖出自Linux开发论坛
| ||
|
||
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
EEWorld Datasheet 技术支持
EEWorld订阅号
EEWorld服务号
汽车开发圈
机器人开发圈