• 《那些年啊,那些事——一个程序员的奋斗史》——122


        时间一天一天过,转眼间,距上次的提交微软最有价值专家的申请已经有三个月了,最新的一次名单也要出炉了。对于这次的评选,段伏枥是有相当大的信心:书都出了,总该能评上了吧?


        只可惜所谓的希望越大,失望越大,便是如此。这一次段伏枥被打击得体无完肤,因为新公布的名单中再次没有自己的名字!


        为什么呢?为什么自己就是不能当选MVP呢?难道自己没有实力吗?可自己出书了啊!难道自己没有热心帮助别人吗?可哪次网友发过来问问题的邮件有不回的?段伏枥不停地问自己,究竟自己为何得不到这称号。


        虽然段伏枥很伤心,但这毕竟也是一阵子的事。得不到就得不到吧,想那么多又有什么用呢?很多人都有吃不到葡萄就说葡萄是酸的心态,段伏枥也是如此,自己就很想写一篇博文,说说自己对这奖项如何的不屑。可刚敲打两字,段伏枥就放弃了:特意写博文说自己如何不屑于微软最有价值专家的项目,其实不也从另一个方面说明自己很在乎吗?这种自欺欺人的事情,还是不做为妙,以免贻笑大方。


        或许自己真的无缘于这个奖项吧!只是无论如何,生活该咋样还是咋样,还是按自己的方式来生活吧!微软最有价值专家这奖项,自己就当从来没有申请过吧!


        正当段伏枥已经将自己心态放平和,努力让自己不去想这个奖项的后的第四天,段伏枥接到了CSDN编辑打过来的电话。


        CSDN编辑确认了段伏枥身份之后,直接问道:“这个季度的微软MVP你不打算参加申请吗?”


        这话真是勾起自己的痛苦回忆,段伏枥无奈地笑了笑,回答道:“我上个季度也申请过啊,可是没有选上……”


        “嗯,上次的申请表我有看到。不过,既然有机会,为何你不再尝试一次呢?你可以将这三个月做了什么东西完善完善,再提交一次啊。”


        “可这三个月好像我没干什么好事……”段伏枥说的是实话,因为这段时间一直在忙着移植,所以基本上在博客中很少更新技术文章。如果要提交申请,那么就和上次申请提交的资料差不多。既然上次都失败了,那这次怎么可能会成功呢?


        CSDN的编辑依然不肯放弃,继续劝说道:“我觉得,有机会,你一定要试试!”


        既然话都说到这份上了,段伏枥也不好拂别人的好意。于是将上次的申请资料改了改,删掉了一些过期的资料,就直接发给了CSDN。由于段伏枥已经对此心灰意冷,所以并没有像以前那样抄送给微软项目组。


        申请发完之后,段伏枥就再也没管了,因为自己隐隐约约感觉到,这次估计又会和以前一样落选。与其在这事情上纠结不休,还不如多花点时间想想这移植的事吧!


        .NET Micro Framework移植的事情,已经过去了很久,总的来说,大部分基础已经完备,现在只差一个部分:USB。


        其它部分还好说,移植难度并不是很大,即使真的无计可施,大不了就忽略掉这部分,也不会对系统的运行有多大的影响。可USB就不同了,即使真的毫无对策,也必须要想出方法。因为对于.NET Micro Framework来说,最终的目的是可以跑C#程序,而跑C#程序的前提条件是可以通过USB来下载。如果没有USB,那么运行C#程序就无从谈起,移植也就没有任何意义了。


        可这么重要的组件,段伏枥对此却是一穷二白。除了知道USB长得是那个样子以外,段伏枥啥都不知道了。那怎么办?没办法,从零开始学起咯。


        段伏枥首要做的,便是入门的资料。那些经典的USB教材大多是又厚又重,里面的内容如果学通了自然是好,可段伏枥现在没有那么多时间,也没那么多的精力去纠结这个细节。所以段伏枥将眼光投向了一本薄薄的小册子:《圈圈教你玩USB》。这本书主要是以实例的形式从无到有教初学者如何完成一个USB模块,这些内容在很多老鸟眼中完全是不屑一顾的小儿科,可在段伏枥眼中却如登天一般。什么端点啊,传输模式啊,这些名称段伏枥连听都没听过,更不用说还要在上面做文章了。


        可对于程序员而言,有一句格言:凡是代码的问题都不是问题。这句话从另一个侧面说明了一件事,只要代码能做出来的东西,你就一定要能够做到。USB不懂?学呗!协议搞不清?动手做呗!


        不过在此过程中,段伏枥深切感受到公司实力的大小对个人工作的影响。USB在刚开始的阶段,需要主从设备互相沟通,以确立设备的属性;如果这部分没有成功,那后续的传输无从谈起。可段伏枥卡就被卡在这里,不知道为什么无法识别设备。更郁闷的是,由于USB设备的识别有时间的限制,所以不能通过串口输出打印信息来判别,因为这会导致时间的延长;也不能通过USB HOUND软件来抓取数据,因为那是建立于设备识别之上的。左也不是,右也不成,段伏枥感到无从下手。和网友叶帆沟通过,他也曾经卡在这个阶段,不过他却不像段伏枥那样手足无措,因为他有USB分析仪。这是个好东西,要不也买个自己试试?可一听到价格,段伏枥放弃了:叶帆说他公司现在所用的USB分析仪价值一辆宝马!


        自己现在连辆QQ都买不起,还宝马呢!让武总去买?做梦吧!即使是工作中真的需要这东西,听到这价格武总肯定拒绝。何况现在还是自己偷偷做的移植,武总要是肯支持,不要说什么太阳从西边出来了,即使太阳从四面八方出来也不可能。那怎么办?瞎猜瞎蒙呗!


        功夫不负有心人,自己在这点被折腾了多久,段伏枥也忘记了。唯一给自己还记得的是,某次改动让电脑突然显示“STM32 RedCow”文字时的那种兴奋。当看到在设备管理器能够识别开发板的时候,段伏枥深深地呼了口气:这个门槛终于迈过去了!


        USB的移植难就难在识别。只要识别能够成功,剩下的数据沟通因为微软已经做好了相关流程,所以没有什么太大的难点。剩下的部分,段伏枥折腾了一周,终于也将其完成。


        USB的成功移植,意味着C#程序已经可以运行。看着VS2005在STM32开发板上成功地开始了断点调试C#程序,段伏枥终于可以自豪地对自己说:我已经成功移植了.NET Micro Framework!


        忍辱负重呆在安勒斯,忍受着武总那虚伪的言语,等的就是这一刻。之所以一直呆在安勒斯,不就是想趁着有自己可掌握的时间的时候完成这移植吗?现在这移植终于完成了,那么自己再也没有理由呆在安勒斯了。似乎,是到了该离开的时候了……
  • 相关阅读:
    基本内置类型
    多维数组
    数组
    迭代器
    标准库类型 vector
    标准库类型 string
    运算符优先级表
    类型转换
    sizeof 和逗号运算符
    位运算符
  • 原文地址:https://www.cnblogs.com/wangfengju/p/6172643.html
Copyright © 2020-2023  润新知