我目前是作java 企业计算方面的软件开发,现在有一份作51单片机的工作机会,不知该不该去做?我想往嵌入式方向转,我的定位是linux+arm, 看网上讲51和arm相差很大,不知我从51开始接近嵌入式开发有没有什么问题?有没有走弯路?
我的情况是:8086汇编、C语言、数电较好,操作系统基础、计算机组成原理一般般,数据结构稍好,51单片机稍好
想请教专业人士给一些指导,谢谢啦!
你这一下跨的太大了,俺认为51上的工作大部分是软的。linux+arm也是软的,所以个人觉得没有本质差别。如果没地方去,那就去吧,这年头,工作也不是好找的。
其实还是问问自己想做什么?
要走LINUX + ARM的话,那说点不好的。。。51和这些个没多大关系。
当然,你要做非常底层的开发那么只有不太多一点的共性
这一版块,太没人气了,是不是大家都成大侠了
如果成大侠了,也常回家看看嘛,家里太冷清了
据说努力顶帖也是一种美德,但我只想大家常回家看看
毕竟每天都有新手需要帮忙,而我能帮的只能是把帖子顶起来
JAVA还是好点,薪水高,还没有搞硬件那么麻烦
个人意见
从JAVA转嵌入式就是抛弃JAVA了,跨度太大
你应该是计算机专业的吧,相关的基础也有
但是51还是和ARM不在一个档次的,51太简单了
你的定位不错,ARM+Linux是目前比较吃香的嵌入式软件开发组合
关于ARM+linux,涉及两块:
硬件:
需要对微机原理、单片机、处理器等有所了解,基本上搞明白一种处理器如ARM、MIPS、PPC、DSP,学习其他的就很快了
最底层的,驱动开发是最常见的工作了
这需要对各种硬件总线接口等有所了解,如IIC、USB、UART、SPI、PCI、PCMCIA、SDRAM、FLASH等,设备千差万别,单基本的连接都是通过这些接口进行的,搞明白了接口剩下的就是具体芯片的事了
软件:
如果你想搞嵌入式软件开发的话,不学点操作系统方面的知识你会发现没什么市场
现在基本上是个平台都想跑个操作系统
控制类的uC/OS-II,eCos,这些都是小型的操作系统,学起来简单,但在求职中市场小
手机类的,如wince,sybian,PalmOS,搞sybian、PalmOS的人还不多,wince还是挺火的
网络通信类的,如vxworks,Linux,大型复杂的操作系统
当然还有不带MMU的,如uClinux,Nucleous等
个人感觉尤其是Linux是目前求职市场中最火的,主要是由于其开源的优势,很多单位都在往这方面投入以减少成本
如果以前对操作系统方面了解较少的话,个人建议可以先学学uC/OS-II,简单易上手,主要是借此学习操作系统的相关知识
然后主打Linux,要结合开发板来学,这样才上手的快
本人写过《嵌入式Linux学习七步曲》一文,介绍了下从bootloader,到内核移植、文件系统,中间的驱动开发,到上层的应用程序调试、开发环境等,有兴趣的话可供参考
http://blog.eeworld.net/sailor_8318/archive/2007/09/03/1769662.aspx
多大了???
年龄是个问题哦 呵呵
从51做起,也未尝不可,做嵌入开发,和PC应用开发还是有很大差距的
若是在嵌入系统上做应用开发,那还是和PC上差不了多少地
《嵌入式Linux学习七步曲》一文
有详细的介绍么??? 笔记呢?没找到哇
楼主还是看自己的兴趣爱好,编程的东西很多都相通的,虽然工作起来会感觉不一样,但本质上就那么回事,你有这方面的基础,如果你还年轻,生活还稳定,出去闯闯未尝不可。看你自己的了
To wanyeye
相关文档太多了,我没有将详细内容都贴上去
主要是个学习提纲,网上的资料很多,按照那个提纲搜集相关资料就可以自学了