目的
     回想自己从2000年自学单片机开始,到后来的ARM,再到Linux,经历了很多,也体会了很多,有经验,也有教训,所以希望通过此次机会与读者相互交流,也让更多的爱好者在自学过程中有所借鉴。如果能得到您的共鸣,请给阿南写信(ccn422@hotmail.com),真诚期盼成为您的朋友、知己。

初识单片机和电子竞赛
   大一的暑假没有回家,留在学校里希望能向王师兄(我的老乡,也是校友,当时他在帮老师做些项目)学点技术,后来他向我推荐了单片机和全国大学生电子竞赛。和普通学生一样,想着要是能参加电子竞赛那是多么自豪呀!且对单片机很是好奇,于是去图书管借了些基础书来阅读,很快就被它的强大功能所吸引,也有了想迅速学好它,将来参加电子竞赛的念头。

买仿真器,下定决心学好单片机
   由于当时学校还没有开模拟、数字电子等专业课程,所以学单片机还是很困难的,一般我都拿两、三本单片机基础书一起看,这本没理解清楚就对照着另外一本再看,旁边还会放着模拟、数字等基础教程以便查阅。
   暑假很快就过去了,在这段时间虽然不做其它事情专心学习,但单片机毕竟是一门实践性很强的技术,在没有多大的进展后又找了王师兄,告诉他学习的困惑。他告诉我要想学好单片机,必须要有个仿真器实践,大概要1500元。天哪!这么贵?这对我这个农村的孩子来讲,实在太贵了!另外买了之后,还不一定就能学会呢!经过一个星期的思想斗争后,终于下定决心要买。当时的想法是这样:“从小家里就穷,父母赚钱很辛苦,姐姐为了生活也早早辍学,他们为了我能上大学将来有所出息真的复出了很多心血,所以我必须学好技术,将来出人头地回报他们;如果我要参加电子竞赛且取得好成绩,在技术上必须要超越同学、师兄及其它院校的同龄人,而论聪明、基础不可能占优,唯有比他们更早的开始,更加的勤奋和善于思考;是的,很心疼父母的这些辛苦钱,也正是这原因更加的会促使我必须尽最大的努力,更加勤奋的学习”。
培养兴趣,它是最好的老师
   买了仿真器后,我比以前任何时候都更加的勤奋了。图书管、书店找书学习,独自骑两小时自行车买器件,万能板上焊接电路,学习自己编程,用仿真器仿真,万用表测量各种信号变化等。我到了一种对单片机近乎疯狂的地步,调试遇到困难时非常的痛苦(上课、吃饭、睡觉都想着它,去图书管、书店查书分析原理,找师兄请教等,还渴望着要是有个单片机培训班该多好啊),解决问题后又是那么的畅快和兴奋,就这样对它产生了很深的感情,也已不再是当初的具大压力和包袱下学习了,而是在一种很浓厚的兴趣下享受着它给我带来的喜怒哀乐。

冲破难关,学会独立
   时间过的真快,自学单片机已经一年了,这个暑假我依然没有回家,而王师兄回家了。在这一年中,我对51系列单片机的原理已经差不多都理解,也实验、测试了所有的片内外设,只有并行通信测试还一直没有成功过。就是ADC0809的A/D转换实验,已经断断续续调了近两个月,分析了所有书上的相关内容,对原理也已经太清楚了,而仿真器就是采集不到正确的数据。当时遇到困难时没有像现在这样方便的网络,也没有示波器,只能分析书本和凭自己的想象和试验,另外总是期盼着师兄能帮助解决,但是我不能总依赖他人,必须学会独立。后来静下心来想了各种解决、测试的方法和线索,一个个排除,最终在仿真器说明书中发现“POD52仿真头的P0、P2口只能用作I/O用,POD51可以作为总线用”,由于一直使用POD52的头,所以读写等信号都没有出来,换成POD51果然就成功了,当时真的很兴奋!之后我的单片机学习就变得非常顺利,一般的系统都能独自完成,也终于可以自豪的宣告:我的单片机入门啦。在这一过程中,我体会到了独自思考,解决问题的重要性,也明白了开发工具在实践过程中所起到的作用。其实很多问题是要用示波器测试,和请求工具厂商技术支持的。

上帝是公平的,机会留给有准备的人
   入门单片机后,不仅自己做些小课题,也用它完成课程设计,参加校里组织的竞赛等。虽然没有像身边同学那样积极参加院里的工程师摇篮协会,但自己的勤奋、动手能力及对单片机的执着还是得到老师的肯定。初识贾老师(负责组织参加全国大学生电子竞赛的老师)时,他给了一道99年的竞赛题——工频真有效值表。该题有很多的运算,考虑到汇编语言实现的难度,所以那时积极的学习用C语言为单片机编程。在大一时开过C语言的基础课,再加上良好的汇编语言为单片机编程的基础能力,这课题也很顺利的完成了。之后,贾老师将我推荐给方老师(方老师是学校99届的优秀毕业生,留校任实验师,也是源峰科技主要的研发工程师)。目的很明确:学好单片机备战03年SONY杯全国大学生电子设计竞赛。
   从那以后,我已不再是自己一个人在宿舍里学习,有方老师的指导,也不用再骑车买元件和只有万用表测量信号。实验室什么都有,常用器件、电源、最好的仿真器、示波器等。也不仅仅只在学习单片机和C语言编程,还要学习单片机以外的相关技术,如Protel绘制原理图、PCB制板,学习各种总线和协议,学习电机控制等,还要学习PLC、MCGS组态软件以及VB。最初是由于备战电子竞赛才被贾老师安排到方老师身边,而这2年半的时间里,我早已不仅仅是为了竞赛,更多的是在体会和享受着整个学习过程,将单片机实践应用的过程,体会方老师对技术对工作的一种专注和执着。
   回想自己五年的大学学习生活,感觉真的很幸运,最初的王师兄,后来的贾老师和方老师,以及没有提到的女朋友及所有帮助过的朋友,在此对他们表示衷心的感谢,感谢他们总是在适当的时候出现,指导和帮助着我,让我为之感动,为之奋斗。同时也深深体会一个道理:机会总是留给足够真诚,足够勤奋、执着,有所准备的人;连自己都不能感动,何以感动别人?感动上帝!

坎坷的一年 —— 技术上的追求而不断放弃工作
   当同学们纷纷进入大中专院校,从事一名让多少人羡慕的稳定的教师岗位时,而我却选择了南下打工,希望在技术上有更高的造诣。
   当时ARM在国内已经流行,我和广大爱好者一样,和当年初识单片机一样被深深的吸引,特别想掌握、应用它。最初很想加入广州周立功(专业从事单片机、ARM等相关技术的推广公司),但最终失败。然后去了深圳一家从事无线网卡开发公司,但因不是向往的单片机、ARM应用开发,又去了广州一家公司,从事单片机的应用开发。半年后作出了一个让很多人都很难理解的决定,去深圳一家从事ARM等开发工具的推广公司,而待遇只有原来的三分之一,省吃俭用基本只能维持自己生活,而且这里除了老板外,只有自己才算是从事技术的,白天给客户送货,做技术支持,晚上独自学习、研究ARM,周末再回广州看望女朋友。但是至今我都没有后悔当初的决定,因为那里有我学习ARM所需的一切硬件平台和那段难忘的经历。经过一个月断断续续的努力,使我在不懂ARM的情况下独自调试完成了AT91SAM7S64DEMO板。7S64当时还很少人应用,没有中文资料,出现问题要自己解决,所以完成后让自己信心大增,也深深体会到只要有基础、动手能力,有开发工具,无论是ARM还是DSP等,有决心都能很快的掌握。那段时间,也让我有机会去过很多公司,了解到很多工程师,了解到他们都在应用、学习些什么技术,也是那段时间知道了Linux,也意识到了单片机、ARM及Linux等技术是一种工具,开发产品的工具,当你很好的掌握它时,就可以开发很有价值的产品,同时如果不能最终的利用它开发有实践意义的产品,也就失去了它应有的价值,而且也只有在无数次实践产品的开发过程中磨练它们,才能更深入的体会出它们的精华和缺陷。没过多久,在了解公司策略、方向后,为了技术上的更高追求,我再次离开深圳回到广州,此时没有急着找工作,而是继续完成uCOS在7S64的移植工作,及进一步的学习ARM,学习更加常用的处理器:S3C44B0、S3C2410。

该是安稳工作的时候了
     我于05年8月1日正试进入目前的这家公司。回想自己在不到一年的时间,居然就职过四家公司,这让我的内心极度疲惫与不安,所以自从第一天上班开始就下定决心,无论多么困难,无论有什么理由都要坚持下去。
     中小公司的好处就是锻炼的机会多,只要您有本事都可以完全展现出来,不会有英雄无用武之地,所以之前学的ARM、单片机很快就在这里展现出来,得到公司及同事们的认可,也于年底顺利的完成了第一批产品样机,让自己深感欣慰,也再次感受到产品成功开发带来的喜悦。

工作之余学习Linux
   掌握ARM后,我就开始学习Linux。因为有单片机的基础,所以很快就可以上手ARM,但是Linux却不能,还是有很多知识需要学习,先要学会Linux下的基本操作及命令,然后学习应用编程,驱动以及网络和GUI,不过我们已经有C语言的编程能力及ARM的硬件基础,上手它也不难。另外有很多朋友提起Linux总是想到Linux内核的学习,然后被它大量的内核代码所吓倒。其实我们需要紧记自己是应用工程师,一切以应用为主,只要能基于Linux开发出想要功能的产品,出现问题能够顺利解决,其它不需要的可以暂时不用学习。
   虽然平时的工作挺忙,也时常需要加班,但我还是坚持利用晚上、早上及周末等的空余时间学习,因为我知道工程师的职业生涯是短暂的,只有不断的保持学习的心态,才能让它一直延续。同时也意识到我们的产品与国外同行产品之间的差距,这种差距不仅体现在设计理念上,还有技术水平,而技术当中最明显的就是基于嵌入式操作系统的应用上。我们目前的产品虽然也使用了ARM9等高端处理器,但还都是前后台系统(就是读者常说的超级单片机裸奔),所以在产品功能的实现上出现了瓶颈,最明显的表现就是在网络应用上,虽然也可以利用如串口转网口等模块来暂时解决,但在速度等会受到限制,只能用作控制,而不能传送音频、视频。所以要想突破这个瓶颈必须引入嵌入式操作系统,这也坚定了我尽快掌握Linux应用开发的信念。

只有付出的更多才能争取更大的机会,而自信也是那么的重要
   当完成来公司的第一批系列产品后,我开始盘算着公司的下一代产品,盘算着公司明年的研发计划和任务,期待着能够突破瓶颈,大大提升产品的功能和性能。因此决定春节不回家过年,加快Linux的学习。可是家里却传来了不好的消息:妈妈身体不好,刚动完手术。这让我真的不知道该怎么办是好,经过再三思考,在电话里含着泪告诉爸爸我的决定,之后沉重的心情也导致胃病复发。
   之前我主要是学习基于PC机的Linux,过年的两个星期主要学习基于ARM9处理器S3C2410A平台的嵌入式Linux开发,之后由于平时只需对已完成的产品做些BUG调试和维护,因此上班也有很多时间继续学习。一直到5月份领导正式和我们讨论新产品的开发方案,当时我已根据自己对新产品的理解,学完了Linux等所涉及的相关知识、技术,因此我自信的提出了基于Linux下的产品方案,不过领导一直没有同意,提出了很多在Linux下产品需要实现、解决的疑问,另外一个重要问题就是能否招到合适的Linux工程师。之后,我一边对疑问进行验证,一边积极的寻找合适的Linux工程师,也联系了一些从事Linux开发的朋友,但最终都因为公司觉得要求的待遇过高,而没有批准。一直到7月份,在对产品实现所需的相关技术深入学习评估后,我坚定的向领导承诺能够独自实现、解决所有的方方面面。虽然有些害怕和忧虑,但却给自己阻断了所有的退路。事实证明那是完全正确的,很多东西并没有当初想象的那么复杂,自己也有能力解决出现的问题,时间也足够。

在有限的工程师生涯里,留下些有意义的点点滴滴
   我有一个好习惯,总是舍得花时间去记录自己在学习、工作中出现的问题,或写出心得和总结。最初是由于自己记性越来越差的原因,所以记录下来作为今后的参考。后来慢慢的积累多了,觉得它对自己实在太珍贵,也意识到对其它朋友可能也有参考价值,所以在21ICBBS上发布了这些笔记,后来得到了很多朋友的肯定与支持。现在由于北航出版社的鼓励,让我不惜花大量的时间、精力去丰富和完善它,希望能够给更多的朋友,也给自己留下这些有意义的点点滴滴。

转载于:https://blog.51cto.com/sunnydragon/224165

