ITP——创新思维与实践能力的磨刀石 2009-05-31 14:54:13

ITP——创新思维与实践能力的磨刀石

黄宝强

国家大学生创新性实验计划项目已接近尾声,在为期一年的项目进行过程中,我们不断学习,不断前进,克服了重重的困难,并且最终取得了不错的成果。这是对帮助过我们的老师同学的回馈,也是我们自身勤奋努力而收获的丰硕果实。通过为期一年多的项目中的学习,我们成长了很多,也收获了很多。

在此次项目中,我负责了项目的管理工作以及项目中bootloader,操作系统的移植以及外设驱动的编写工作。因为是此项目的负责人,所以相比起其他组员,我就要负责更多琐碎但又是必须的事情,在项目中我需要组织成员间的讨论,控制项目的进度,也需要和指导老师取得联系,定期汇报项目的进展情况,同时我也需要联系相关的电子设备销售商,电路板制作的厂商,并且负责经费的申报以及管理工作。我在项目中的另一个重要任务是负责操作系统那一部分,因为我的专业是计算机科学与技术,在操作系统以及linux kernel方面有着比较扎实的基础,并且在项目开始的那一个学期,因为对linux操作系统比较感兴趣,我还选修了linux内核这门课程。这门课的主要内容是对于linux的内核的各个模块进行介绍与讲解。而且课程本身已经提供了非常多的实践机会,每一次作业都是有一定难度的,学完了这门课以后,让我对linux kernel有了一个初步的了解, 于是我就主动的接过了操作系统这一部分的任务。这一块的工作其实是非常有难度的,因为其实操作系统的移植以及驱动的编写工作非常需要对linux kernel有一定的了解。而这时候,我所选修的那门课的作用也显现了出来。课堂上学习的操作系统以及linux kernel的相关知识,在我的实际操作中起了非常大的作用。无论是在内核的编译中,还是之后的驱动编写中,都给了我非常大的助力。而反过来,参加项目的经历同时也使我对理论的知识有了更深刻的理解。那一个学期,我linux kernel这门课程的最终成绩是92分,可以说,能够取得这样优异的成绩也是与我参加项目不无关系。

国家大学生创新性实验项目培养了我们的团队精神。在平日的大学学习生活中,学生与学生间的关系更多的是以竞争为主,大家考虑的都是怎么把自己的东西做到最好,怎么样击败别人。而在这一个项目中,我们是一个团队,我们有着自己共同的目标。这时候,自顾自埋头做事,而不顾同组其他成员的情况,即使是自己这一模块完成的非常好,也往往不能够取得非常好的整体结果。此次项目中间,我们把整个项目分成了三个主要部分,每个人都主要负责一个部分的工作,每一个部分虽然独立确又离不开和其他部分的联系。就拿我负责的操作系统以及驱动模块举例来说,操作系统层与硬件层以及应用层的关系都是非常紧密的。操作系统层一部分是建立在硬件的基础上的,而应用层的软件又是建立在操作系统以及设备驱动的基础之上的。硬件上的改动直接影响到操作系统的移植工作,而硬件芯片的选型又会影响到驱动的编写,芯片越是复杂,那么所需要的硬件驱动也就越是复杂。而我操作系统这部分的设计有的时候也可以简化硬件部分的设计难度。譬如对于硬件的制板、走线存在的一些问题,如果要完全从硬件上解决这些,可能是非常困难,或者需要的成本非常的高,不过,有的时候往往从操作系统这个部分着手进行解决,问题就会变得非常的容易。而这些都需要我们互相之间进行密切而有效的沟通。当今社会是一个强调分工的社会,良好的团队合作精神是一个优秀的人才所必须具有的素质。将来,无论我们是在学校从事学术研究还是进入社会参加工作,所接触的那些项目工程,其规模以及复杂程度,不是单靠一个人埋头苦干就能够完成的。在现在的社会中,个人英雄主义已经不被推崇,取而代之的是良好的沟通、协作能力。而参与国家大学生创新试验项目,无疑培养了我们的团队合作精神。

大学生创新性试验项目也是对我创新性思维能力的一种培养。创新思维是我们现今所推崇的一种素质,而培养一个人的创新能力绝非一朝一夕就能够完成的。这需要经过漫长而持久的磨练的。首先创新是源于生活的,创新并不是指全盘的推倒重来,毫无基础的异想天开也不是创新,所有的创新思维都是来源于生活的。像我们这次项目,正是因为看到了交通事故现场取证的困难以及低效率,特别是在交通高峰时发生事故,那么事故现场的交通就会受到严重的影响。所以创新所具备的非常重要的一点就是需要有敏锐的观察力,对生活中的细节的捕捉能力。而创新的成果最终使需要应用到生活中去的,一切的创新都是为了改造我们的生活,让我们的生活变得更好,就拿我们这个项目作为例子,我们项目如果能够广泛的生产应用到我们的实际生活中去,能够非常大的缩短事故发生后事故现场取证所占用的时间,从而改善我们的交通情况。所以创新所必需具备的第二点就是强烈的改善生活的意愿。而创新所需要具备的第三个素质就是良好的科学能力,以及扎实的理论基础。设想如果没有足够的电类学科的基础,我们即使观察到了生活中的不足,并且有足够强烈的意愿去改善生活,但是却没有足够的能力去实现我们的想法,那么这些想法将仅仅是一些想法,将不会对我们的生活产生任何的改变。良好的动手能力,扎实的科学基础,这需要我们不断的进行理论上的学习并且积极的参与实践活动,而国家大学生创新实验计划项目正为我们提供了这样一个绝佳的机会。

国家大学生创新性实验项目计划也培养了我们良好的分析问题,解决问题的能力。项目中我这个部分在设计的过程中遇到了不少的困难,首先在操作系统尚未完全构建起来的前提下,我们很难利用常规的调试手段进行调试,因为内核的代码量是极大的,我们不可能仔细的看完内核代码的每一行,并且完全理解了整个内核的工作机制之后再来进行下一步的开发,很多时候我们往往是需要一边学习相关知识,一边不断地尝试探索,从而缓慢的推进整个项目的进行。譬如再一开始调试开发板的时候,我们发现每次进行网络传输的时候系统都会莫名其妙的重启,这个问题困扰了我们很久,而且面对几百项内核的编译选项,我们无从下手,最后我们从现象开始逐步的进行分析,首先因为板子重启了,可能的情况是按了复位,电压不稳或者是没有清看门狗,排除了硬件方面的原因,我们尝试着在编译内核的时候把看门狗禁掉,果真,系统不再重启,不过系统似乎还是跑飞了,没法接受任何输入,也没有输出,陷入了死锁的状态,所以之后我们就仔细研究了一下看网络模块的编译选项,因为每次系统死锁都是发生在网络大文件的传输时,这时候我们联想到了大文件的传输可能会用到DMA,而DMA如果处理不当那么会造成系统的死锁,所以我们把编译参数中的网络传输的DMA禁用了,问题迎刃而解。在整个项目的过程中,遇到类似这样的问题是非常多的,而在一次次遇到问题,分析问题,解决问题的过程中,我们不仅学习到了新的知识,更培养了一种科学的素养以及解决实际问题的能力,国家大学生创新性实验项目让我们受益匪浅。

 

【黄宝强,上海交通大学电子信息与电气工程学院2005计算机科学与技术专业,第一期“国家大学生创新性实验计划”——汽车黑匣子”项目立项人;指导教师:袁焱高级工程师,上海交通大学电子信息与电气工程学院】


 
 
 
@2008 上海交通大学教务处     网络信息中心技术支持