一、工作方面
1、培训(6个月)
培训内容分BIOS、Windows、Andriod三方面。
(1)BIOS
BIOS基于计算机硬件结构,提取了几个比较典型的模块并且安排了相应的作业,比如:
读PCI/PCIe设备的VendorID等;
从访问SuperIO开始,给键盘分配IO访问端口,然后初始化键盘;
访问内存,计算内存读写频率;
透过SMbus读温度传感器的温度,让它到达指定温度后进入自己的中断程序,提示用户温度过高,并且在5s后关机;
还有USB的两个作业:DOS下Scan XHCI下所有的USB device并show出设备连接在哪个port上,以及该USB device的speed; DOS下读取在XHCI下USB device的Vendor ID和Product ID信息(XHCI只插1个设备)。这个印象太深刻,不仅创下了我凌晨两点多才在闪电霹雳中冒着暴雨回家的记录,也让我第一次体会到,嵌入式编程与纯软件编程的差异。因为,我之所以迟迟出不来正确结果,不是流程哪里错,而是,没有加延时……TAT
此外还有一些了解系统作业的课程,比如熟悉目前BIOS编译环境然后在Setup界面加一个选项,了解BIOS与操作系统互通有无的ACPI Table以及它的描述语言ASL,等等。
在这个过程,除了这些嵌入式编程入门基础的学习,我英文文档的阅读查找能力也得到了不小提升~
(2) Windows
这个方向我很喜欢,最直接的原因是这块我速度简直秒杀全场,嘿嘿。
这方面内容应该算是内核和系统的桥梁吧。
首先是了解PE文件格式,通俗点讲就是不加壳纯净的exe文件格式。
然后乱入了一个写系统线程与进程的课,让我们电脑上开两块白板,在左画画,右边同时显示出来,效果挺酷炫。
最后是一系列驱动课程,印象最深的是键盘过滤驱动,安装以后,按A键就出来B,然后再写一个APP一点开就能让大小写切换键失灵(有木有很有趣?!曾经键盘Hook可是参加过科协啥大赛拿过奖的东西,没想到在这里,在牛逼哄哄的学长带领下,成了我们一周为期的小作业)。
(3)Andriod(BSP)
最好玩的当然也是驱动部分,比如重力传感器(G-Sensor),看kernel code找到并修改相关位置, 让Pad屏幕每10秒旋转一次什么的。这部分大多概念由于之前的铺垫,接受起来也比较快,就不多说了。
经验总结:很多作业的实现细节印象现在都十分模糊,当初应该再勤快一点,每块内容都做好笔记的。还有,做完目前的项目,有必要再翻一遍计算机结构的书,从全局上再看一遍BIOS培训时每个模块的作用。
2、搭建集群服务器(1.5个月)
在培训结束到正式接手工作期间,收到部门群发邮件在征集人手改善Git服务器负载过重的情况,我就主动请缨过去了。搭建服务器是个比较愉快的工作体验,前后大概用了一个半月,目前在使用,据说效果还行,速度至少提升了三倍以上吧。详细过程有发博客总结过,简直想给当时勤劳的自己一个拥抱。
当然这方面也有未尽事宜,比如在一个开源文件系统基础上把文件夹挂载点部分的代码做好,奈何工期紧张,师兄安慰我等过段时间有空了再看,我也就只好乖乖回来做BIOS了。
3、正式工作内容(4个月)
目前做的是台式机的主板,大体运作模式是intel将访问硬件最底层的代码卖给AMI,AMI在这基础上封装好,提供若干Interface以及编译环境,卖给我们,我们就在这基础上增加和优化各类硬件设备驱动(比如PCI/PCIE,键盘鼠标,内存CPU的超频超压等等),最终形成市面上常见的主板产品。
今年开的案子据说前所未有的多,嗯从我一上来就负责两个,也能看出确实不少啊。
大体来说流程上,我需要盯着这两个板子从最开始回来开机,到最终出货。技术上,因为底层代码相同,界面功能最终相差也不会太大,无非是插槽啊风扇啊超频的频率啊有差异,所以大家都是共用一份CodeBase,除了专案的差异部分,日常大概就是一个人负责解决特定模块的问题。
我目前主要是负责键盘方面,比如说开机狂按Del键会死机,在Setup界面下小数字键盘不能用等;还有一些基础功能上的,比如Beep,不插内存不报三长一短的报警音等;还有在师兄的带领下解决了一些比较复杂的问题,思路新颖解法精彩,我觉得我也应该专开文章记录,咳,等我勤快起来。
另外还有观摩台北那边请人过来做安全检测,本来以为是渗透测试,看了才知道只是代码的安全审计,不过也知道了一个做代码审计的工具:Fortify。它作为一个插件,可以被安装在VS或者Eclipse IDE下,然后将现有代码翻译成它所能理解的中间语言,然后根据它强大的规则库,最终生成审计报告。可惜只能做静态代码分析,光靠这个应对现在的网络环境是不够的,只能说了解它公开的规则库,在自己写的代码时可以更加谨慎一点。
二、生活方面
1、一句话阅读后感
- 《我有一事,生死与之》白岩松
讲他做上《口述历史》的心路历程。每个理想主义者的精神世界都是那么别具一格,我实在是难以抗拒这样的魅力。
- 《毫无代价唱幸福的歌》林夕
林夕比较被人熟知的身份应该是作词人。从高中开始陆续看过几本他的评论集,名字都很文艺,什么《原来你非不快乐》《曾经》,但他文章中对时事和一些社会现状的评论走的还是理性的风格,思路不会太过偏激,最多就是文人的自嘲,看的过程很畅快,就好像在跟他聊了一场天,然后收获了许多看问题的角度。
- 《关键词》梁文道
好吧我承认我就是喜欢看这类书,尤其是在书店人来人往不容易静下心的时候。也是评论集,相较林夕更加理性,更多是谈论社会。
- 《程序员跳槽全攻略》
中心思想就是要善于表达,通过技术博客多分享自己学到的,参与开源项目学习自己计划要学的,要重视职业规划,并且在简历和面试方面给了不少建议。书的前半部分在迷茫的时候可以拿出来看看,会发现能做的事情很多,后半部分跳槽部分现在看来还没太多感觉,等准备跳的时候再回顾吧。
- 《一本书读懂财报》肖星
粗略看完,对看财报的行为有所了解,但尚未付诸实践,未能领悟其精髓。
- 《潜意识:控制你行为的秘密》
顾名思义,用各种事例论证这个观点。和各种成功激励的鸡汤差不多,就是严谨一点,站在科学的角度告诉你要相信自己,潜力都是逼出来的。
- 《乌克兰拖拉机简史》
是本挺有名气的小说,但我已经几乎想不起内容了,汗颜。历史和社会,没有形成体系前的阅读,只能算是消遣吧。
- 《把每一天,当做梦想的练习》的免费部分(= =)
这个就是无聊,随便下来看的。其实也就是本道理谁都懂的鸡汤,讲职场心态的。不过在某段情绪混乱的日子,还是有打醒我的功效,所以记录下来。
- 《Web前端黑客技术揭秘》、《Metasploit渗透测试》以及若干相关博文
主要是前面看了太多和专业无关的书,拿出来救救场。目前还停留在工具试用,自娱自乐的阶段。
2、零零碎碎生活小记
- 学会了做各种菜,墨鱼红烧肉、糖醋排骨、红烧各种鱼、可乐鸡翅,猪肚煲鸡等等。最得意的是鸡蛋炒的比原来好看多了。
- 买了个面包机,可以比较成功的做出基础的蛋糕和面包。
- 在舍友买的电子琴上练习,可以双手弹《天黑黑》、《遇见》啦。
- 买了瑜伽垫,平均每周有两次短暂的练习。
- 买了Xbox尝试跳舞和力量练习,效果还有待后续检验。
- 尝试轻断食果蔬排毒法,把过年骤增的三四斤减回来了。
- 早起阅读英语新闻,打卡坚持了12天,感觉不错,继续坚持。
- 基本逛遍了苏州老城区:苏大、十全街、凤凰街、观前街、平江路、胥江等等,吃了舌尖上的中国推荐的面,还有一些人气小吃:矮子馅饼、小栗王的板栗、乐格子的松饼、念其味的苏式面、鲜肉月饼、胖哥俩肉蟹煲、花串串、某家新疆手抓饭。
- 看了三分之二苏州的博物馆:苏州博物馆、工艺美术博物馆、园林博物馆、评弹博物馆,基金博物馆,某古镇古代性文化博物馆。
- 去了一些苏州景点:沧浪亭、盘门夜景,寒山寺,苏州乐园,还有几年前的拙政园,摩天轮公园。
- 对现代化的苏州也有不少了解,比如月光码头、李公堤、靠近阳澄湖的购物小镇奕欧来、二号线另一头终点站的永旺梦乐城,似乎目前知道的商场都去了个遍,还去了一个充满城乡结合气息的商城,在寒山寺附近,发现苏州不同区之间贫富差距还蛮大的。
- 旅游出行:南山竹海+温泉;婺源徒步爬了两天山;上海当地陪,又逛了一轮外滩田子坊城市规划馆;第四次去同里古镇;春节前深圳南山区一日商场游;海南三亚陵水的吃吃吃。
浙公网安备 33010602011771号