就业故事

硬件工程师辞职来华清给自己充电啦 果然没选错

来源:嵌入式培训 2017-07-04

姓名:冯*峰 班级:嵌入式17021
学校:武汉纺织大学 专业:自动化
 

大家好,我是武汉华清远见17021期学员—冯*峰,我来自武汉纺织大学,自动化专业。

其实我大学毕业已经五年,之前是在工业自动化领域作为一名硬件工程师,为什么辞职来华清学习嵌入式linux,在一个领域工作几年之后,大家可能都有一种感觉,就是每天做着相似的工作,而且受制于自己的学历,技术和知识层面会遇到一个瓶颈期,要往上突破的阻力会非常大,而且电子行业更新换代非常快,之前可能很火的技术,过几年可能满大街都是,所以从事电子行业就需要不断学习,给自己充电,那样才能保证自己不落伍。

来华清学习,是看准了嵌入式linux行业的前景,单片机裸机程序开发市场已经非常成熟,但是基于linux这个开源平台,可以做很多事情,实现很多方案。因为不希望自己继续在一个不温不火的行业,不小也不大的公司继续碌碌无为下去,所以下定决心把工作辞掉来farsight学习嵌入式linux,希望自己能做一些更有意义的事情,不管是对社会也好,还是对自己个人能力的提升也好,都是为了更好的体现自己的社会价值。

Linux有点像手机领域的Android,基于linux这个平台,类似工业4.0,智能网关,物联网这些新领域都可以做很多事情,所以抓住智能化这个大方向是肯定不会错的。

华清的课程时间还是抓的非常紧的,课程前后衔接都比较紧密,具有连贯性,每门课程的信息量都很大,所以对于零基础和转行的同学学起来可能会有点吃力,课后的时间一定要充分利用,晚自习、周末的时间一定要合理利用做好预习和复习,老师留的小任务一定要认真去思考和完成,跟上老师讲课的进度很关键,所以课堂上的注意力一定要高度集中,要学会合理安排自己的睡眠。当然课下自己也要有一定的发散思维,扩充自己知识的广度和深度。

下面我就说说自己对每门课程的理解,见仁见智。

1)C语言和数据结构--> 就是要刻意去培养自己解决问题的思维能力,平时多动手去试才会遇到问题,自己一个个去解决问题才有进步,有时候就是老师或者同学讲的自己能听懂,但是到自己动手去编程的时候就不知从何处着手,所以这个还是自己的思路没理清,有一个多练习,慢慢熟练的过程。课下可以多做做编程练习,培养自己的思维能力,积累思路和方法。学完C语言可以做一个简单的学生管理系统,学会增删改查的基本操作。学完数据结构可以尝试用栈的方式实现四则运算,以及带括号时候的情况。

2)进程线程-->相比于之前的C基础和数据结构,这时候用到的函数接口非常多,这个就需要自己课下花功夫去整理这些函数接口并充分理解用法。

3)网络编程-->TCP/UDP的框架熟悉;网络编程跟上一门进程线程联系比较紧密;学完可以尝试做局域网多人聊天室和电子词典的小项目。

4)ARM编程-->汇编、CPU执行指令的方式,寄存器操作,裸机编程的套路;学完可以尝试把裸机开发的LED,按键,串口,看门狗,I2C,SPI,PWM联合起来做一些小项目开发。

5)linux系统移植-->要理解u-boot原理,框架,启动流程,脑海中要形成清晰的一副图,linux系统启动的流程;

6)C++ --> 面向对象的思想;

7)Qt -->会查找和调用Qt函数库;学完可以做一个音乐播放器,或者串口调试助手之类的小项目,还是挺有意思的。

8)linux驱动移植-->驱动框架、流程的理解(非常重要);

这里推荐一些专业的书籍或者博客给大家,像《Linux系统编程中文版》学习进程线程的,《TCP-IP详解卷1》学习网络编程TCP/UDP协议的,《C++ primer plus(第6版)》 学习C++的,《C++ GUI Qt4编程》学习Qt的,老外写的书籍在原理方面都讲的很透侧。当然也有很多优秀的著作,像《C语言深度剖析》、《林锐-高质量C、C++编程指南》、《大话数据结构》等等,很多这里就不一一列举了。还有编程过程中会遇到很多细节的知识点很模糊的,可以多上网看看大牛们写的博客,上面分析的很详细,比如像草根老师博客(chengyaogen.blog.chinaunix.net),大家课后可以多关注下CSDN,ChinaUnix博客,上面有很多大牛的linux经验分享,大家可以有选择性的去看,抱着怀疑的态度去思考和灵活运用,不管是对现在的学习还是以后的工作都会有所帮助。如果自己有时间也希望大家多写写自己的博客,写博客的过程其实也是对知识点的一个梳理过程,这样也便于自己对知识的加深理解,其实linux本身是一个开源的系统,大家都是本着分享的精神去把这个操作系统发扬光大。

华清的老师讲课都非常认真负责,张老师讲的C基础课非常细致,条理很清晰。陈老师和程老师讲课的一个共同特点就是课堂上的信息量非常大,补充的知识点非常多。像程老师的系统移植课和linux驱动移植课,课堂上的信息量很大,一定要跟着老师的思路走,系统移植跟驱动移植课程的前后连贯性非常强,有时候程序出现bug得不出现象,但是老师已经开始讲后面的内容,这时候一定不要掉队和打叉,否则可能后面的也都跟不上了。郭老师讲的Qt课程非常有激情,当时课堂上还带我们用Qt做了一个音乐播放器,当时我跟另外一个同学做了一个串口调试助手。

其实说到这将近四个月的学习收获,我觉得大的收获就是一步步揭开linux操作系统的神秘面纱,对u-boot,linux系统都有了新的认识。来华清之前其实我也做过一些简单的单片机开发项目,但是都不是基于一定框架结构写的,所以可移植性并不好,实际产生的价值并不大。之前我总会在心里问自己,为什么选择嵌入式linux你会什么?你擅长于哪一块?你的优点,缺点在哪里?经过华清四个月的学习,也许心中慢慢会找到答案,也多了那一份从容与自信。

至于个人的学习经验分享,我是那种慢条斯理型的,所以我的学习方法不一定适合其他所有同学。但是我有几点建议给大家,一个就是课堂上一定要记得做笔记,每个人上课听老师讲,可能能力不同,接受程度也都不一样,把上课老师讲到觉得有启发性的思路或者方法截图或者记录下来,那些上课没听懂的也记录下来,课后问同学和老师一定要把问题弄懂。因为课程进度安排比较紧,所以有一个共性的问题就是学习后面的知识的时候,可能前面的知识忘记大部分。所以靠着这些笔记去复习效率就提高很多。还有一个就是动手方面,学以致用,我们以后工作中大部分都是在跟代码打交道,所以遇到问题不要怕,不懂的地方直接上代码测试。代码练多了,熟练了自然也就不再害怕编程了。所以平时一定要抓住小项目练习的机会,这个也是对自己所学的知识点好的检验方式。

免费索取学习资料 这是一次改变命运的机会