忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
楼主: crazyhadoop

[Linux] Linux 驱动开发前途在哪里? [复制链接]

论坛徽章:
0
发表于 2015-09-16 09:37 |显示全部楼层
这个应该还很不错吧

论坛徽章:
0
发表于 2015-09-16 14:12 |显示全部楼层
follow android update linux driver ...

论坛徽章:
0
发表于 2015-09-17 00:57 |显示全部楼层
回复:有见解,不过问下,如果原有的硬件结构/设计不变,只靠驱动的升级,能实现你列出的问题吗?
不能完全实现这些问题。因为设备驱动目前还是局限在针对具体的设备环境和要求。要实现上述问题,需要基于设备驱动和虚拟环境,移动环境,互联网的服务环境等,提供相关的中间件。而linux设备驱动本身就是这些环境的集大成者。所以,重点发展linux设备驱动,依托linux的各个变种的特殊环境(linux container,linux wireless 等)和linux的公共平台,是这种环境的具体生态圈。

论坛徽章:
1
摩羯座
日期:2013-11-29 18:02:31
发表于 2015-09-17 09:15 |显示全部楼层
1、谈谈现阶段驱动开发碰到的问题或者疑惑?
最大的问题莫过于硬件更新速度过快,导致底层驱动不断变化,每出一个新硬件,
底层驱动都要改进。真希望硬件厂商能提供直接可用的底层驱动代码,这样写驱动就容易多了。

2、聊聊不断更新的Linux内核对驱动开发人员带来的影响,如何紧随发展步伐?
内核的不断更新直接影响了驱动的开发方式,我觉得可以这样做:
A:特别关注驱动模型。一般来说,驱动模型相对稳定,一旦驱动模型有变,那驱动程序就是全部重写了。
B:不断关注内核新机制。新机制对驱动提供了新的编程接口,可会增加或减轻驱动开发难度。比如多核机制,
在实现驱动时就要考虑到,是否要与多核交互,与多核交互时,如何保证同步等。

3、分享一下驱动开发人员如何不断更新和建立自己的知识体系!
做IT就是这样,要经常补充新知识。特别对于编程来说,更是如此。做为驱动开发人员,
我觉得要做到以下几点:
A:不断地深入学习内核和架构相关知识,只要深入理解了内核和框架才能写出更好的驱动代码,才
能将驱动代码和内核有更好的整合。
B:不断研究处理器相关知识,现在的处理器越来越强大,其实整个编程过程可以看成一个软硬件一体化的过程。
一件事,软件可以做,硬件也可以做,这只是个分工的问题。现在处理器越强大,控制方式越复杂,提供的功能也
越多,一定程序上减轻了软件的工作量。从这个角度来说,可以将驱动的部分功能由新的处理器功能来实现。
比如串口驱动,可以使用DMA方式实现。显卡驱动有单独的显存可用。所以,完全可以说,处理器知识是写驱动的基本功。
C:不断补充硬件知识,比如现在的智能硬件,只要不断了解硬件的进化方向才能更好的实现驱动。

评分

参与人数 1可用积分 +2 收起 理由
crazyhadoop + 2 赞一个!

查看全部评分

论坛徽章:
0
发表于 2015-09-17 13:00 |显示全部楼层
真不懂~~~~~~~··

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:15程序设计版块每日发帖之星
日期:2015-09-21 06:20:002015亚冠之卡尔希纳萨夫
日期:2015-09-22 14:11:11程序设计版块每日发帖之星
日期:2015-09-25 06:20:00每日论坛发贴之星
日期:2015-09-25 06:20:00
发表于 2015-09-18 18:44 |显示全部楼层
本帖最后由 cascle 于 2015-09-18 18:45 编辑

1、谈谈现阶段驱动开发碰到的问题或者疑惑?
有问题自己查,或者找CPU芯片vendor或设备vendor的fae或rd

2、聊聊不断更新的Linux内核对驱动开发人员带来的影响,如何紧随发展步伐?
设备驱动开发主要是移植,基本不受影响

3、分享一下驱动开发人员如何不断更新和建立自己的知识体系!
看代码
看芯片手册
看邮件列表
一边开发一边吸收经验
学习硬件原理

论坛徽章:
0
发表于 2015-09-20 13:25 |显示全部楼层
如果有机会,尝试upstream一个模块。相信会学到不少东西。被主线接受后,自然也就知道以后怎么提高了

论坛徽章:
9
程序设计版块每日发帖之星
日期:2016-02-13 06:20:00数据库技术版块每日发帖之星
日期:2016-06-15 06:20:00数据库技术版块每日发帖之星
日期:2016-06-16 06:20:00数据库技术版块每日发帖之星
日期:2016-06-18 06:20:00程序设计版块每日发帖之星
日期:2016-06-27 06:20:00程序设计版块每日发帖之星
日期:2016-07-09 06:20:00IT运维版块每日发帖之星
日期:2016-07-15 06:20:00IT运维版块每日发帖之星
日期:2016-07-27 06:20:00程序设计版块每日发帖之星
日期:2016-08-18 06:20:00
发表于 2015-09-21 15:45 |显示全部楼层
wangsongbo2015 发表于 2015-09-16 07:09
回复 1# crazyhadoop

谢谢斑竹。实在是太想得到这本书了。因为我在国外,无法下单买这本最新的linux设备 ...


你这个是说RDMA么?还有SRIOV等?

论坛徽章:
0
发表于 2015-09-22 09:30 |显示全部楼层
CUTianrui007 发表于 2015-09-17 09:15
1、谈谈现阶段驱动开发碰到的问题或者疑惑?
最大的问题莫过于硬件更新速度过快,导致底层驱动不断变化,每 ...



1、谈谈现阶段驱动开发碰到的问题或者疑惑?
驱动开发工程师我认为碰到的问题可以归为三类, 硬件, 软件, 实现.
硬件接口的选型, 要看芯片的Datasheet, 要了解硬件的具体时序控制等.
软件, 即coding, 这个我认为CS的学生可能不会太难, 如果是硬件出身的可能需要多花些时间, 不过还好就驱动来说灵活运用好GCC扩展及C语言即可.
实现, 即如何利用[Kernel的架构抽象]来具体化硬件控制, 即驱动硬件, 需要下功夫看kernel的代码, 需要Debug内核模块, 需要充分了解设备文件系统的概念等等.
所以我的疑惑就是如何快速的掌握硬件, 了解内核实现, 有效率有条理的coding完成硬件驱动, 为上游提供好的接口?

2、聊聊不断更新的Linux内核对驱动开发人员带来的影响,如何紧随发展步伐?
驱动的架构了解.
内核实现的机制.
持之以恒的坐冷板凳, 学习, 思考, 实践, 然后多交流, 再学习, 思考, 实践.

3、分享一下驱动开发人员如何不断更新和建立自己的知识体系!
如引用中网友提到的:首先即是硬件, 处理器, 芯片手册, 这个需要不断提高, 各种硬件工具的熟练使用和Debug, 这个对我来说还有些难度, 功夫下的比较少.
其次就是coding的提高和思想的提高, 另外就是软件工具, 像GCC, Bin utilities等理解到再深都不为过!
最后便是深入了解kernel的实现机制, 分析源码, 在社区或同行中[多交流多总结]自己的技术, 一起进步提高!

论坛徽章:
1
摩羯座
日期:2013-11-29 18:02:31
发表于 2015-09-22 10:54 |显示全部楼层
驱动开发最是烦人了,一想到别人能挣大钱,就不舒服,就不想再写程序了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP