从单片机到Linux内核--一路的走来

2019-04-15 12:38发布

开通csdn也有一段时间了,总是想写点什么,一则想记录下一路走来的点点滴滴,二是让以后的自己遇到这般如此的困难能够事半功倍!作为这第一篇帖子,还是来总述一下我的嵌入式历程吧,虽然算不上波澜壮阔,也有点机遇在里面!希望能帮助到一些想学习或者刚踏入嵌入式的人,做点有用的事。声明哈,本人是菜鸟一枚,大牛绕道~~ 总有人说大学无用,一聊到大学就侃侃而谈的述说着大学的这样或那样的不好。我也一样,彷徨过,迷茫过,也无助过!有人说可以用鲁迅的四部书来形容大学----彷徨、呐喊、伤逝、朝花夕拾!现实的大学也的确不少这样鲜活的例子,但是也可以有点波澜,只要遇到机会,抓住了,还是可以学到很多很实用的东西。 记得大一刚进来的时候,我跟许多人一样,不知道未来在哪里(我是安徽的一所既非重点也非名校的学生),经常酗酒,抽烟,喝的醉醺醺的第二天再逃课(我是从来不会请假逃课的),也会整个周末都玩游戏,我并不喜欢玩游戏,但是没有什么事情可以干,只有玩游戏了,泡妞也是必不可少的内容,现在想想,那时候真是浪费了太多的时间,要是我能抓住那时候的时间,我现在肯定不是这个模样!!那时候我会产生一种幻觉,感觉我只是来这个学校游玩的,我的大学应该是211或者至少是一所可以称得上“大学”的大学吧,甚至我真的怀疑过,是不是过段时间我还会走的?然而现实是很残酷的......,大一飞速的就走过了,谈了两次“恋爱”,收获的是----钱没了,人也没了。记住,谈恋爱千万要看准了再下手,下手了就确保拿下,不要找个不靠谱的还当个活宝一样! 大一暑假也是很快就过了,天天在家睡大觉,爸妈总以家里的大学生为骄傲,殊不知这个大学生只是一个象牙塔末端的一个泡沫,随时都会破灭。睡了一个暑假,大二开始了,跟大一比起来,貌似最大的变化就是酗酒周期由之前的一周变为一个月了,因为总是喝酒它也会无聊。上学期还是那么波澜不惊,偶尔做下发财的梦。 其实大一跟大二上学期时候也发生过一些事情,第一个就是我在学校书画协会干了一年多,多半叫做”酒肉协会“,一大群逗比为了一个个虚衔争的死去活来!第二个就是学校的创新实验室(改变我的人生方向的地方)跟家电维修队招新,大一那会初出牛犊不懂事啊,自以为家电维修队就是一个低三下四的活,老子是来读大学的,学高级本领的,谁TM的有空去给你修家电了,不知道有没有跟我想法一致的,大错特错啊!!!修理一些小电器本生就很锻炼能力,能为嵌入式硬件学习提供很多的帮助!可以算得上启蒙恩师了!!!然后创新实验室是大二的时候招新(因为需要c语言基础),我那届的时候实验室招新是用考试的形式,后来我才知道,其实不是为了测你能考多少分,是看你有多大的学习兴趣!记得我去考试考了十分钟就跑了,感觉都不会啊,听都没听过!!这点有些跟我后来去企业面试的时候相似,一份你根本看不懂的卷子,你用手指头都可以想到自己没戏了,但是最后面试官也没有看这个卷子,而是问了一些杂七杂八不相关的事情,最后也是奇迹般的要你了,其实不是你的卷子写的多好,而是根本不是考你试卷的题目,这点对于新人来说至关重要啊,多少人上过当!!多少人与成功失之交臂,其实只要在坚持个几分钟,也就挺过去了!扯远了,回到正题,话说当时因为写不来卷子,就没有继续写下去,跑了~~~。因此与创新实验室失之交臂,与嵌入式相见又推迟了半年~~~~。 大二下学期,刚过完年,带着新年的喜庆大家都来到学校,全部一副萎靡的样子,依旧打着游戏恋着爱!我也曾经想过考研,但是都在努力听课一周后打消了念头,没有决心!!!前文说道谈过两次恋爱,第二个也就是这个时候分手的,肝肠寸断的,还为此瘦了几斤,现在想想当时就一绝世傻逼啊!!在恋爱无果,考研无望的背景下,上课还是那么呼呼大睡,也许上天开眼了,也许老师也看不过去了,看到我们天天这副萎靡的样子也不忍心了,就对我们说,说我们自动化的学生本来是个好专业,但是很多学生出去后连单片机都不懂,更有甚者连51都不会,然后告诉我们嵌入式了前途如何,说只要学会单片机,基本混口饭吃是没有什么困难的,最后说他现在在带实验室,说是我们要是有兴趣就过去实验室看看,想参加实验室的就跟他说声,大二都快结束了,晚是晚了点,但是总比睡觉强点吧!其实老师并没有说错,只要会单片机,混口饭吃肯定没有问题!而且单片机是嵌入式的敲门砖,单片机学的越好,嵌入式就越有前途。我在此对当时带我们信号与系统的陈老师表示感谢,您带领实验室的时间里实验室取得了很大的成功,取得了许多国家级省级大奖。虽然前不久听闻您已经不再带实验室了,但是实验室能取得这么大的进步,您是功不可没的。 过了几天,我们班一行十几个人去了实验室,当时的负责给我们介绍的是宋队长,宋队跟我们做了些实验室的介绍,然后十几个人中有留下了七个人在实验室,当时陈老师预言我们七个人最终坚持下来的能有三个就很不错了,再次拜服,到我们升大三的时候,确实只留下了三个,陈老师眼毒呀!拜服! 就这样一波三折,最后我还是阴差阳错的来到实验室,从那天起,我的电脑就一直留在了实验室(后来被飞贼偷了),初到实验室的时候,什么都不懂,感觉旁边的人都很高深,记得我刚开始学51的时候连基本c语法都不懂,惭愧啊,不得不承认大学的教育是有点失败! 从那进实验室起,我算是正式通过单片机接触到嵌入式了,感觉是那么的有趣,一行简单的c命令,却能将一个led点亮,神奇!所以要学习,还是要告诉我们学了干嘛,只有通过实战学习,才能达到学习的目的,而现在我们的学校,空谈理论,学生云里雾里,都不知道这些理论是做什么的,到头来只是云里看花雾里观月! 很庆幸我学单片机的时候,大牛们已经给我们总结好了,不用在跟第一批开拓者那样,研究晦涩难懂的汇编来学习单片机,从而节约了很多时间。到目前我的51学习资料还是没有删除,不时还会拿出来看看,每次都会有不一样的收获!我不喜欢看书,但是书作为重要的资料也是不可或缺的,所以学嵌入式的这么几年,我几乎都是由视频切入的,首先找到视频源,在买一本业界公认的好书,然后一股脑儿扎进去学!基本上能在很短时间内看到效果的。 基本大二下学期的时候(四月进的实验室),我就是一边看视频,一边做点小玩意,什么实时时钟、温度传感器、1602液晶屏、万年历·····,我都做过,除了偶尔出去玩两天,基本都是早上去半夜回来,到了大二快结束的时候,我感觉我51单片机已经玩的差不多了,应该换点学了,很久之后我才知道,对于51,我还远远的没有摸透,到现在为止也是如此,差得很远!对比起很多嵌入式大牛来说,我做得还是很不够,所以至今还是小菜...... 由于大三开学的时候还有一个全国电子设计大赛,所以我们也就都留在学校了,期间发生了好多事情,前文说道丢电脑也是在这个暑假开始的时候,差点就不准留校了,我想,要是当时把我们赶走,我又该落下多少啊!!不抨击了!继续正题。 大二暑假里,我用了十天左右把51单片机回顾了一遍,开始接触Altium Designer跟AVR单片机,其实一个暑假完全可能学到更多的,这里也是为什么我只是小菜而不是大牛的原因!效率不高!!! 其实AD也就是当时学了一下,做了几块板子,直到现在我也没有摸过了,不过要是要我在干,上手会很快。这里我说一下我学AD的历程吧,其实我学的时候只用了七天,我是早上去就看着视频做实验,直到11点回宿舍,就这样查着资料看着视频做着自己的实验画着自己的板子,只用了七天,我就已经比当时实验室很多人学的好了,这里也是一个经验吧,就是你们学东西的时候不要学点丢点,要一气呵成!学完了在玩,很多时候我们天天在干,却什么名堂都干不出,其实只要屏气凝神一周,也许就干出来了,但是你三天打鱼两天晒网,也许半年都搞不定! 对于AVR因为基本跟51差不多,所以其实一周左右就搞定了吧,但是我却搞了一个月!不能说没用,只是这一个月本来可以收效跟高的。AVR单片机是一款很不错的单片机,估计所有用过AVR的朋友都会被他的性能所折服,因为AVR只是一款八位的单片机,但是却不必十六位的机器逊 {MOD}多少!以至于AVR一直占领着单片机领域很大的份额!这跟他低廉的价格高效的性能是分不开的! 到这里,基本已经跨入嵌入式的大门了,大家也是一样,嵌入式是一个循序渐进的过程,你可以直接上ARM也可以不学51,但是如果你只是一个平常人,还是从51做起然后在学一款高效的8位机,msp430也是很不错的,AVR也是很好的一款!记得一个大牛曾经说过,直接上手ARM有两种人,一种是自己是大牛,还有就是周围有大牛,如果大家两个都不是,还是走常规路吧!!! 转眼就大三了,说实话,这个时候的我已经跟之前大一大二的我完全不一样了,真的是蜕变了很多,没有过打篮球,没有过泡妹子(当然是条件不足如果有妹子的话,我还是会下手的,哈哈),没有酗酒,没有游戏!!也许你会说这样的大学也失去了大学的意义了,大学是追求真理追求自由的,这里我不做任何辩论,什么样的生活是你自己选的,我只能对你说一句我很不喜欢听到的话“too young too simple!”。 大三的时候,也许就是一个收获的时候,我接二连三的参加了一系列省级国家级的比赛,先是瑞萨杯再是安徽省的比赛,再是全国信息赛!三个大赛,基本就是对我之前所学的一种考验,也是一种磨练!让我学到了很多,同时也加强了自身的知识!三个比赛一个国家二等奖,一个省级三等奖,一个参与奖,虽然奖不是很大,赛事也不是很有名,但是从合肥到蚌埠,再到北京,一路的走来,真的学到了很多,也认识到了自身的不足,也看到了好多自己之前没有看到的。真的是这样,只有去比赛了,才能清晰的认识到自己! 大三上学期也基本就是在比赛中度过的,期间陈老师让我做一级倒立摆,很遗憾,也辜负了陈老师的期望,直到放寒假,我也没有做出来!这里我要为自己辩护一下,倒立摆是不是光会单片机就可以了,倒立摆完全是考算法功底的,PID算法都不懂,你做个毛线倒立摆啊,或许陈老师只是要我认识到这个问题,但是还是很遗憾,我也只是认识到这个问题而没有解决,辜负了陈老师的厚望。 一晃又是一个寒假,回首这年,向后看很是欣慰,向前看信心满满!寒假里,我本来想是把c语言强化一下,因为到那时我还没有完全搞懂指针是什么回事!什么数据结构更是没有去研究,知道我离开学校我才搞懂指针,这是后话。有人说,每个人都有好几个影子,有聪慧的,有懒惰的,有积极乐观的也有不思进取的,好不容易一个暑假,一个月时间,要是效率高的话,完全可以把一件事情做得很精通,但是我没有,整个寒假都没有怎么接触嵌入式,期间也有很多原因,但是一切的原因都是借口!!这里也要提醒很多朋友,要是你们真的想在寒假这样一个没有什么束缚的日子里沉下心去搞研究,那就从一开始就给周围人一个信号,这个寒假我要学习,我有自己的事情要干!要周围的人都知道!!!!这样才能强迫自己去搞一件事情,才能让自己更专心更专注的去搞,不被打搅!!! 大三下学期很快就开学了,记得是三月份开始的,我在上一年就有打算学ARM但是也怕自己学不好然后又失去了兴趣,所以留给了大三下学期,正常情况下一学期入门是没有什么问题的,但是我低估了ARM更低估了嵌入式!完全没有自己想的那么简单,ARMLinux跟单片机完全不是一个概念,但是为什么人都说单片机是嵌入式的启蒙呢,只有当你学到一段时间后你才能认识到这个问题,因为ARMLinux要学的有很多。光懂硬件是远远不够的,上层要懂,底层也要动,不紧要懂面向过程的,也要动面向对象的,裸跑要懂,操作系统也要懂,最苦逼的是网络,或许有经验的朋友知道,只要网络出问题,都不是小问题,网络的问题都是不好解决的! ARMLinux有很多知识点,很多种方法,我这里就不多说了,我推荐两款视频,一款是韦东山老师的视频,有三期,讲的很好很透彻,还有一款是国嵌谢老师的视频,韦东山老师用的是Ubuntu,谢老师用的是RedHat,俩位老师授课各有千秋,各位同学们慢慢品味吧,找一款适合自己的视频,以这款视频作为切入点,循序渐进,还是那句话,ARMLinux没有想的那么简单,要是之前学过单片机的,会完全颠覆你对嵌入式的看法! 整个大三下学期我都在搞ARMLinux,但是可惜的是一个学期都没入门,这里想给各位同学说的是,如果你们也想学ARMLinux,最好找个学长,或者在网上找个高手问问,打听之后再学,我那时候就是胡乱学的,一会网络出问题,一会不知道是先裸奔还是先学Linux编程,一会又找到俩款视频,学了几天感觉又找到一款好视频,总之这学期我只学会一点皮毛,根本没有入门!! 虽然ARMLinux没有入门,但是通过这些学习,要我更深刻的认识了嵌入式,所以从那时起我就想要不要去参加培训,其实这对很多人都是一种选择,在时间紧迫,而自己又很渴望进入Linux大门的同学,培训不失是一种明智的选择,但是要看好在选择!而且要很明确方向,现实中有很多为了培训而培训,最后得不偿失,仔细 想想,这跟谈恋爱是一回事,一厢情愿的事情往往不会有什么好的结果,或许会有结果,但也是畸形! 再到后来就是工作了,我是没有上大四的,我大三一结束就离开学校了,放弃了好多比赛,放弃了跟室友们的最后一年,放弃了很多回忆,然而现在想起来,一切都是值得的,我收获到的远远高于我失去的! 我曾经也跟大家一样很迷茫,但苦恼,但是我认为我抓住了机会,赢得了今天,虽然依旧是浦东软件园的一个小菜鸟,但是能有今天的成绩我已经很满足了,要知道我大学很多同学转正的工资还没有我第一个月实习的工资高啊!! 或许我今天也与很多机会失之交臂,但是我会努力去把握,我有自己的方向,我有一年后乃至十年后的规划,希望大家也是一样,不要迷茫在大学了,大学是很关键的一个时间段,稍微失误,可能就是一辈子的遗憾,虽然说大家都是这样浑浑噩噩,但是别人有干爹,别人有靓丽的容颜,你们有吗? 或许嵌入式不是一个很好的方向,但是对于没有背景的我们,确是一个很务实的工作,只要肯下工夫,还是很有前途的!这句话不紧对你们说的,同样是对我说的~~~~大家一起互勉吧~~~
------------------写给迷茫中的你们,也是写给未来的我!