找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5942|回复: 6
打印 上一主题 下一主题
收起左侧

驱动学习总结

[复制链接]
跳转到指定楼层
楼主
ID:79854 发表于 2015-5-13 14:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

本人学生党一枚,跟着韦东山老师的视频学习嵌入式已经有一年了,算刚刚入门吧,下面总结一下个人的一些学习心得。
学习驱动,需要学习驱动编程和应用编程,其中驱动是底层,应用作为上层。
一、linux系统编程学习建议
在看韦东山的第二期视频之前,一定要先学习一下linux应用编程,应用编程也叫做系统编程,我们在linux终端上输入: man open;man read ;man write....可以看到很多C库实现的函数接口,学习应用编程就是学习这种API的使用,了解进程、线程、等概念。
二、linux驱动编程学习建议
学完linux系统编程之后,就可以开始学习驱动了。至于为什么要先学习linux系统编程再来学习驱动,因为在第二期的驱动视频里,韦东山老师讲解涉及到的应用程序比较少,而我们测试驱动时,每个应用程序的API都要百度的话,你可以想象一下自己的效率以及知识体系的完整性咯,所以建议学好linux系统编程后,可以一边学习韦老师的第二期驱动,然后自己写测试程序。
那么驱动学习,我们该学什么?有两点:
(1)驱动框架:
百度一下:字符设备驱动框架,你就明白,其他驱动的也是类似!
对于驱动框架,无需你们去创新,能让你创新的就不是什么“框架”了,所以不要纠结自己什么时候能够写出更好的框架,你能做的只有遵从内核做好的框架,在这个框架之内对自己写的代码进行有限的“创新”。又如,网卡驱动,SD卡驱动等等,这些都是标准化的接口或者协议,同样的,不要我们去创新,也不需要去完全了解这些协议的含义或者实现方法,应该捉住重点,分析芯片的特性,对它们进行移植,最后测试成功就行~当然,你应该在这个过程中积累相关的知识!
(2)内核API
需要知道,内核API和"linux系统编程学习建议"里谈到应用API是不一样的,它们的关系就像是:
应用API是一个"空壳"的指令,而内核API更像是实现这个指令的一系列工作细节,当这个"指令"下达之后,内核API就根据指令的内容去执行要做的任务,所以内核API是真正实现一个功能的具体执行方法。当然,我这样说是为了把应用程序API和内核API作一个形象的类比,你也可以有自己的理解,不需要死记硬背,写驱动写得多了、也测试过了,你就会深刻体会到这种类比模型。

2015年5月12日

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的积分奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:79871 发表于 2015-5-13 17:27 | 只看该作者
也没有地方让我专门水贴,赚黑币啊
回复

使用道具 举报

板凳
ID:121664 发表于 2016-7-14 11:18 | 只看该作者
请问有没有 uCos-II 系统的 TF 卡驱动程序例程?
回复

使用道具 举报

地板
ID:121664 发表于 2016-7-14 11:24 | 只看该作者
我的TF卡是SPI接口的。
回复

使用道具 举报

5#
ID:193871 发表于 2017-4-26 16:10 | 只看该作者
不太清楚
回复

使用道具 举报

6#
ID:477781 发表于 2019-2-20 11:21 | 只看该作者
请问可以给发一下韦东山老师的视频学习的链接吗
回复

使用道具 举报

7#
ID:542610 发表于 2019-5-20 10:06 | 只看该作者
有没有蓝牙驱动的讲解啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表