社区
community_281
帖子详情
JAVA程序员想转驱动开发,大虾们支招啊!
songbeirui
2009-09-22 10:02:15
本人做了三年JAVA开发,现想转学驱动开发,不知从哪方面开始学起(起步那种).
想实现那种通过控制台输入后,系统根据输入的信息识别,执行相应命令(比如呼叫电话,语音对答等).
请大虾们给个学习规化谢谢!
...全文
324
11
打赏
收藏
JAVA程序员想转驱动开发,大虾们支招啊!
本人做了三年JAVA开发,现想转学驱动开发,不知从哪方面开始学起(起步那种). 想实现那种通过控制台输入后,系统根据输入的信息识别,执行相应命令(比如呼叫电话,语音对答等). 请大虾们给个学习规化谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Wuaner
2011-02-22
打赏
举报
回复
mark for that
[Quote=引用 10 楼 cychen1984 的回复:]
说穿了,硬件工程师会给你一份硬件规格说明书,也就是datasheet,能看明白就可以了.比如某个引脚,对应某个寄存器,高位有效,还是低位有效.
最高效的学习办法是,找个资深的哥们+google+实践+翻翻书(都不用太仔细),如果C基础比较好,两个月搞定肯定没问题.
[/Quote]
cychen1984
2009-09-28
打赏
举报
回复
说穿了,硬件工程师会给你一份硬件规格说明书,也就是datasheet,能看明白就可以了.比如某个引脚,对应某个寄存器,高位有效,还是低位有效.
最高效的学习办法是,找个资深的哥们+google+实践+翻翻书(都不用太仔细),如果C基础比较好,两个月搞定肯定没问题.
cychen1984
2009-09-28
打赏
举报
回复
UNIX环境高级编程 这本书,主要的东西都是最基本的.
还有楼主到底是想做linux驱动,还是windows驱动,还是mtk驱动,还是单片机(51,avr)驱动啊.
写驱动还要懂点硬件的,时序电路,数字逻辑,高低电平,晶振(分频,扩频),锁存器,上拉电阻,I2C总线,分别是用来干什么的?这些都是最基本的概念.要复习数字电路.不过模拟电路就别碰了,搞硬件的人很多都一知半解.
cychen1984
2009-09-27
打赏
举报
回复
本人也是java做了3年,什么spring(AOP,IOC),hibernate(antlr)源代码,UML都比较熟,Ajax,dwr,javascript,webservice,工作流开发(中间件开发),等相关的都做几个项目,还参照一些open source,自己设计了一个Ajax框架.同时设计模式,架构设计书都看过不少,还研究过java虚拟机,一般的OA项目,管理系统,需求,设计不敢说能做多好(达到验收基本没问题),db2,oracle,sql server 也都有几个项目经验.其中对oracle数据库的优化,数据库锁什么的,都做过相关研究(当然属于业余兴趣).
但是近一年来,我从事的是嵌入式设备相关工作主要做嵌入式linux和c/c++,驱动,arm等.除了ANSI C以外,对GUN C(做过linux kernel开发就知道二者区别)c++(gcc,g++编译环境)的STL,及kernel的source投入比较大精力,工作中还开发过netfilter,ebtables的extension.还弄过uboot,redboot等bootloader,
对于字符驱动和网络驱动部分比较熟悉.除了TCP/UDP,socket之外,对于链路层的LLC和MAC等layer也有一定熟悉(因为公司主要是做ad hoc和mesh网络设备的),还有shell,awk什么的就不多说了.
从较上层做到较底层,一路下来非常痛快.因为很多东西是相通的,ajax框架中的涉及浏览器兼容性的js,与kernel之中处理不同架构(arm,x86,mips等)兼容性的宏,UI的事件驱动与kernel module的事件驱动,数据库锁,并发与kernel中的spin_lock,semaphone. OO与linux中的cdev,MTD等设备抽象层.IOC与设备注册,乃至java中的一切继承自object对象,与"UXIX中的一切皆文件".
几乎可以说不管什么系统,把握住"流程,接口,模块",这三个立足点.不管什么系统设计把握住"实体与抽象",就能一通百通,很多体会我只有做过业务系统(如用j2ee),和低层开发(如:linux kernel)的相关开发才有所深刻的理解.
songbeirui
2009-09-27
打赏
举报
回复
[Quote=引用 5 楼 zhongjin_cnaf 的回复:]
首先熟悉linux编程,《UNIX环境高级编程》个人觉得很有必要看
再深入理解linux操作系统,可以先看本薄点的,是Rober Love的《Linux内核设计与实现》,看完了就可以转入驱动开发了。但是建议学到一定程度再回过头来看看那本很经典的《深入理解linux内核》,这时你对linux驱动开发会有很多新的认识
然后就可以转入linux驱动开发学习了,可以看经典著作《linux设备驱动开发》,国内的宋宝华有本《Linux设备驱动开发详解》还可以
一定要多动手实践,勤于思考,不要光看不练。学习过程中如果发现哪部分知识不足、妨碍理解的话,一定要及时补上。
学习的过程很枯燥却也充满收获的喜悦,成功只属于能够持之以恒的人。三天打鱼两天晒网是什么也做不成的
[/Quote]
UNIX环境高级编程 这本书我有,感觉起步有点高。
ubiquitious
2009-09-27
打赏
举报
回复
[Quote=引用 6 楼 cychen1984 的回复:]
本人也是java做了3年,什么spring(AOP,IOC),hibernate(antlr)源代码,UML都比较熟,Ajax,dwr,javascript,webservice,工作流开发(中间件开发),等相关的都做几个项目,还参照一些open source,自己设计了一个Ajax框架.同时设计模式,架构设计书都看过不少,还研究过java虚拟机,一般的OA项目,管理系统,需求,设计不敢说能做多好(达到验收基本没问题),db2,oracle,sql server 也都有几个项目经验.其中对oracle数据库的优化,数据库锁什么的,都做过相关研究(当然属于业余兴趣).
但是近一年来,我从事的是嵌入式设备相关工作主要做嵌入式linux和c/c++,驱动,arm等.除了ANSI C以外,对GUN C(做过linux kernel开发就知道二者区别)c++(gcc,g++编译环境)的STL,及kernel的source投入比较大精力,工作中还开发过netfilter,ebtables的extension.还弄过uboot,redboot等bootloader,
对于字符驱动和网络驱动部分比较熟悉.除了TCP/UDP,socket之外,对于链路层的LLC和MAC等layer也有一定熟悉(因为公司主要是做ad hoc和mesh网络设备的),还有shell,awk什么的就不多说了.
从较上层做到较底层,一路下来非常痛快.因为很多东西是相通的,ajax框架中的涉及浏览器兼容性的js,与kernel之中处理不同架构(arm,x86,mips等)兼容性的宏,UI的事件驱动与kernel module的事件驱动,数据库锁,并发与kernel中的spin_lock,semaphone. OO与linux中的cdev,MTD等设备抽象层.IOC与设备注册,乃至java中的一切继承自object对象,与"UXIX中的一切皆文件".
几乎可以说不管什么系统,把握住"流程,接口,模块",这三个立足点.不管什么系统设计把握住"实体与抽象",就能一通百通,很多体会我只有做过业务系统(如用j2ee),和低层开发(如:linux kernel)的相关开发才有所深刻的理解.
[/Quote]
牛人啊,
瞻仰一下。
zhongjin_cnaf
2009-09-26
打赏
举报
回复
首先熟悉linux编程,《UNIX环境高级编程》个人觉得很有必要看
再深入理解linux操作系统,可以先看本薄点的,是Rober Love的《Linux内核设计与实现》,看完了就可以转入驱动开发了。但是建议学到一定程度再回过头来看看那本很经典的《深入理解linux内核》,这时你对linux驱动开发会有很多新的认识
然后就可以转入linux驱动开发学习了,可以看经典著作《linux设备驱动开发》,国内的宋宝华有本《Linux设备驱动开发详解》还可以
一定要多动手实践,勤于思考,不要光看不练。学习过程中如果发现哪部分知识不足、妨碍理解的话,一定要及时补上。
学习的过程很枯燥却也充满收获的喜悦,成功只属于能够持之以恒的人。三天打鱼两天晒网是什么也做不成的
songbeirui
2009-09-25
打赏
举报
回复
有没有更详细点的介绍.想在linux下做开发.
liwenso
2009-09-23
打赏
举报
回复
友情UP
抬头望远,低头沉思
2009-09-23
打赏
举报
回复
呵呵,支持一下
oLINo
2009-09-23
打赏
举报
回复
转就转喽,从新学起。
先复习复习C语言,汇编。
看windows驱动开发那本书,熟悉DDK,deiverstudio开发工具等
一个
Java
程序员
应该掌握的10项技能
一个
Java
程序员
应该掌握的10项技能一个
Java
程序员
应该掌握的10项技能
疯狂
Java
程序员
的基本修养
《疯狂
Java
讲义》最佳拍档,扫清知识死角,夯实基本功
Java
程序员
面试宝典之
Java
SE视频课程
总结
Java
基础相关的面试题,比如:
Java
基础部分 面向对象 异常 集合 多线程 IO流
程序员
表白专用程序
程序员
表白专用
程序员
的呐喊,完整扫描版
比如
Java
真的是一门优秀的面向对象语言吗?重构真的那么美好吗?强弱类型语言到底哪个更好?敏捷真的靠谱吗?
程序员
要不要懂数学等。另外,他还谈到了很多大公司的理念,比如亚马逊做平台为什么那么成功等。最后,...
community_281
593
社区成员
254,048
社区内容
发帖
与我相关
我的任务
community_281
提出问题
复制链接
扫一扫
分享
社区描述
提出问题
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章