• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > linux设备驱动程序之时钟管理(3)----我的那块儿蛋糕

linux设备驱动程序之时钟管理(3)----我的那块儿蛋糕

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了linux时钟同步,linux 时钟,linux 时钟同步命令,linux 硬件时钟,linux服务器时钟同步等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

linux设备驱动程序之时钟管理(3)----我的那块儿蛋糕


21世纪不缺什么了?不缺程序员了,不缺屌丝程序员了,满山遍野的程序员,各种培训机构,每个月都有n多个程序员横空出世,他们一代代的替换着那些远离这个行业的人。话说程序员有很多境界,比如像我这种,就属于比较浮躁的程序员,以为自己会的东西不少,其实什么都不会。

时间长了,发现自己真的什么也没有,哎,难到真的什么也没有嘛?不是,至少屌丝程序员好有一个梦,每天可能还能吃上一块儿蛋糕。

最近祖国三大军区都有演戏,什么远程弹道导弹,巨浪,东风全上了,俨然要有跟小日本火拼的姿态,趁着还是和平的时候,多吃两块蛋糕吧,不知道明天还有没有机会吃到。

那时钟管理这边,怎么去拿到那个蛋糕着?

80行 你看见了,那个dev_id其实就是所属设备的name啦

81行 又套一层,哎,短小又精悍的函数啊。不废话,进入。。

68行 锁住互斥锁,这个互斥锁是全局的,给你好看:

69行根据 那个两个id调用clk_find函数查找我们需要的clk,没什么可说的,直接进入

40行 一个for循环,在clocks这个全局的链表里遍历,所有的锁都链接在上面呢

42-46行,如果dev_id匹配,那么match+=2

47-50行,如果con_id匹配,那么match+=1

如果mach大于零,说明之后有一个匹配上了,如果match=3,两个条件都匹配,这是最完美的情况了,如果不是,那么继续循环吧。

我们从注释上可以看出,匹配的优先程度是:dev+con > dev only > con only

好的,返回到clk_get_sys函数

第70-71 如果没有找到cl设置为NULL

72行 释放锁

73行 返回要找的clk

这个过程也很简单,没有想象的那么复杂。

呵呵。。时钟时获取到了,有没有兴趣看一下他们的使能,禁止,设置频率的那几个函数?其实也非常简单,他们都是平台相关的,还是以三星的s3c2410为例子看一个函数吧,其它的函数都跟它类似,不用多讲了就,咱们看一个常用的,上代码:

这是一个三星平台的通用函数,其它的,诸如2410,6410等等吧,都是可以用的,因为它与具体的板级脱离开 ,都是用一个函数指针实现的具体操作。

90-90行 判断一个clk的有效性,体现出了健壮性函数的一个很好的例子

92行,你看到了又调用了它本身,分明他妈的是个嵌套嘛,不过你看一个参数,呵呵。。明白了吧,使能一个设备的clock,一定要保定它父设备的clock是使能的啊。

94-99行 你看到了啊。。使能的时候是要禁止中断的哦,亲。

97行,直接调用了clk结构中的enable函数,这个是在具体的板级文件中实现的 ,对于咱们这儿就是s3c2410-clock.c,好的,进去看看喽,亲。

你看到了哦,亲,他们的enable函数都指向了同一个函数s3c2410_clkcon_enable,你没有个疑问吗?这个函数好强大哦,什么样的使能它都能处理?进去看看不就知道啦。走你:

呵呵。。有木有恍然大悟?呵呵。。好吧,你成才了。。呵呵。。看到了,就是靠这个控制标志clk->ctrlbit,在写控制器中时钟控制器的相应位来实现的,亲,记得给好评哦,讲的我都累了。

我歇会儿啊,听听歌。。你可以继续学习了。我得休息下了,睡会儿。哭泣,美女走了!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • linux设备驱动程序之时钟管理(1)----最初的印象
  • linux设备驱动程序之时钟管理(2)----又见结构
  • linux设备驱动程序之时钟管理(3)----我的那块儿蛋糕
  • linux设备驱动程序之时钟管理(4)----原来是孩儿他爹娘

相关文章

  • 2017-05-26手机游戏渠道SDK接入工具项目分享(二)万事开头难,手机游戏sdk
  • 2017-05-26安卓DJ113舞曲网应用客户端 项目源码(服务器+客户端),安卓dj113
  • 2017-05-26Android之万能播放器解码框架Vitamio的介绍及使用,androidvitamio
  • 2017-05-26android基于口令加密快速搞懂(一),android搞懂
  • 2017-05-26android开发之路02(浅谈BroadcastReceiver),broadcastreceiver
  • 2017-05-26android中的回调请求的个人理解,android回调
  • 2017-05-26Android开发文档翻译之-Services
  • 2017-05-26安卓界面基本组件------计时器,安卓------计时器
  • 2017-05-26android源码解析之(二)--)异步任务AsyncTask
  • 2017-05-26关于Android项目隐藏标题栏的方法总结,android标题栏

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 菜鸟新闻3--ViewDragHelper详解(侧滑栏),viewdraghelper侧滑
    • 我的android学习经历12,android学习经历12
    • 一个简单的Makefile编译框架
    • 4.3.1 BroadcastReceiver牛刀小试
    • 浅谈DrawerLayout抽屉效果,drawerlayout抽屉
    • 三种POST和GET的提交方式,postget提交
    • arcgis andriod 加载影像,arcgisandriod
    • 大神都是有个起点的,大神都是起点
    • 实现Discuz论坛客户端应用源码,discuz源码
    • Android 判断当前语言环境是否是中文环境,android中文

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有