LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: linux_belial

(觅嵌入式高手)白手起家学linux直指嵌入式,用心书写那一路冰山雪地困难重重

[复制链接]
发表于 2007-10-23 19:55:17 | 显示全部楼层
我虽然是学习计算机的,但是在进入大学之前,基本上对计算机没有任何概念,但是靠着自己的努力,慢慢弥补与周围同学中牛人的差距,最后成为同学们认可的技术强人。

真正的计算机科学,不是会玩Linux,玩服务器,玩LFS,而是操作系统、算法。
我经历了前一段时间的笔试和面试,真正感觉到了知名IT企业需要的是什么样的人才,不是那些什么满口java、php的人,这些都是技术浮云,总会飘过的。靠着扎实的C语言和数据结构与算法与Linux环境编程,我很轻松的拿到了几个知名公司的offer。

在这里,我只想告诫你,不要太关注一些浮云一样的技术,那些都是过眼烟云,那些技术日新月异,如果都想学会的话,那是不太现实的。专注于底层的开发,专注于自己喜欢的东西,精通一样技术。
回复 支持 反对

使用道具 举报

发表于 2007-10-23 20:46:31 | 显示全部楼层
学习什么并不重要,重要的是每天坚持学习;选择什么并不重要,重要的是自己作出选择!
回复 支持 反对

使用道具 举报

发表于 2007-10-24 09:03:51 | 显示全部楼层
Post by ipconfigme
我虽然是学习计算机的,但是在进入大学之前,基本上对计算机没有任何概念,但是靠着自己的努力,慢慢弥补与周围同学中牛人的差距,最后成为同学们认可的技术强人。

真正的计算机科学,不是会玩Linux,玩服务器,玩LFS,而是操作系统、算法。
我经历了前一段时间的笔试和面试,真正感觉到了知名IT企业需要的是什么样的人才,不是那些什么满口java、php的人,这些都是技术浮云,总会飘过的。靠着扎实的C语言和数据结构与算法与Linux环境编程,我很轻松的拿到了几个知名公司的offer。

在这里,我只想告诫你,不要太关注一些浮云一样的技术,那些都是过眼烟云,那些技术日新月异,如果都想学会的话,那是不太现实的。专注于底层的开发,专注于自己喜欢的东西,精通一样技术。

何不谦虚,精通java和php的人也同样可贵.
回复 支持 反对

使用道具 举报

发表于 2007-10-24 11:30:42 | 显示全部楼层
看完你的帖子,从你所在公司的经历,我才意识到自己学习LFS和英文的重要性。多谢,我的努力在你的帖子里看到没有浪费时间。

仅以我自己的感觉来说: linux嵌入式系统需要以下几方面因素:
C语言: 嵌入式开发主要以汇编和C为主,汇编虽效率高不适合模块化开发,C语言是不二选择。
单片机:S51 or PIC系列。S51和PIC系列分属两种不同的结构,S51是冯.诺依曼结构,PIC是哈佛结构。国内以C51 or S51为主流,但C51逐渐被S51系列替代;PIC系列在国外很流行。哈佛结构较诺依曼的区别在于,哈佛结构是在一个振荡周期内是双指令工作,诺依曼为单指令。个人认为哈佛结构更先进一些、效率更高。选择一款合适的单片机是很重要的,实际上嵌入式系统不在于linux软件系统的强弱,硬件平台的选择是最关键的。
LFS:LFS才能定制适合硬件的最佳配置,而且在完成linux内核之前,构建编译环境等需要LFS的知识。
内核开发:基本上LFS完后,linux 2.4 or 2.6就能满足要求,但可能不是完全的。
驱动开发: 需要写内核和硬件设备的接口,这个部分也可以包括在内核开发中。
英文:只有学好了英文,才能看得懂英文的技术性资料。
数字逻辑电路:这个不是必选的,但是如果能够掌握,单片机的原理就自然明白了。如果可以自己创业,何苦购买别人的单片机。这个部分在上述掌握後,可以继续技术的一条龙深入研究。

我建议的方法顺序如下: 英文/C -> 构建linux内核(LFS)/单片机 -> 内核开发及驱动开发 -> 数字逻辑电路。

