当前位置: > 华清远见教育科技集团 > 学员口碑 > 就业故事 > 学员回顾嵌入式就业班学习流程
学员回顾嵌入式就业班学习流程
时间:2016-06-02作者:华清远见

姓名:曹柳峰 学校:陕西理工学院
单位:西安晨曦航天技术有限公司 班级:西安1601期
 

谈起我的这次培训过程,真情意料之外,情理之中。我是2015年毕业的学生,在大学的时候学过单片机,参见各种比赛,获取各种证书,本想着可以找一个与之相关的工作,但是事与愿违。,一般公司不是要工作经验,就是要各种要求,我找了好久也没有找到我满意的工作。就这样才来到华清远见参加嵌入式培训。想系统的学习一下嵌入式技术。

四个月的嵌入式学习,在不经意间就接近了尾声,四个月的学习让我深刻的认识到自己的不足,同时也让我收获颇丰。开始的时候,学院要给新学员进行c语言补习,让大家能够更好地进行后边的学习。学习Linux基础,作为刚接触这个系统的我,对这个系统全然不知,对于全新的知识,自己瞬间觉得自己的脑子就不够用了,感觉到自己前边学的后边就忘记了,感觉自己就是班里笨的一个,什么都不会,就赶紧启用自己的烂笔头,就将老师讲的东西记在发的教材上,在自己不会的时候就翻到地方看一看,经过Linux基础课程的学习,让我了解了Linux系统,以及如何应用Linux系统,以及经常要用的shell命令,在学习Linux的过程中,我们都用的是c语言编程,当时,我的c语言编写能力,就连简单的冒泡排序法都不会写,就只知道c当中有if else、for、swich、while等,对于其他的就基本上不知道,老师用到就基础c函数,感觉其他同学都懂,自己不懂,心里特别着急,当时都有跟着下一个班重新学习的想法,经过同学的和老师的鼓励,我决定坚持下来,在后边的的学习过程,上课认真的听取老师讲课,对于老师讲到的c基础方面的知识,下课后,就赶紧的请教同学,上网查资料,让自己尽可能的理解这个知识点,就这样,我坚持了下了,真是皇天不负有心人,经过的自己的努力,和大家的帮助,让我的c语言有了很大的提升。

Linux基础的学习,让我有了学下去的劲头,可是接下来的知识让我觉的c语言并不只是那样简单的一门语言,Linux c高级编程,只是一门让我彻底进入IT行业的课程,当时的我对于数据结构、I/O操作,网络编程、进程、线程以及进程/线程间通信等知识都没有概念,刘老师当时对我们是一边画图一边讲解,只为了让我们能够理解到这些知识点,刘老师还对我们说,只有自己有了3万行的代码量,就能成为一名合格的程序员,让我们没事的时候就去敲代码,刘老师的讲课风格也与别的老师有所不同,给我们讲完知识点之后,就会给我们不止一道编程题,让我们编程之前,先带我们理清逻辑,再让我们去编写代码,经过这样的训练,我学会了对于一个问题,该如何去理清他的逻辑,如何去编写代码,经过这段时间的培训,让我能够单独的编写一个c/s模式的服务器与客户端,明白i/o多路复用,知道链表的编写和使用以及多线程的并发执行。

Linux高级完了以后,我们就学习Android应用开发的学习, Java学习让我知道了Java面向对象的编程思想,并且能够编写出一些小点的代码,Java学习大的收获就是与C语言不同的编程思想,让我的眼界也变得更加宽广,Java之后就是现在非常流行的Android应用的编写,Android就是Google基于Linux二次开发过来的,应用Java语言进行编程。在这期间,让我明白JAVA面向对象的编程思想。

上层应用的结束,就为着底层的开始,转入底层,我们开始了ARM的学习,ARM对我来说,感觉有点陌生,但是,现在我们只学习ARM的体系架构,进行逻辑开发,没有在ARM上运行系统,ARM的逻辑开发需要我们学习汇编语言,对于汇编语言,我还不是那样陌生,大学的时候,我们就学习过汇编语言,对于老师讲的汇编语言,我能够轻松的理解,令我犯难的就是,我们要看英文的原版手册,对于英文本来就不好的我来说,这就是一件比较痛苦的事情,老师告诉我们,想要做好ARM 就要学会怎么样去看手册,如何快速的从手册中找到你想要的知识,ARM的学习很快就结束了,在这期间我了解到了ARM的基本架构,学会了如何去看代码,以及开发板的裸机驱动开发。

ARM架构我们了解以后,就该我们的重头戏上场了,也是一个嵌入式工程师应该具有的基本的技能,系统移植,对于系统移植,主要就是三步,u-boot的移植,内核的移植,文件系统的制作与移植,这些我们都可以从网上下载到源码,在我们编译之前,要搭建好需要的编译环境,配置我们所使用的芯片型号(板级配置),还可以进行部分功能的选配,只有配置好之后,才能进行终的编译,编译完成之后,我们就可以将其烧写进我们的ARM板中,系统移植中我们还可以对系统进行阉割、修改,只不过这样的能力,对于刚刚学习嵌入式的我们来说,还是比较困难的,要想修改内核源码,就要先看懂内核源码,要想看懂强大的内核源码,不是一两个月的事,虽然我们现在不能看懂全部的内核源码,但是我们学会了该如何去看源码,以及强大Source Insight工具的使用,对内核的基本架构有一个初步认识,了解系统移植的一般步骤。想要精通嵌入式的看家本领,借用老师的话说这个是需要时间跟经验的积累的。但从个人而言感觉还是收获满满,也是可以接受的。

移植完系统,我们总不可能让开发板上只跑系统,外围的硬件都不能用,那我们这块开发板也不能用,接下来我们就要进行驱动的开发,外围设备只要有了驱动,就能正常的进行工作,学习驱动的时候,我懂得了什么是内核模块,知道了内核模块与应用程序的区别,以及使用内核模块的原因,知道了一个简单内核模块实现的三要素“模块许可证、模块加载入口声明、模块卸载声明”,学习了什么是字符设备,如何实现和使用一个字符设备(注册设备号、初始化字符设备、实现需要的文件操作),知道了设备驱动中的并发控制的互斥机制:指端屏蔽、原子操作、自旋锁、信号量、互斥体,以及并发机制应该使用的场合。字符设备完了就是设备驱动的阻塞与非阻塞,select、异步通知等,统一的设备模型:平台设备,设备树(把硬件信息从驱动中分离出来)的学习,以及终的高级驱动开发的块设备,网络设备的学习。

驱动开发完成,就是Android底层的学习,学会了如何去编译Android源码,以及简单的修改源码,改变开机的画面,音乐等。

经过四个月的学习,我们将面临着终的检阅,就是我们终的项目完成,我们进行分组,每小组的项目还不同,我们组做“智能家居的项目”,这是对我们综合应用的检测,开始,老师先带领着我们进行知识点的复习,然后就让我们开始对我们的项目进行分析,指导着我们进行需求分析,进行概要设计,然后就是我们开始自己各自小组的任务分工,进行我们各个模块的接口设计,设计好之后就开始代码的编写,我在这次项目中进行服务器的设计,在编写的过程中,对tcp/ip、线程/进程、进程间通信、线程间通信等知识,代码编写完成就进入了项目的联调,将各个模块与服务器联系在一起,进行终的调试,并与客户端之间进行数据的收发通信,经过不断地调试,我们的项目终完成,实现了当初设计的功能,让我意识到团队协作的重要性,以及项目之前的讨论的重要性。


发表评论
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2018 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号,京公海网安备11010802025203号