工程师脑洞大开的idea和遥不可及的爱情,而立之年却全实现了
但是后来,我发现,Lua尽管已经是最小的脚本了,但它一旦跑起来,居然要100K,100K对于PC来说,实在微不足道,但对于单片机就完全不一样,比如当时我在开会和领导提议这件事之后,我当晚就尝试移植,却发现我的单片机只剩下几十K,因此编译好后链接都链接不了。也得亏我当时有个项目用的是一个M4核的大单片机,换上去后才跑了起来,并且看到它占用了100多K,于是我不得不灰溜溜地发邮件宣告了这件事情的失败。但我对这件事情十分不死心,因为我固执地认为,一个基于纯文本的在线升级功能是十分有意义的,于是我开始尝试寻找其他实现方案。
在这个过程里,我最终找到了一个名字叫TCC的编译器,这是一个很神奇的东西,它可能是世界上唯一一个小到100K级的标准ansi c编译器(是的,你发现了,它还是很大)。但是,它比起一般的lua之类的脚本,有个很神奇的地方,那就是它对C的调用不需要经过任何封装,这也不奇怪,因为,它本来就是一个真正的C编译器啊!
但不可避免的问题还是很大,129K,这个过程里,我前后产生过两种想法:
1.我要的只是 C脚本功能,我并不需要编译器,那么,我能否裁剪呢?但是,说实话我对编译器一窍不通,谈何去裁剪修改这个库?
2.129K就129K啊,正如我曾经在STMCU发的一个帖子,存储空间正在变得越来越便宜,十年前我入门时,51单片机的FLASH不过区区8K,16K,可如今随便一个小小的M0分分钟都能去到32K,甚至一两百K。尽管当前,对于(比如我这样的智能手环智能手表)大多数主流使用的单片机,可以自由使用的FLASH不会超过100K,但是,为什么要限制自己呢?但是,后来我发现仍然是有很多问题,甚至还是卡在最开始的地方,编译TCC,先不说TCC虽然有ARM版本,但是Fabrica大神已经不再维护这个项目,但TCC没有一个很友善的社区,它更像Linux,要想使用它,需要相当的技术,而我在makefile,gcc工具链方面实在是不很熟悉。
这件事情确实最终是要花很多时间的,我虽然做好了心理准备,却仍然未免拖沓,到了后来,我忽然想起了IAP这个东西,于是我又有了可能更加实用的方法,毕竟,活生生推一个129K在MCU里,说实话,在单片机的应用里,实在是很不经济......
是的,这件事,至今没有下文,而我也没有放弃。
这次我很欣慰,因为,我在这个还未完成的过程里得到某种慰藉。不管多么难的事情,旁人看起来多么毫无意义(我在和圈内一些大神前辈的请教过程中,被直接痛斥无意义,浪费时间,很难等等,并不在少数。)既然自己坚信在线升级,尤其是,后来我想到采用IAP方案,假如能做到某种类似于 exe直接加载运行的方式,将真的十分十分方便。那么,就去做吧。
也许我会在尝试的过程里走很多很多弯路,甚至最后可能会发现,这件事不可能实现都好,但是我真的为它倾注了足够的时间。就像小王子对那朵玫瑰倾注的时间一样,最后的价值可能本身就在这种倾注本身。而,这,虽然有点悲壮,但是,它真的,就是对自己的脑洞最后的致敬。
遇到一个人然后一切改变--情歌里的童话不一定美好,却有可能是真的
突如其来的爱情。早在两年前,因为家里的密集压力催促,以及我自己真的一个人生活了六七年时间,我真的很想结束自己的单身,找一个女子一同生活。
可是,在这两年里,我尝试了各种又傻又天真的方法,什么走线下户外群啊,什么图书馆志愿者啊,甚至最后再次走到线上,本地qq群啊,各种交友群,兴趣群,甚至还打起了本地程序媛MM的主意......不夸张的说,真的可以说从A计划到H计划,多傻多2都有。但是这些计划,最终都无疾而终,其中甚至还包括图书馆对于志愿者申请十分冷漠这种之前想都没想过的意外。但是,我真的没有想到,一次早就没抱有希望地户外活动,就让我遇到了那个我一直在等待的人。
之后的各种交往细节自不必说。我和女朋友的进展出奇的迅速,从认识到住到一起只用了不到两个半月时间。但是,进展快了一切事情也就被加速。甜蜜期很快就过了,随之而来是住在一起的各种磨合。这些磨合地细节也自不必说。唯独想说的是:由于女朋友的洁癖,我们还有过不少争执,甚至是争吵。不过我渐渐发现,自己逐渐在被一个自己认为的丫头片子改造,倒不全是因为固执,而是有时很害怕被改变,怕自己迷失自己,但是我却忍不住为她所牵动,因此处在纠结之中。哪怕这些改变大多数是很好的,也是自己长期想做的。
说到爱情,我想起一些很老掉牙的歌词,比如范玮琪的那句:
遇见一个人然后生命全改变,原来不是恋爱才有的情节
事实上,这真的更多的时候就是恋爱才有的情节,但是,也正是这个人,改变了我生活的其他部分。在磨合过程中,我的很多想法发生了变化,一直很偏激,时而自负时而自卑,敏感又激越的自己,正在逐渐发生变化。虽然这种变化很疼痛,很辛苦--我不断在找心理方面的书看,甚至看起了禅公案.......
就这些,今天的我过得还蛮充实,希望能看到更多人的分享。
工程师的小目标 相关文章:
- 工程师的半年时光:减肥、理财、做项目都是为了变成更好的自己(06-29)
- 一个工程师匆忙的这半年:成家立业,学习不止(07-05)
- 工程师:拼工作固然重要,保持健康生活才有希望(07-25)