最近在网上看到一组 C.H.I.P 套装,包含一台 PocketCHIP 和一块 C.H.I.P 单板。作为一名合格的伪极客,我当然毫不犹豫地把它买了下来。

这篇博文的正文文字部分,全部使用 C.H.I.P 上的 Mousepad 编辑。

PocketCHIP

这里只聊一下 PocketCHIP 的属性或者特有功能,文档可以在互联网档案馆的 Next Thing Co. 网站找到,用法这里就不赘述了。

和 C.H.I.P 通用的内容会整合到下一部分。

PocketCHIP 拿在手里就像一台 UMPC ,只不过功能稍弱,480×272 的屏幕分辨率也很低,官方也就把 PocketCHIP 定位成了一台开源掌机……

PocketCHIP Front

3D 打印前面板是另外从爱好者购买的。原装前面板大概长这样:

PocketCHIP Stock

从图片里也能看出来,PocketCHIP 按键手感远远不如普通掌机——无论加不加前面板。不过既然是开源掌机,在我心目中它综合素质自然要比一般机器要好。

PocketCHIP 后壳半透明,如果拿在手里操作,坐在对面的人应该能隐约看到主板上的 CPU 和内存——但是还是不要拿出去到处跑为好,毕竟它看起来脆弱到摔一下就会散架。而因为我的暴力使用,它的屏幕已经出现一行坏像素了……

Zelda

PocketCHIP 透过 RetroArch 上的 mGBA,运行《塞尔达传说》。虽说 PocketCHIP 搭载的全志 R8 芯片模拟 GBA 有些吃力,如果有机会和极客朋友聚会,一定还是要在他面前炫耀一番自己的 PocketCHIP。总体上,PocketCHIP 算是台很有趣的 ARM 电脑,拿来当作玩具很值得,可惜制造它的 Next Thing Co. 早已破产。现在想使用 PocketCHIP 或者 C.H.I.P ,就需要把软件源换成非官方镜像。(我用的是 jfpossibilities )

C.H.I.P

PocketCHIP 实际上就是 C.H.I.P 单板和一台底座的组合,所以适用于 PocketCHIP 的 PICO-8 等也能在 C.H.I.P 上运行。还有人制作了能够让非树莓派硬件运行 Minecraft Pi 的 libbcm_host.so 实现 ,不过在我的 C.H.I.P 上并没有成功。

C.H.I.P 搭载全志 R8 SoC,55纳米制程,板载有 512MiB 内存和 4GB 闪存。

令人困扰的硬件缺陷

讲道理,PocketCHIP 上的单板应该和 C.H.I.P 单板一模一样才对。但是可能因为我拿到了有缺陷的 C.H.I.P ,使用体验一点也不愉快——第一次通电,问题就出现了:插进 USB 供电线,长按电源键开机,电源灯闪亮了一下,又熄灭了。我以为它的闪存放了太久,数据丢失了,就找了个离线刷机脚本,刷了起来……插上电脑,开始刷机之后却又突然断电了。我直接傻了,绝望中把它插进 PocketCHIP 的底座,机器竟然成功开机,系统没有坏!

拔掉底座,把 C.H.I.P 接上 VGA 模块,插上电池,开机没有问题。但发热高到什么程度呢?如果滴 1/4 mL 水到 SoC 上,你就能看到水滴以肉眼可见的速度蒸发。我没多想,只猜测是 USB 接口有问题,传输不了如此高的电流。于是我搞来一块 BOOST 电路板,调成 4.0V 电压,焊上一只电池插槽,接入 C.H.I.P ,尝试开机。奇怪的是,C.H.I.P 仍然闪亮一下就熄灭,不同的是我的 BOOST 电路板指示灯也熄灭了一下。好吧,可能是启动电流过大,电源承受不住。无奈,只能拔掉电源线,插上从废点读机上拆下来的一块电池,效果竟然还不错。

如果你想知道我怎么解决发热问题……我携来一块用于笔记本电脑散热的铝板,把 C.H.I.P 的 SoC 用导热胶粘在上面。由于尝试了一下用 BOOST 电路供电,我插拔了下电池线,为此需要取下 C.H.I.P。之后因为电源 IC 发热问题,我又把 C.H.I.P 取下涂导热胶。也就是说,目前为止我总共涂了三次导热胶……

用电池成功让 C.H.I.P 开机,然后呢?VGA 显示器出现了抖动的画面。插上 USB 供电,画面恢复正常,看来原因是供电不足。电表显示从 USB 线输入的功率为 5W ,但从数据上看电池电压还在不断下降,最后我只能先关闭 C.H.I.P,给电池充电。但总不能每次都用一会停一会吧,对电池也不好……最后我发现解除电源 IC 电流限制(sudo axp209 --no-limit),电池才不再放电,而电表也显示 USB 传输了 10W 功率,也难怪机器会这么热。因为电源 IC 太热,我给它涂了点导热胶,这就是第二次涂导热胶的原因。

上电之后玩什么?

C.H.I.P 能够游玩 PICO-8 ,安装 chip-pico-8 就好。除此之外,也可以自己编译 RetroArch 。

说到 RetroArch ,我在它上浪费了好几个小时。一开始我尝试在 Debian x86_64 容器上交叉编译,但似乎因为 glibc 版本问题无法运行。我并不懂编译,只能把环境改到和 C.H.I.P 一样的 Debian 8 ARM,直接编译,所幸最后成功运行,前面图片展示的《塞尔达传说 缩小帽》就运行在 RetroArch 上。

试着用同样的方法编译 Minetest 却没有成功,可能是因为函数库版本太旧。后来 Lucent 让我试试用 crosstool-ng 交叉编译,不过我还没有开始尝试。

如果你想用它浏览网页……当然可以,但首先全志 R8 的性能难以带动现代网页,其次 Debian 8 浏览器版本很旧,用它浏览网页已不安全。

总之,拥有 PC 的情况下,把 C.H.I.P 当成开源游戏机就挺好。

关于单板电脑

其实 C.H.I.P 并不是我的第一台单板电脑。初中时我买了一台 NanoPi-M1,到手后却发现完全不会使用 GNU/Linux,英文也根本看不懂。最后只能把系统换成 Android,把它当成电视盒子用,浪费了宝贵的资源。也是在那之后,我才开始真正接触 GNU/Linux,并在我自己的电脑上安装 Ubuntu 和 Debian。

那台 NanoPi 因为我的暴力使用,没有成功“存活”到初中毕业前。说起来,初中生活相比较而言还很充实,那时候我有位友善的同桌,我们经常把《维基百科》中的页面印出来看,还常常抓一把碎纸屑往走廊外扔,美其名曰“研究空气动力学”,把物理老师气得……好吧,扯远了。

我想几年或者十几年之后,我翻回这篇博文,想到 C.H.I.P 时也会怀念现在的生活吧。毕竟,人的记忆总是会美化过去的事情。