华清嵌入式培训感想
本人于2022年5月31日至2012年9月20日期间在华清远见嵌入式学院-成都中心自费接受培训,历时4月有余,特撰此文以记叙所获经验、抒发心得体会。
1.2.来华清之前的思考
对于刚毕业的我来说,碰上校园IT教育滞后的年代,从未有过相关工作经验的我,虽说有应届生校园招聘,但在社会职场还没有站稳脚跟的信心。在经历前途抉择的迷茫和求职的挫折后,我将华清远见嵌入式学院-成都中心作为我提升就业竞争力和开启职业生涯首航的试金石。我来培训的目的就是深入学习嵌入式开发技能,增加自己的就业资本,扫清职业生涯前期的迷雾。我对华清远见了解不多,但知道他们在西部地区是专做嵌入式培训的专家,有一定的市场认知度。故而选择了他。
1.3培训过程概要
历时四个月多,简而言之,有如下大体感受:
一、培训内容以C语言为主辅以linux和arm等拓展知识,从应用层至底层,循序渐进,可以说面面俱到,唯四个月时间让我从应用层至底层,循序渐进,可以说面面俱到,唯四个月时间让我觉得还是短了些,但就业压力已迫不急待;
二、课程安排,比较合理,内核和驱动部分最为重要,但难度因人而异。我们应根据实际情况,有侧重点进行学习。遇到问题,如自己和同学都无法解决,这时便可请教老师,他们毕竟比我们有经验。
三、培训分为多个阶段,每个阶段都会有不同的老师负责,因此,勤沟通、学会适应和勤做笔记是必要的。可能有的老师不适合你的口味,可以大胆提出,否则遭殃的还是自己。
四、培训效果全赖于自己的表现和态度,与大学课堂相比,除了教学内容具有优势以外,其余诸如环境、硬件条件方面皆与校园无多大出入。要是还像某些同学一般漫不经心,最终的结果可想而知。要坚决剔除、淘汰。
————培训过程详解
2.1.LinuxC语言与数据结构
这一阶段由敬老师主讲,该老师年轻、C语言及Linux功底扎实,上课尽管节奏快,但是内容充实,对C语言的语法及应用的讲解均面面俱到,对于学员的C语言巩固和提高有极大的帮助。同学们都这位老师也是赞不绝口的。
上课方面大多数同学都是没有问题的,很满意。在课后作业方面,部分同学认为作业过多,此时可以遵循先易后难的原则,或者对作业条目自行进行删改,忽略难度较大或者偏题,抓住重点就行了,这样可确保基本知识点的掌握。
我在这一阶段过得很充实。
2.2. LinuxC语言高级编程
杨航老师和李伟老师接着还会对我们进行C语言的拓展,主要讲解进程、线程、I0等方面的知识点,这方面的内容属于对掌握的C语言语法和数据结构的具体应用了。建议对该部分内容点到即止,无须过分深入。了解常用的数据结构和算法,在娱乐应用开发方面是必须的。
2.3 C++及QT的学习
在前期经过李伟老师,对C++知识的逐一讲解后,这部分课程由朱荣老师讲解,其实很难,也很简单,难在要多看技术文档,需要去了解所需要函数如何使用,要多写软件,多练习,简单的是因为,老师讲的感觉很轻松,比较容易理解,也不太需要多思考函数是如何实现的,只需要其功能即可。
2.4.ARM编程入门
开始接触硬件了,这部分也是由李伟老师应该会更换。熟悉了该老师的上课方式之后,建议同学们对ARM的语法进行重点熟悉即可,最起码要看得懂代码,因为有许多启动代码都是用汇编写的,比如Start.S等文件。
7天很快过去,我对汇编语言有所了解,能够看懂大部分内核代码。此时有的同学会开始犯困,甚至不知道老师在将啥,或者抱怨老师为什么一整天都在上课的现象。我知道,若是想往嵌入式底层方面发展,这部分还非懂不可。
2.5.Linux系统移植
学完了这部分内容,你也可能还是不会移植,很正常。该部分的内容会有相应的实验手册来帮助,因此,李老师讲的比较快,演示得更快,看完实验于册,我再去网上下载最新版木的内核、U-Boot,但我还是不会,因此很是纳闷,但是李老师讲解如何分析驱动怎么写的,分析问题可能出现的原因,让我们思考如何解决问题,我认为这是非常重要的,也让我重新理解了ARM入门阶段的知识。
可总的来说,这几个阶段的成果还是有的,熟悉了SourceInsight这个企看代码的工具,对内核的基本架构有一个初少认识,了解(不是网上所说的精通》驱动、系统移植的一般步骤。想要精通嵌入式的看家木领,是需要一段时间的沉淀和经验的积累的,因此,虽学得粉里糊涂,但也有了一个基本印象,也是可以接受的。
2.6.Linux初级驱动
从这一阶段开始进入正题了,严老师基本功还是值得认可的,基本上很熟悉内核、驱动以及驱动与内核的调用关系。但是问题开始出现,由于频繁出现这样的现象:老师讲课可能讲一整天,让我们吃不消;老师在讲解驱动与内核调用关系的时候跳太快,代码让人头晕目眩;由于时间关系,老师仅仅点到‘线’,没有考虑‘面’,使得大部分同学一头雾水。
没办法,对于这些情况,我个人也是感觉到非常无奈,因为我本人从未深入接触linux内核,尽管我对linux操作系统已经很熟悉。看来要寄希望于工作以后了,到时候可能会发现现在的讲解有用。
这一阶段,你要明白,看代码的工具要会用,分析代码的能力也要有。
2.7:项口阶段
这一阶段也很重要,关系到将来的就业。指导老师一开始是朱荣老师,后来朱荣老师因需上新课,后改为邱老师辅导。两位老师都是非常好的老师,特别是朱荣老师,在下课的时候,还来关心我们,指导代码,使人倍感亲切,邱老师指导到位,对项目进度把握得很好,我从他身上学到了不少,积累了项目经验。
对于这个项口,无论是mqtt客户端模块还是qt模块,不但要熟悉C/C++语法,还需要你阅读代码的能力,以及阅读手册的能力。大多数时间里,我们都在阅读代码、调试程序、根据调试信息看代码,要我们写的代码并不是特别多。随着项目的慢慢推进,觉得对自己的分析问题和解决问题的能力还是很有帮助的。
做项目的过程难免会觉得郁闷,这对于大多数没有成功项目经验或没有做过类似项目的同学来说足很正常的。深刻去体验这次项日,你会发现很多自己的不足。
三、总结与建议
其一:培训并不是就业的救命肩草,来之前要想好,培训中应调整如心态,找准好自己的月标。
其二:理想和显示是有差距的,所谓:“既来之,则安之”。上课形势与大学相差无几,慢慢你会发现“好记性不如烂笔头”“勒能补拙”这些话是有道理的。
其三:勿简单地认为签了就业协议、付了学费就是万无失,这样的心态对你培训后的择业无半点帮助和意义。
其四:由于我们参加的是嵌入式培训,相对大学而言,学习更有针对性。因此,抓住内容的重点,多与老师和同学们沟通,能够帮助自己更好地走好以后的职业道路。