嵌入式驱动的学习方法?
4个回答
展开全部
嵌入式驱动的学习说简单也简单。。。说复杂也复杂。。。简单是因为驱动的编写都给固定了格式了,初次学习主要的目标就是熟悉这个流程核熟悉各个内核函数的应用,就拿字符驱动来说。。。主要的目的就是完善read write open ioctl等函数的功能但是,还不能直接就上来别写这几个函数。。。驱动都有自己的设备号以及此设备号。。所以你要在moudle_init中指定你的初始化函数,然后在初始化函数里面申请你的设备号。。。。。在初始化函数里面你还要去初始化cdev初始化大概的任务就算完成。。。。这个时候你还是不能去晚上那几个读写函数你现在设备号有了。。。cdev初始化了。。。但是你还是没有把你的设备号联系起来。。。cdev的目的就是讲设备号和哪个file_openration联系起来。。。cdev联系起来了。。。所以还要去初始化file_operation。。。告诉file_operation。。你的读写函数等其他的函数具体是哪个函数。。。这个时候算是写完了。。。。你还要再内核源代码中进行编译像修改kconfig和makefile,之后运行make menuconfig 将编译的驱动是编译到内核还是编译成.ko文件之后再make或者make moudle就可以了。。。。
如果刚开始学习。。就多看下驱动的源代码。。。然后自己再试着写一遍。。。哪怕是led灯的。。多写两边也会对自己有所帮助的。。。然后可以在找些内核的驱动的书看下只要功夫深铁棍子磨成针哦……
如果刚开始学习。。就多看下驱动的源代码。。。然后自己再试着写一遍。。。哪怕是led灯的。。多写两边也会对自己有所帮助的。。。然后可以在找些内核的驱动的书看下只要功夫深铁棍子磨成针哦……
展开全部
首先要有一定的基础:
1 驱动语言的掌握。一般是C语言,有些驱动底层会有部分汇编语言实现的函数。所以要学习嵌入式驱动,首先要掌握C语言。汇编语言有时是必须的,依赖于驱动的类型。
2 硬件工作原理。不一定要精通,但至少要了解。这样在出问题的时候才能判断是哪里的问题。嵌入式驱动调试的时候,当出现了非预期结果时,判断是软件引发的问题还是硬件本身的问题,是很重要的。对硬件一窍不通就无法做出准确的判断。
3 硬件规格书。除非硬件是自己设计的,否则一定要有硬件的规格书。这样才能确定如何去访问硬件,按照何种协议,以何种方式,得到预期的何种结果。
具备以上前提后,就可以开始做嵌入式驱动的学习了。可以按照以下步骤:
1 读懂硬件规格书,了解硬件工作流程。
2 根据规格书要求,逐步书写或读懂驱动代码。
3 如果驱动规模比较大,建议区分模块进行学习或设计。
1 驱动语言的掌握。一般是C语言,有些驱动底层会有部分汇编语言实现的函数。所以要学习嵌入式驱动,首先要掌握C语言。汇编语言有时是必须的,依赖于驱动的类型。
2 硬件工作原理。不一定要精通,但至少要了解。这样在出问题的时候才能判断是哪里的问题。嵌入式驱动调试的时候,当出现了非预期结果时,判断是软件引发的问题还是硬件本身的问题,是很重要的。对硬件一窍不通就无法做出准确的判断。
3 硬件规格书。除非硬件是自己设计的,否则一定要有硬件的规格书。这样才能确定如何去访问硬件,按照何种协议,以何种方式,得到预期的何种结果。
具备以上前提后,就可以开始做嵌入式驱动的学习了。可以按照以下步骤:
1 读懂硬件规格书,了解硬件工作流程。
2 根据规格书要求,逐步书写或读懂驱动代码。
3 如果驱动规模比较大,建议区分模块进行学习或设计。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
,电脑驱动坏了,开机调到安全模式,进入界面后重新安装驱动就行了,如果安全模式进不了界面的话,就是系统坏了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多看,多想,多动手
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询