由于快要断网了,这里简单记录一点
我的第一个linux驱动程序终于写好 了
基于tiny6410 的led驱动
三天了,遇到很多的问题,最大的一个问题是由于教学视频给的历程有错误,
static long tiny6410_leds_ioctl(
struct inode *inode,
struct file *file,
unsigned int cmd,
unsigned long arg)
{
我不知道为什么会有struct inode这个参数,程序一直无法识别命令,我用打印调试,打印出cmd的值,一直是0
后来我参考其他的文献,发现没有这个参数,我将其注释了以后,终于可以打印正常的cmd的值了
但是有一个问题,还是不能识别命令,我再次打印cmd和命令宏的值
发现cmd是32位的数值,而命令宏却是16位的,应该是定义的无参数命令的缘故
这样又无法case到命令了
于是我程序里吧cmd强制取前16位
终于led灯亮了
改天再贴具体程序代码。。。。。睡觉 了 =.=