免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 29104 | 回复: 50
打印 上一主题 下一主题

Linux驱动开发应该注意哪些关键知识?提问有奖! [复制链接]

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-24 15:31 |只看该作者 |倒序浏览
活动简介:

嵌入式Linux设备驱动是嵌入式系统中十分重要的组成部分。嵌入式Linux的各种设备驱动,包括字符设备驱动、数字显示驱动、键盘驱动、A/D驱动、D/A驱动、LCD驱动、触摸屏驱动、CAN总线驱动、IIC总线驱动、音频总线驱动、IDE接口驱动、闪存芯片驱动、USB驱动、串口驱动、网络设备驱动等。

如何快速熟悉和掌握相关知识,如何把握其中的关键点,一直以来是Linux设备驱动开发新手的难点,希望这次的Linux驱动开发关键知识的主题讨论,能够给您带来帮助!

活动嘉宾:

郑强先生,CU社区ID为gery258,《Linux驱动开发入门与实战》一书的作者,资深Linux设备驱动开发专家


活动奖品:

积极参与讨论和提出问题的用户,从前选出前十名,奖励《Linux驱动开发入门与实战》图书一本!

注:积极参与,内容原创,对主题讨论有积极意义的讨论为佳

图书简介:

Linux驱动开发入门与实战


作  者郑强
出 版 社清华大学出版社
图书定价¥59.80


图书简介:

本书由浅入深,全面、系统地介绍了linux驱动开发技术,提供了大量实例供读者实战演练。另外,作者在实例讲解中详细分析了各种重要的理论知识,让读者能够举一反三。
本书共分3篇。第1篇介绍了linux驱动开发概述、嵌入式处理器和开发板、构建嵌入式驱动程序开发环境、构建嵌入式linux操作系统、第一个驱动程序、简单的字符设备驱动程序等内容;第2篇介绍了设备驱动中的并发控制、阻塞和同步机制、中断与时钟机制、内存访问等内容;第3篇介绍了设备驱动模型、rtc实时时钟驱动程序、看门狗驱动程序、iic设备驱动程序、lcd设备驱动程序、触摸屏设备驱动程序、输入子系统驱动程序、块设备驱动程序、usb设备驱动程序等内容。
作者专门为本书重点内容录制了教学视频,以提高读者的学习效率。另外,本书还赠送了大量的linux拓展学习视频。这些视频和本书源代码需要读者自行下载,下载地址见封面提示。
本书重点突出,涉及面广,实用性强,从基本知识到核心原理,再到实例开发,几乎涉及linux驱动开发的所有重要知识。本书适合所有想学习linux驱动开发的入门人员阅读,也适合作为驱动工程师的参考书,对于linux驱动开发的专业开发人员也有很高的参考价值。

样章阅读:

·第6章  简单的字符设备驱动程序
·6.2  初识cdev结构
·6.3  字符设备驱动的组成
·6.4  VirtualDisk字符设备驱动
·6.5  小    结

欢迎CU社区嵌入式方面的会员积极参与!

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2011-03-24 15:38 |只看该作者
领导的活动,要支持的!

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
3 [报告]
发表于 2011-03-24 15:40 |只看该作者
驱动开发,最主要的几方面知识:
1、Linux模块编程;
2、Linux内核相关的知识;
3、能够读得懂硬件datasheet;
4、多实践,学习一些驱动开发的实例,并能够实际调试。

个人见解,欢迎补充!

论坛徽章:
0
4 [报告]
发表于 2011-03-24 19:49 |只看该作者
本帖最后由 jlccwss 于 2011-03-24 19:50 编辑

我刚刚接触驱动,个人认为关键知识如下:

1、c/c++精通
2、熟悉内核(查找内核函数轻车熟路)
3、操作系统工作原理
4、能够读得懂硬件datasheet
5、一定要会使用分析时序的软件,不然会很不方便
6、实践,在实践中遇到问题解决问题才能更快的成长

论坛徽章:
0
5 [报告]
发表于 2011-03-24 20:40 |只看该作者
1.操作系统调度
2.调试技巧
3.大局观

论坛徽章:
0
6 [报告]
发表于 2011-03-25 00:14 |只看该作者
支持下。。。

1)操作系统
2)LINUX 内核
3)LKM
4)C

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
7 [报告]
发表于 2011-03-25 11:42 |只看该作者
支持下。。。

1)操作系统
2)LINUX 内核
3)LKM
4)C
accessory 发表于 2011-03-25 00:14



    兄弟,你这参加了,我们在给你快递礼品啊,书钱都不够邮费的啊....

论坛徽章:
0
8 [报告]
发表于 2011-03-25 17:37 |只看该作者
首先驱动中经常需要分配物理内存,应该至少注意以下几点:
1,该物理内存是否能经过cache(如Framebuffer)
2,该物理内存分配时是否能睡眠
3,如果频繁分配,可以考虑用SLAB机制
4,在操作IO MM时,在映射之前应该要先申请

其次驱动程序的开发应该还要考虑到 对共享资源的保护(如spin_lock),特别要有完善的出错处理。

第三还要理解驱动模型: 总线 设备 驱动, 并熟悉多种总线子系统(PCI, USB , PLATFORM等)以及功能子系统(如网络,framebuffer, input等)。

最后还要熟悉多种硬件(datasheet)以及多参加项目,多写……

一孔之见,望诸位指教……

论坛徽章:
0
9 [报告]
发表于 2011-03-25 23:56 |只看该作者
回复 7# send_linux


额。。。我是客串滴。。。

论坛徽章:
7
IT运维版块每日发帖之星
日期:2016-05-27 06:20:00IT运维版块每日发帖之星
日期:2016-06-09 06:20:00操作系统版块每日发帖之星
日期:2016-06-12 06:20:00程序设计版块每日发帖之星
日期:2016-06-12 06:20:00操作系统版块每日发帖之星
日期:2016-06-13 06:20:00IT运维版块每日发帖之星
日期:2016-06-17 06:20:002015-2016NBA季后赛纪念章
日期:2016-06-28 17:42:27
10 [报告]
发表于 2011-03-26 08:27 |只看该作者
Linux内核
C
汇编
驱动硬件相关
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP