各位学弟学妹好,我是武汉华清远见14121期学员,来自北京理工大学自动化专业。
现在公司主要从事基于环境能量采集的无线无源楼宇控制系统的研发和应用。公司前期产品主要面对商业和公共建筑的节能和智能化改造,同时公司的产品策略进行全面调整,聚焦在智能家居产品的研发上。团队在无线超低功耗传感器、控制器和网关的研发上积累了很多经验,所以当给我介绍这些的时候,我还是果断的选择加入。
转眼之间,我从2014年12月到华清远见开始学习到现在已经有4个月时间了,学习课程已经结束,项目阶段已经开始了。这四个月的学习时间里确实有很多感想,想在这里和大家分享,也给自己一个留念。
先说说当初来到这里的原因吧。在来到华清远见学习之前,我已经工作了3年的时间。在这3年里,我主要从事交流伺服驱动的软件设计工作,3年也学习了很多东西,掌握了一些技能。但是工作到一定的时候,总觉得在控制领域,很难更进一层,其中的理论知识确实很让我头疼,鉴于自己的情况,我决定放弃在控制领域的深入学习。由于我本人对于嵌入式的内容有相当的爱好,同时我有在多种单片机,DSP平台开发的基础,并且嵌入式行业的前景较广,所以我考虑想转向与我之前工作领域相接近嵌入式行业。我认为我既然要做嵌入式工作,要进入这个行业,就要能够做出点成绩,拥有一定的能力,就要够专业。显然,以我之前的在裸机上开发程序的基础,要达到我对自己的要求是不够的。所以我在权衡了各方面的条件和需求之后,我决定辞职,然后进入一家嵌入式培训机构培训一段时间,这样获得的知识更系统,提升能力也更快。在比较了武汉的几家培训机构的情况,我选择了华清远见武汉中心。
2014年12月10日,我在华清远见的学习正式开始。在这里,总共学习了C语言,数据结构基础,Linux应用编程,Java编程基础,Android应用编程,ARM裸机开发,ARM Linux系统移植,ARM Linux驱动开发,Android系统移植等课程。下面我谈一下对于各门课程我的浅薄的一些理解。
C语言学习。C语言是做很多软件开发的基础,它非常重要。关于有多重要?有句话说“C语言是用来开发其他编程语言的语言”,我认为这句话在百分之九十的情况下,是对的,所以C语言是根本。我在来华清远见之前,我对于C语言的把控能力是我可以使用它的基础功能,简单使用循环,分支,判断语句写个裸机程序。来这里学习了之后,我对C语言中的一些内容有了一定的理解,能够有能力去考虑某个函数,某个语句块是为什么要这么写,去思考程序代码,每一个变量,每一个函数如何在内存中存储,程序运行时,内存中的数据是如何变化的。经过学习,写程序的思维有所不同了,这是一个很重要的收获。
数据结构学习。关于数据结构,我们其实学的不是很多,但是学到了其中的主要思想。在实际情况中,存在很多种不同的算法,但万变不离其宗,到根本都是一样的。其中包含的不外乎两点,一是数据如何在内存中存储的,二是程序的逻辑,如何操作内存中的数据。写程序重要的是思想,算法是核心,语言都只是工具,这是我学习后的感悟。
Linux 应用编程。Linux应用编程是一个比较有意思的内容。在我来这学习之前,很少接触到应用编程。学习了Linux应用编程之后,对于网络编程,多进程编程等以前觉得似乎比较难的东西有了新的认识。积极去动手,认真动脑,真正理解了Linux中各个接口该怎么用,为什么要使用它,就觉得这些东西,其实不是很难的。
Java和Android应用开发。我们学习Java主要是为Android应用开发学习打基础,我们确实只学了基本的一部分,主要是学习了Java语言的面对对象编程的思想。Android开发,我们学习后,可以开发出一些简单的手机应用。由于我们学习的时间偏短,加之之前在Java方面的基础很少,所以我认为如果有兴趣做Java相关的开发,还需要进一步深入学习,以达到更深刻的理解。
ARM相关课程。ARM相关的课程,一共有3门,这部分是我们学习的久的课程,而且因为设计到硬件,也可能这是难度大的课程。ARM裸机程序部分,我是很熟悉的,之前有在ARM平台开发过逻辑程序,这部分学起来很轻松。但是系统移植和驱动开发部分,在学习的时候确实感受到压力很大。原因有三:一是因为移植相关的代码量都比较大,内心对于要征服一个大工程不是很有信心;二是因为系统移植和编写驱动都是在别人给定好的框架上去编写和修改代码或者理解代码,很多时候找不到这个思维的逻辑;三是因为我们学习的内容很多,来不及彻底地消化和吸收。
然而,在学完之后,我再去复习和再学习一遍时,发现也不是那么难,其中的内容也并不是很多。如果只是为了做移植或者开发一个简单驱动,并去需要把所有内容都理解,只需要按照给定的框架把需要修改的地方修改一下,把需要配置的地方配置好就可以了,这个目的以目前的学习程序应该是可以达到的。如果确实想彻底理解其中的精髓,我的想法是:先不去理解每一部分代码,而是宏观地把u-boot启动,Linux内核启动,Linux驱动框架理解一遍,把每一步在笔记上记一边,然后再针对这每一步,对照上课笔记花上一天两天时间去理解一下,然后会有一定的自己的领悟与见解,直到各部分能够再大脑里贯穿起来。只要不害怕它,能够坚持,我相信一个月,两个月,总有一天我能够把他们完整地理解。
然后,我想在这里对各位老师表示我的敬意与感谢之情。这里的每一位老师都是我们应该学习的楷模。文老师严谨的思维,程老师认真的态度,陈老师求是的精神,王老师钻研的精神,曹老师负责的责任心,都让我印象深刻,他们身上的优秀的品质,令我钦佩,我将以他们为榜样来激励和约束自己。还要感谢我们的班主任,非常的负责,对我们很关心,总是提示我们要注意休息,注意身体,天冷加衣服,在我们需要的时候总是热心帮忙。还有其他很多老师,都在半年的时间里,为我们做出了许多付出。这里对各位老师表达真诚的谢意,我祝愿各位老师工作顺利,一切都好!
后,也得对我的各位同学们说,感谢有你们的陪伴。这半年和大家相处的时间是一段非常美好的时光。祝福大家,祝愿大家能够学习开机,找到一份美满的工作,不断进步,一生与知识相伴。
小伙伴们,点击这里,即可订阅“《open公开课》嵌入式/Android”,第一时间收到各类免费嵌入式/Android等线上线下免费技术讲座活动信息,好东东,莫错过 >>