西安列举网 > 教育培训 > 电脑/网络 > 在西安华清远见四个月培训心得
西安
[切换城市]

在西安华清远见四个月培训心得

更新时间:2018-04-26 11:23:52 浏览次数:107次
区域: 西安 > 高新 > 光华路
类别:软件工程师培训
地址:西安市高新区光华路和高新一路交汇口高新一路12号天公大厦3层
在西安华清远见四个月培训心得
我叫李*,在华清远见西安中心,进行了为期四个月的嵌入式培训,先后经过了,C语言基础、Linux C、数据结构、C高级编程、Qt基础、ARM体系结构、系统移植、驱动开发、Android底层等课程的学习和后期的项目实训。时光荏苒,转眼间,在华清的培训就要画上句号了,在此对这段虽算不上难忘但却不同寻常的岁月中,在学习、生活上的收获及个人心得体会,作个简单的总结:
1.为何来到华清
在对华清这四个多月的学习进行总结之前,我不得不说一下,我为何会来到华清。其实在来华清之前,我曾纠结了很长一段时间,那时候还在兰州的厂里面上班,每天都过的很不踏实,觉得前途渺茫,尤其是晚上下班之后,心情更是槽糕透顶,可能就是所谓的迷茫和彷徨吧?一次偶然的机会,和一个朋友(他是做Android的)聊天,他告诉我可以去学习一种IT技术,只要肯下功夫,技术能过关,一定能有好的出路。可是学什么?首先,学哪种编程语言?他说Java也行,我就想以前在大学学过C,问他学C行不行,他告诉我可以去学嵌入式。
从那以后,我才开始关注嵌入式这个词,但是确实对它一点概念都没有,我上网查,都说嵌入式前景不错,我开始有了进一步了解它的想法。由于离家近的缘故,故选择来西安培训,于是华清远见就出现在了我的面前,至于原因,大家应该都知道吧,我只能说,绝不是因为缘分。于是,我上华清,与北京的老师取得了联系,然后由他介绍与西安中心的郑老师取得了联系,经过几次的交流沟通之后,我决定来到华清远见西安中心,进行嵌入式培训。那时候的想法很简单,就是通过培训,找到工作,成功转行,因为我从个单位离职之后,跳槽失败,一直没找到合适的工作,来自各方面的压力,着实令人很不爽!
2.在华清的学习心得
先普及一个概念,嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。不知道四个月之后再看到这句话,与次听到这个概念,大家的感受到底发生了多大变化……
说到嵌入式学习,华清为我们制定了一整套的方案,我们也按照这个方案一步步的学了下来,当然在具体知识的学习当中我们可能都有自己的方法,但还是遵循这个计划和体系学完了所有课程,主要包括以下几个方面:
首先,C语言,这个是毋庸置疑的,不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握都是必需的,至于如何学习C语言,我想这些基础的知识每个人都有自己的方法,关键要去学习,看书也好,网上找些视频看也好。我自己的C语言基础比较差,学到现在写代码的水平还是很一般,但是每一位代课老师都会说,我们存在的大问题就是代码量太少,我自己对这一点深信不疑。我想至少你在明白了一些基础的概念后,就该写代码了,动手才是重要的,当你动手了,遇到问题了,再反过来学习,反过来查查课本,那时的收获就不是你看书能得到的。有人说学C语言的方法是多写程序多练习,编译出错没关系,自己去解决;执行出错没关系,自己去分析。虽然说的很,但却很有道理。
Linux C高级编程是举足轻重的一部分,可以说是直接决定了你的编程水平,尤其是嵌入式应用程序开发,就现在而言,几乎每个程序都会涉及到I/O操作、多线程多进程并发及其通信、网络编程等知识和技能。所以学好Linux C高级编程非常重要,应该得到我们的高度重视。在具备了一定的C语言知识和技能后,应该学习一些基础的数据结构,至少掌握几种常用数据结构的用法,这对以后的学习会有很大的帮助,以后从事嵌入式开发工作,数据结构是必须掌握的一项技能。如果有时间多看看一些常用的经典算法也是很不错的,一定会对写程序起到很大的启发作用。当然,如果能学习一下C++和Java也很不错,技多不压身,主要是面向对象的编程思想,会对我们编程时的思维有很大的影响,进而写出更好的程序。
其次,应该对操作系统有所了解,这对硬件和软件的理解,有很大的帮助。应该把系统的管理理解一下,比如进程、线程,系统如何来分源的,系统如何来管理硬件的,当然,不是看书就能把这些理解透,如果不是一时能理解,没关系,多看看,结合以后的项目经验,会有更好的理解的。我们对操作系统的学习应该更有针对性,尽管原理都是相通的,但还是建议学习嵌入式系统,再具体一点来说,就是直接学习linux下的编程,这些对以后做应用的编程很有帮助,当然,如果做手机的话,那可以学习Android等操作系统,Android是以后发展的趋势,现在很热门,Android也是基于linux系统封装的,所以建议先学习下linux。
嵌入式本来就是软硬件结合的,所以应该学习下单片机或者ARM,很多人说我没有单片机的经验,直接学ARM可以吗?我觉得那完全没有问题的,当然如果你学习过单片机,那不过了,学习ARM就更简单了。我本人虽然大学时学过单片机这门课程,但是勉强应付过考试之后,完全没有任何的概念,可能就知道51单片机这个名词了吧。来华清之后也是直接学的ARM,本来想找点资料再看看单片机相关的知识,后来实在没有时间和精力,索性直接看ARM还更直观一些。当然开始的汇编会有点吃力,但是慢慢琢磨,还是能看懂一部分,完全没有想象的那么难。熬过汇编之后,用C编程就容易多了,程序都不会太复杂,但你的程序必须要用板子去跑,才能更深入的理解这部分知识。这个时候就主要考验你查手册、看原理图的能力了。这个时候英文阅读水平就显得很有优势,其实也不用紧张,科技英语和日常英语区别很大,不一定过了六级就能看懂,当然能过六级也是很牛的。我本人的英语水平属于超级烂的那种(四级都没过),但是你多查词典,加上在线翻译,理解基本意思应该还是没有问题的。如果教你ARM的老师很牛,那么你很幸运,多向他请教,基本的问题应该都能解决,实在不行,网上也有很多的牛人写的资料和录的视频,也是学习的好方法。学习了ARM体系架构,对相关的硬件有了一定了解后,就具备了进一步深入学习嵌入式的基础。
后,就是比较底层的东西了,Linux系统移植、Linux驱动开发、Android底层都是比较抽象的,所以理解起来比较困难,这时候不能纠结于细节,要更注重大框架和原理的把握,站在巨人的肩膀上,先把基本的掌握了,如果还有精力再去研究细节。如果你把以上的知识都有所了解后,就该去阅读一些的代码,比如结合arm芯片手册去学习下UBOOT的源代码,了解下小的系统开发,那对你整个嵌入式开发是非常有帮助的,可以的话,还可以学习下linux内核的源代码,这个时候主要还是先学习思想,架构,基本理解之后再去研究细节,同时要注意shell脚本和Makefile的编写,这是一项很实用的技能,能读懂内核中的Makefile也是相当不容易的事情,当时上课时老师带着看,都看的一头雾水,至今里面的好多内容我也没有看懂。当然如果你直接阅读新版本的代码,我想你会很痛苦的,可以先看看linux 代码早期的版本,麻雀虽小,五脏俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程师。
说到这里,就该到了说项目实战的时候了,我们在培训学习的过程中,要多做练习,对所学知识点要写程序去验证,才能更进一步的理解所学知识,学会它的用法。好多老师都强调代码量,其实就是实战的积累,俗语云:“是骡子是马拉出来溜溜”,可能用在这里极不恰当,但是说的就是那个理,光说不练,没有任何说服力,编程不能口语化,好多东西你能说清,但是用程序去实现呢?可能就没有那么简单了吧。所以说实战很重要,在华清的培训,后一月为项目实训,虽然大家都用的同样的设备,实现的基本功能都区别不大,但是我觉得对我们帮助还是很大的。让我们把所学知识进行了一个巩固和复习,系统地把所学内容进行了应用实践,起到了查缺补露的目的,也是我们首次接触实际项目,虽然不是作为真正的商业应用,但是应该认真对待,从中学到的不仅是知识,技能,更是一种实战的经历和体验,让我们学会了团队合作,明白了团队的重要性,也学到了一定的为人处事之道。
至于上面说的知识到底如何学习,那些方法到底适不适合自己呢?每个人都应该去找自己方法,所谓的方法就是适合自己的方法。比如,很多人看不进书,那就去看看视频吧,不过视频也应该要选择。以上均为个人学习当中的体会,其实好多方法都是老师上课的时候提到的,由于时间关系,加上课程紧张我自己甚至都没有试验过,但是看老师的技术水平,他分享的方法效果应该不会太差,我下一步就计划按照这些方法进行深入的学习。希望这篇文章对热爱嵌入式,想致力于嵌入式开发的朋友有所帮助,就算技术方法上没有多大帮助,精神上得到鼓励我也会很欣慰的。后,希望我们都找到理想的工作,并在嵌入式的学习道路上一直坚持走下去。
详咨: 18049560052

西安电脑/网络相关信息
2023-10-19
2023-09-08
2023-08-29
注册时间:2018年03月30日
UID:472887
---------- 认证信息 ----------
手机已认证
查看用户主页