“您好,我是乔治,这是我的名片。”
“哦?这个名片上有USB口,有芯片?”
“是的,这个名片上运行着Linux,您把它插入到电脑的USB口,Linux会在6秒内启动,然后就可以通过虚拟的串口登录,进入shell了,这里边有我的简历和照片,还有几个Unix经典的小游戏:fortune,rogue,2048等,还有一个MicroPython解释器呢!”
“太酷了!这名片很贵吧?”
“不贵不贵,总成本不到3美元,你可以随意拿, 我这儿还有很多呢!”
这是我看到George Hilliard的文章《My Business Card Runs Linux》以后杜撰的一个场景。
我这人动手能力比较差,不会折腾硬件,在面包板上连接电路估计就是我的极限,所以大学里就选了软件开发。
当我看到George 运行着Linux的名片以后,真是“羡慕嫉妒恨”呐。
这个很酷的名片实际上是个完整的、最小的ARM计算机,上面运行着使用Buildroot自定义出来的Linux固件。所有的这一切都是在8M的闪存中,bootloade占用了256KB, 内核1.6MB,文件系统占用了2.4MB,闪存中还有很大的空间。
George Hilliard自己设计制作完成了他的Linux名片,作为一个嵌入式工程师,他很享受这个制作的过程,其中最大的挑战是找到最便宜的零件。
最终的结果是这个名片的总成本相当低:
看到那个F1C100s了吗,是从淘宝上买的,我去淘宝上搜了一下,确实有,现在只要6块钱。
硬件部分
最关键的“架构决定”就是处理器,经过了大量的研究以后,他选择了中国珠海全志公司生产的一个SoC:F1C100s,相当便宜,并且包含着RAM和CPU。
其他的组件从LCSC(是个电子元器件的在线商城)购买。
George 认为淘宝上的F1C100s惊人地便宜,于是买了一大袋子:
George使用JLC这个网站来制作PCB(印刷电路板),这是个自助服务的网站,只需要上传设计文件,然后就可以在家里等着了,他用8美元制作了10个PCB。
我搜了一下,JLC是嘉立创的缩写,这也是一家中国的公司!
软件部分
从头开始把Linux移植到全志公司的F1C100s上不是那么容易,幸运的是,中国有个程序媛Icenowy在GitHub上维护了一个支持F1C100s的版本:
https://github.com/Icenowy/linux, 感兴趣的同学也可以去看看。
芯片是中国制造的,PCB是中国”印刷“的,软件也是基于中国的开发版本开发的,看来这个名片上的中国元素很足啊!
George在她的基础上做了修改,加了一些驱动(引脚控制器和时钟),Linux的版本也从v4.9改成了v5.2,最终形成了一个名片上的Linux :
https://github.com/thirtythreeforty/linux
最后George还提供了一个电路图,感兴趣的同学可以参考着做一个出来,在中国还有近水楼台先得月的优势,反正我是搞不定了,看着这些图就头大。
参考资料:
https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/
https://www.thirtythreeforty.net/posts/2019/12/designing-my-linux-business-card/
【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】