个人嵌入式学习之路(好文推荐) java
前言
这个题目很大,给人一种感受我好像很成功,其实否则。实际上本身水平不高,甚至很低,可是作过了一些曲折的学习道路,同时把本身真实的学习历程表达出来,但愿对后来者有借鉴的意义,甚幸!
工做三年、几成废人!
我2000年毕业于华中地区的一个理工科大学,专业是机械电子,我当时已经签了一家内陆某个省级机关工做,家里八辈是农民,而且很偏远,可以进入这样的地方是祖坟有风水。但在毕业前夕有个进入it的机会,我本想进去的,家里人极力反对,阻力可想而知。同时要交4000元的违约金,对我来讲是天文数字。大学里的费用不少是借的,几乎将近一半的费用是在大学勤工俭学挣的,为了省钱,高中一个学期回家一次,大学一年回去一次。而且我我的也有特殊的人生背景(悲景更确切),这里很少说了,写十篇也写不完,同时偏离主题。这样我就参加了工做。一张报纸一杯茶的日子,几乎下班后有种很空虚和恐慌的感受。在工做中虽然是与本身专业有点关系,可是不多。专业几乎荒废。我本身也思考,若是再不出去,本身将会成废人,只好让国家养了。两年后决定出去,可是几成废人,谁要呢,只好到学校去镀金。这是中国教育和社会的悲哀!
至于专业就改成计算机方面,据说好找工做,我说实话不是很对计算机特别感兴趣,生存第一须要。不要笑我,哈哈!
考研成绩出来,超过了国家线几十分。那个方向要两个,我第三,可是那年非碘,不面试就按分数来排,天然我落选了。其实给我面试机会也不必定要我,哈哈,本身几斤几两很清楚。
最后调剂到另一个学校,交钱,咬咬牙,交吧!如今仍然债台高筑!
进入学校前夕
为何要把这段列出,看后就知道了。
单位有网络,常常上网查些英语资料,在那里惟独英语没有丢不少。因而我就在网上查资料,学什么好呢,最后肯定学嵌入式把,据说跟硬件相对比较紧密!而我在大学里多少学习了数字电路,单片机等,因此多少也有所利用,不会真的一无所知。固然在这以前也自学过数据结构,计算机组成原理等。C 语言在大学就学了。哈哈这就是个人家底。
我知道本身的基础差,因而我就拿操做系统,数据库、数据结构、c++来看,机关有这个好处,空余时间多,因而日常就看书,很痛苦,没有人请教。
另外就上网到论坛上去,我就到各个专业的技术论坛,实际上是电子论坛和嵌入式论坛。我几乎没有发帖,几乎把几个大型的出名的论坛的帖子翻遍了,虽然有不少重复的,我才知道嵌入式是个什么东东。这些帖子对我之后的学习产生了极大的影响。
最关键两点:一、嵌入式是什么?
二、嵌入式须要哪些知识?
知道了这两点,好办!我就开始规划学习路线。计算机的基本理论不能丢,因而重点看组成原理,数据机构,操做系统、c++。同时论坛上了解到,实时操做系统ucos是一个很好的嵌入式操做系统,对初学者很好。因而我就买了一本书,可是代码在电脑里调不通,网上也有不少相同的问题,我就看书,分析代码,一遍不行就两遍,三遍,这样才看了入了门,才知道什么是进程。原来看操做系统书时,根本就不知道进程是个什么东西。
在这段时间掌握的东西很少,可是,对我之后的影响很大,我想起了大学时一个同窗跟我说过了一句话:大学里最重要的不是学到了什么,最重要的是学会怎么学!大概是这个意思。
进入个人避难所
对我来说,再次进入大学再也不是大学,而是避难所。但愿此次进入给我喘气和养精蓄锐的机会和时间。我是这样认为和实践的。
在学校我有三件事:上课,上图书馆,上网。
对于上课,学校开了不少课程,很是好,不少是名人名师讲解,因而不少同窗都想学,都去听。我也考虑过,最后放弃。我是这样认为的,时间是有限的,什么都想学,什么都学不成。因而我把我本身学的课进行了分化,通常的课程经过就行,重要的必定好好学。我但愿不要什么争论学习课程多和少的问题,这仅仅是个人见解。因此个人成绩应该是不好的。分数低。好在后来的单位没有要个人成绩单,不然就惨了。
我我的感受是上图书馆的效率比在寝室里高多了,这是个人经验。
上网,我给本身定了规矩:不玩游戏,不灌水,少看电影!由于时间对我来讲太少和宝贵了,我没有资格和资原本浪费这些。上网我就在几个重要的专业技术网站上逛,下载技术资料。我一个朋友最近开了一个嵌入式网站,www.embeded.cn 里面的资料至关一部分是我在网上找的资料。那个网站很不错,资料丰富,找嵌入式方面,特别是嵌入式linux的资料,异常丰富。
有人会问,您下了那么多资料,怎么看的完和消化的了呢?
我是这样对待这个问题的:
一、 网上资料比较零散,不系统,可是若是把差很少的东西收集起来看就相对完整了,(嵌入式的图书就是这两年特别多,特别是2004年,简直是向外涌!2003年想买本嵌入式,特别是嵌入式linux的很少。)
二、 对于像我这种入门的来讲,不少看不懂,不要紧,反复看,我我的对学习方法的一个总结是:重复是最好的老师!
三、 即便有的用不上,也能够收集之后用的上时查阅。
可是我并不是什么都要,目前个人技术路线是嵌入式linux,因此像wince之类基本上不
收集。
总之,我在学校里我充分利用时间来学习,我看到一些同窗成天的挂在网上打游戏,发
些无关痛痒的帖子,浪费时间呀!我真的很痛心!
学习嵌入式
在这里我把它单独列出,文章有点紊乱,可是内容但愿有益。
一、学习linux
根据我在论坛的了解,我选择学习嵌入式linux,恰好咱们学校也重视嵌入式linux,从实验室到课程安排都是关于嵌入式linux方面,天时地利!这里我把学习linux的经验和教训说说。
能够这样说,在论坛里说道学习linux差很少就学习linux内核。因而我电脑里安装了linux就开始看linux内核方面的书了。我记得来学校之前就买到一本陈莉君的讲linux内核的初版,如今有第二版了。我就开始看那本说,你们说linux内核情景分析不错,我就买了上下册,后来又买了 《深刻理解linux内核》,最后也买了毛德操的《嵌入式系统》也是分析linux内核代码的,主要讲arm相关的。
看内核期间是个很是痛苦的过程,看情景分析有种在森林中找出路,其间我组织了一些同窗学习内核,几乎没有几个能坚持下来的。我认为我是坚持下来了。情景分析在看第1、第二遍是几乎没有摸到门道,我分析有三个方面的缘由:一、本身的基础差,这是最关键的。二、内核自己很难。三、没有交流和高人指点。到了第三遍时我才摸到门,才差很少知道个linux的大概脉络,不少细节也是稀里糊涂。
学习linux总结,这里声明一下,我指的嵌入式主要是偏向软件的嵌入式。学习嵌入式的重点和难点关键在操做系统,若是没有掌握操做系统,我认为很难把握一个嵌入式系统。即便在作嵌入式开发中,做应有层的开发几乎能够不知道操做系统也能够开发,我认为那是浮在表面的。很难深刻和提升本身的层次。声明:一孔之见!不可深究!
在学习linux内核过程当中犯了一个极其严重路线错误:对linux几乎不懂就开始学习内核。我我的推荐一个学习路线是:使用linux—〉linxu系统编程开发---〉驱动开发和分析linux内核。而我差很少相反,实际上你不会使用linux也能够学习内核,可是若是你懂了这些东西学习更有效率。
关于要不要学习内核的问题,个人回答以下:不必定。若是你是喜欢钻研的那你进入内核会知足你的欲望。同时对你之后的嵌入式系统的开发有很好的影响。若是你想从事嵌入式linux系统开发,最好对内核有所了解。若是仅仅是作应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林派别的话,如什么拳法,什么刀法等,那么linux 内核应该是一我的的内功的反应。
怎么开始学linux内核:最好有三件宝物:《深刻理解linux内核》《情景分析》和源代码。
先看《深》,那主要讲原理,好像市场上有本讲原理性而且更浅,《linux内核设计与实现》据说不错。若是没有学习操做系统的,像我这样的,最好先看看操做系统原理的书。看了几遍后,就看情景分析,最好对着《深》看。两本交叉看,《深》是纲,《情》是目。最后深刻代码。
二、学习嵌入式linux
学习嵌入式,我认为两个重点,cpu和操做系统,目前市场是比较流行arm,因此推荐你们学习arm。操做系统不少,我我的对开始学习的人,特别不是计算机专业的,推荐学习ucos。那是开源的,同时很小。学习很好。为何选linux,我不想讲太多,网上这方面的太多,可是我在工做中发现,作linux的技术路线很难,在windows几乎不会有的问题,在linux开发中几乎遍地陷阱。一掉进去划很长时间出来,一旦解决本身又长进了!相对来讲开发周期长,难度大。如今资料也逐渐丰富起来,难度也下降了些!
至于怎么学习,这是他的特点地方,必须有块开发板,我是同窗里最先买学习板的,虽然化钱,我认为值。对我实习和工做产生了很大的影响。
若是没有开发板,那是纸上谈兵。有人说,那要1000-2000亚,的确是,兄弟,看长远的,对您的职业和发展那点钱不算什么!有的人说我站着说话不腰痛,好吧,钱这东西对我影响很大,我在大学里扫厕所,扫的不错,奖5元/月。兄弟你有过吗?我认为教育投资是效益最有保障的!我实习拿3k,不少同窗拿1-2k,固然比我高的也有。虽然我如今没有毕业,但一家公司就签了。从事目前流行的高档的消费电子的研发。对于我两年前一无所知的我,应该有质的变化,我感谢学校收了我这个废品。固然我也很是的努力。说这么多并非要炫耀我什么,实际上根本不值得炫耀,虽然如今工做环境和待遇比较满意,可是,我发现我不好,特别是代码能力,我但愿日常你们少玩游戏,多编程。编程才是硬道理!
三、 学习板和培训
你能够不接受培训,可是不能不买开发板。若是你想学习嵌入式必定要买块学习板,最好买块arm9的,贵些也值。能够跑高级操做系统。这个不要什么品牌公司的,通常不会出什么问题,市场上的板子通常是三星的2410,基本上是抄的。若是是作产品那要注意些。通常的公司通常要2000,加lcd要3000甚至更多。我接触到有的板只要1200,加lcd也就2000,差异比较大,我认为学习都够啦。
对于培训,若是有条件最好参加,主要是嵌入式相对别的不一样,本身摸索很费时,若是有高手指点很是的好,进步快。特别是认识作这些的朋友。我接受过培训,认识个朋友。在之后的工做中帮我不少,在这里谢谢他!我记得哈佛的一个MBA的学生这样说,大意是:在哈佛学到什么不重要,最重要的是这些将来各大公司的高级管理人员是个人同窗!真是有远见!
目前市场是培训比较贵,一个星期两三千,真正算起来也要,那些讲师待遇绝对不会低。可是有个致命的问题是连续上课,一连几天,效果不佳。我但愿社会上多出些1000元左右,而且时间长些,如一个月,一周一到两次课。若是没人作,我来作,哈哈!
没有想到,一下写了这么多,其实还想写的,好比在中科院的一位老兄是怎样学习linux内核和看书的,真的很感动。他的为人我很钦佩。也想介绍毛德操的《嵌入式系统》那本书,对学习arm linux的很好,也想介绍实习和工做的东西,太长了,耽误你们时间。我也不想检查里面的错别字了,不少!就写到这里吧 linux