也许我说的有出入,可以抛砖引玉,让高手来纠正一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-24 13:27:55 | 显示全部楼层
Post by ipconfigme
我虽然是学习计算机的,但是在进入大学之前,基本上对计算机没有任何概念,但是靠着自己的努力,慢慢弥补与周围同学中牛人的差距,最后成为同学们认可的技术强人。

真正的计算机科学,不是会玩Linux,玩服务器,玩LFS,而是操作系统、算法。
我经历了前一段时间的笔试和面试,真正感觉到了知名IT企业需要的是什么样的人才,不是那些什么满口java、php的人,这些都是技术浮云,总会飘过的。靠着扎实的C语言和数据结构与算法与Linux环境编程,我很轻松的拿到了几个知名公司的offer。

在这里,我只想告诫你,不要太关注一些浮云一样的技术,那些都是过眼烟云,那些技术日新月异,如果都想学会的话,那是不太现实的。专注于底层的开发,专注于自己喜欢的东西,精通一样技术。
           当我选择嵌入式时,我就很不谦虚的否定了php java/jsp 等简易模式拿白领薪水的所谓热门的浮云技术,嵌入式才是基于硬件上的底层技术,如此仁兄所述,观点近乎与我,只是没想到如此高举C旗帜。YES,God is C !Thank you!
           工作不是为了糊口,因为现在社会饿不死人。能死人的方法只有做不喜欢的甚至讨厌的
工作被抑郁死,闷死,累死,无聊死。技术类工作局限性太大了。你技术做得再好,可能成千万
甚至亿万富翁么,做技术不能为了钱?如果你想到30岁再创业,那么,从现在开始,做你喜欢的工作!如果你想一直干这行,那么,从现在开始,更应该做你喜欢的工作!因为工作,并不是糊口,而是生活的一部分,工作是为了更好的生活,那么工作本身呢,如果工作本身是种折磨,那么当初你选择不喜欢的高薪工作的意图是什么呢?而且人而言,产生的价值是和你活在世间的时间成正比的!所以,做喜欢的工作吧,让你为人类贡献更多;做喜欢的工作吧,让你一直在快乐的工作;做喜欢的工作吧,让你的家人,朋友,同事都行动起来,金钱不是万能的,身心健康才是最大的幸福和资本
           顺便祈祷下,嵌入式啊,给的工资多点吧 哈哈
Post by mylife_linux

我建议的方法顺序如下: 英文/C -> 构建linux内核(LFS)/单片机 -> 内核开发及驱动开发 -> 数字逻辑电路。
谢谢 14楼的建议,我觉得不错 希望你喜欢的工作工资也能再高点哈
回复 支持 反对

使用道具 举报

发表于 2007-10-24 13:49:56 | 显示全部楼层
对于11楼的ipconfigme兄弟所说的重要的是操作系统和算法,我有点疑议。开发最重要的是思想和算法,而不是操作系统。无论windows还是linux、unix,只要思想达到一定的境界、算法够好,那就是好的。嵌入式开发也不在乎windows或者linux平台,主要看系统平台是否高效。相比而言,linux可能更适合。
但是高级开发不能高效地体现思想和算法的精髓,因为太多的特性制约了你的思想,算法无从施展。只有到更低端的开发中去,思想和算法才能充分发挥。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-24 16:09:34 | 显示全部楼层
楼上的记得计算机是怎么出现的么 ,还有操作系统为了什么而出现的?去翻下历史就知道谁的观点对了
回复 支持 反对

使用道具 举报

发表于 2007-10-24 22:40:00 | 显示全部楼层
Post by linux_belial
楼上的记得计算机是怎么出现的么 ,还有操作系统为了什么而出现的?去翻下历史就知道谁的观点对了


我对你所说的有点糊涂,好像这话是对别人说的。
回复 支持 反对

使用道具 举报

发表于 2007-10-29 17:34:54 | 显示全部楼层
其实LZ只要学一样东西: English.
然后到网上找吧,论坛,mailling list , mailling archive,之类的。
要知道程序员的工作语言是英语。
在学校里是老师带着你学,出来工作就是自己学习了。
回复 支持 反对

使用道具 举报

发表于 2007-11-3 13:49:28 | 显示全部楼层
该干嘛就干嘛,顺其自然吧。太刻意自己的就业方向不是明智之举。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表