- UID
- 864567
|
2011岁末总结
时间总是不给你一点喘息的时间,匆匆忙忙一刻也不停息。转眼间2011年马上就要过去了,新的一年即将开始。按照惯例,每年岁末我都要总结一下。品味一下过去一年的心酸苦辣,憧憬一下新一年的美好生活。今年也不例外,一样的总结,一样的憧憬。这一年有悲欢有离合,有欢笑有泪水,有失去也有所得。无论怎样这一年已经过去,成为了沉甸甸的记忆。
有人说女生一生中最重要的是选择什么样的老公,而男人一生最重要的是选择什么样的事业,如果从这个层面上讲这一年是我人生中最重要的一年,因为在这一年我决定了以后要从事的事业,并且决心为此努力奋斗。这个事业就是嵌入式linux,更详细点说就是底层架构驱动方向。选择这个事业,选择这个方向,我考虑了很久,也考虑了很多方面,无论如何自己已经选择了这个方向就义无反顾的走下去,无论遇到多大的困难也要克服,未来难以预测,我们只有过好现在。其实去年的下半年,我就决定了并且做了一些的准备,开始比较迷茫,但是经历了刚开始几个月的迷茫期后,方向逐渐明朗,今年学习才进入正规。
这一年我的目标很简单,就是在嵌入式linux这个领域入门。究竟入门是个什么概念其实我也不懂,我只懂得一件事,就是踏踏实实的努力,过好每一天尽量的学习相关的知识,一年的时间应该够了。所以开始我制定了一个详细的计划,然后一步一步的来实施,虽说中途也迷茫过,也偷过懒,甚至一度想过放弃。但是我终究是坚持下来,想想这一年,确实不容易,但是这一年从算没有白费,在嵌入式Linux这条路上算是迈进了一大步。现在就总结一下这一年学到的东西。
一. 阅读了ucosii的源代码,并且移植到了开发板上,总共移植了三个版本,第一个精简版,主要测试移植成功与否,第二个:包括了大部分的驱动程序,第三个是一个贪吃蛇的游戏。阅读ucosii的源码后,我对操作系统有了一个更深刻的认识,并且也规范了自己的编程习惯。
二. uboot的学习,对于uboot,我主要练习了uboot的命令。熟悉了uboot的代码结构以及Makefile。裁剪方面只是对lcd显示部分做了裁剪,去掉了原来的VGA的显示方式,改用自己移植的LCD的显示方式。uboot是我接触的第一个开源软件,对uboot的学习不仅了解了bootloader的工作方式,更是对开源软件有了更深刻的认识。在此期间我还阅读了Makefile中文手册,对makefile进行了系统的学习。
三. 纯净Linux开发环境搭建,以前主要在windows虚拟机上开发,效率不高。学习完uboot感觉自己应该抛弃windows,完全在linux上学习与开发。经历了一段时间的摸索,终于在ubuntu下搭建了自己的嵌入式开发环境。现在我几乎所有的事情都在ubuntu上完成。
四. 根文件系统的学习,从构建NFS文件系统到jffs2,掌握了构建根文件系统的基本方法,理解了busybox init 系统初始化过程。因为没有运行什么应用程序,所以一些函数库就没有添加。在制作jff2根文件系统的时候,遇到不能启动的情况,通过仔细分析找到问题的所在,对根文件系统的学习锻炼了自己分析问题的能力。
五. USB与minigui,学完根文件系统后,经历了一段迷茫期,不知道具体该做些什么。因为以前就对USB感兴趣。所以顺便把USB协议学了一下,这一阶段主要掌握了USB 协议以及OHCI协议,了解了大容量存储设备的一些知识。在裸机的环境下实现了USB主机的通信,学完之后顺便把MiniGUI移植到了开发板上。
六. 之后才确定要学习linux驱动,看了几遍《LINUX设备驱动程序》(第三版),终于看明白了,然后把书中的例子在开发板上都实验了一下,加深对知识的理解。
七. 看完《LINUX设备驱动程序》之后,发现现实中的驱动程序和书中讲的差距挺大,所以还得找一些驱动程序例子来分析。所以用了大约两个月的时间对led驱动,button驱动,pwm驱动,触摸屏驱动,rtc驱动,lcd驱动,adc驱动进行了分析,对涉及到的linux子系统也做了学习。经过这一段的学习,我对linux设备驱动程序有了更深的理解
八. 看了一些驱动程序后,觉得自己应该精通一个方面,USB设备一直都很流行,以前也看过USB协议,所以决定钻研USB这方面。所以开始阅读linux关于USB部分的代码。这一阶段主要是看了《linux那些事儿之我是USB》,对USB核心,USB主机,HUB,U盘的代码有了一个大体的认识。《linux那些事儿之我是USB》这本书也讲了很多linux内核的知识,读完这本书对USB在linux下的实现有了一个直观的认识。
经过了这一年的学习,自己总算对嵌入式Linux有了一个全局的认识,基础的知识就算掌握了,但是感觉自己学的还远远不够。对于linux内核只是了解了一些皮毛大概,只是看了《linux内核设计与实现》,《深入理解Linux内核》还没有看。所以下一年要对linux内核进行深入的学习。对于驱动程序,只是对一些驱动程序进行了分析,还没有涉及修改驱动以及写驱动,对于USB也只停留在表层理论,还没有真正开发USB驱动,所以下一年要在linux驱动实践上下功夫。刚开始的时候,我也曾经犹豫过到底去实习还是真正的静下心来扎扎实实的学习。想到如果没有真正的技术,实习也不过做一些打杂的事,完全不系统,工作了之后真正静下心来学习的时间会很少。所以我果断选择了学习,也许这个选择是错误的,也许自己明年九月份招聘时会四处碰壁,我也不会后悔。毕竟这条路是自己选的,就算是错的也要坚持下去,一会儿想着实习,一会儿想着看书,左顾右盼终究会使自己一事无成。相信自己的感觉,相信自己的努力不会白费,用一生的学习来投入到嵌入式事业中,争取做出一番成就! |
|