【转载】嵌入式自学经历和体会相关推荐

  1. 嵌入式自学多久可以找工作?应届生找嵌入式工作难吗?

    在网上有很多关于学习嵌入式的文章,说实话,如果我当初入门看了这些文章的话,应该还没开始就选择放弃了. 很多说的都太夸张了,什么要学习模拟电路.数字电路.微机原理.汇编.C语言.C++. Linux.A ...

  2. SylixOS操作系统自学经历(一)

    SylixOS操作系统自学经历(一) 我现在的工作岗位是嵌入式软件工程师,在学习过程中感谢王翾先生,陈洪邦先生,李孝成先生以及其他同事的大力帮助. 在系统学习SylixOS操作系统前我先看了<S ...

  3. 机械转行java自学经历,零基础学java,血泪总结的干货

    机械转行java自学经历,零基础学java,血泪总结的干货 1.我为什么转行 2.转行之路 3.面试之路 自学路上的网站 Java教程 实践项目一站式学习 bilibili 自学书籍 <Java ...

  4. 个人Java自学经历(半年多,已找到工作)

    相信很多人都想自学java,但是很多人自学又没有从何开始.学到什么样算好这样的头绪,这些问题也深深地苦恼着我. 一般来说有自学和去培训机构2个选择,培训机构的好处就是能在短时间内系统地教授你大量知识, ...

  5. 嵌入式计算机的发展阶段,嵌入式发展经历了哪四个阶段?

    从上个世纪70年代单片机的出现到今天,应用,嵌入式系统少说也有近30年的历史了.可以说嵌入式系统经历了发展的4个阶段.今天小编就为大家分享一下嵌入式系统发展的4个主要阶段: 1.无操作系统阶段 随着各 ...

  6. 一个高中生的编程自学经历

    年轻时的linus 最近,在看雪论坛上看到了一个高中生分享的自学经历,想起我第一次学习编程时候,当年高考后,由于大学选了计算机专业,就好奇去了看一本c语言编程(书是亲戚的)书籍,好奇心驱使我们主动去探 ...

  7. linux嵌入式开发板实训心得,嵌入式实训心得体会.docx

    嵌入式实训心得体会 嵌入式实训心得体会 篇一:嵌入式心得体会 这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃. 广义上讲,凡 ...

  8. Java自学道路心得体会

    Java自学道路心得体会 成员与静态(static) 成员变量是写在类中,成员方法是public xxx类型 xxx方法(){},它俩需要创建对象才能调用. 静态变量是写在方法中,静态方法是publi ...

  9. 计算机的中毒经历,电脑中毒的经历及体会 -电脑资料

    电脑中毒的经历及体会 昨天中午至今天傍晚,我的电脑又经历了一次"洗礼",具体情况听我慢慢道来, 问题可能出在我过于大意,总觉得自己的电脑内没有什么大价值的东东,没有人会来黑咱的破机 ...

  10. 在著名出版社出版书,你也行——记录我写书出版的经历和体会

    在技术面试中,如果你能"随意"地对面试官说,关于java(或其它)方面,我在xx出版社出了xx书,那么一些不明就里的面试官就会用"膜拜"的眼光看着你了,他们会认 ...

最新文章

  1. Nature综述:微生物的社交网络 - 营养缺陷型如何塑造复杂群落
  2. [inside]MySQL 5.7 并行复制实现原理与调优
  3. python字符串input输入_5.print()函数、转义字符、python注释、常量、字符串、格式化输出、input()输入...
  4. soap协议_Go和SOAP
  5. sql distinct 去重复 (mysql)
  6. Linux常用命令 -- screen
  7. Django框架——类视图
  8. [转] android学习和广告平台赚钱
  9. GetBitmapBits和GetDIBits的区别(Windows GDI)
  10. ubuntu opencv4 需要的依赖
  11. hibernate数据类型之间的映射关系
  12. 【FFmpeg小点记】AV_DISPOSITION_ATTACHED_PIC
  13. 最优化方法——梯度下降法、牛顿法、LM算法
  14. java面经2020
  15. UNI-APP_微信授权失败 微信授权第一次失败,需要授权两次才能成功
  16. Redis数据结构之——sds
  17. 陶哲轩(Terence Tao)对从事数学职业的建议
  18. jquery弹出层插件jquery.ColorBox.js学习
  19. 用 VMware 12 Player 安装Ubuntu 14.04.5 分区时提示“没有定义根文件系统,请回到分区菜单以修正此错误”
  20. 自定义返回上一步idea快捷键

热门文章

  1. 问题解决:wireshark之npcap无法安装、winpcap无法安装问题解决
  2. WordPress模板iDowns1.8.3+支持对接Erphpdown
  3. 直播svga礼物应该如何设计,让用户更加青睐
  4. 学习opencv3 pdf_PDF的虚拟打印机,免费又好用
  5. ADC的指标详细定义,SNR,以下内容无关: -------------------------------------------分割线----------------SNDR,SFDR,THD等
  6. fastDFS原理及环境搭建
  7. 华为eSight网络监控平台安装
  8. 压缩qcow2虚拟机镜像文件
  9. 您好,我想请问为什么地理空间数据云下载解压后只有一个文件格式,不是说有七八个段波样子的文件嘛,你们是怎么解决的呢,感谢回复
  10. js在线加密工具推荐