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的实现机制, 分析源码, 在社区或同行中[多交流多总结]自己的技术, 一起进步提高! |