嵌入式 Linux 三年:与 Hugo Fiennes 和 Marc Merlin 的对话
三年来,一款引人注目、易于破解的车载 MP3 播放器 “empeg”(全部小写)一直是极客和 MP3 爱好者的渴望之物。如今,它既是一个蓬勃发展的业余爱好者社区的中心,也是下一代必备高端汽车音响组件的领先竞争者。
empeg 在 1998 年成为 Linux 新闻网站的热门话题,并在次年荣获 Linux Journal 编辑选择奖。这一切都始于 Mazda Miata 驾驶员 Hugo Fiennes 决定停止在车内摆弄卡带和 CD,并将他的音乐收藏安装到后备箱中。他的原始项目 “MP3mobile” 是一个大型 Intel 架构的盒子,无法安装在仪表板中。但是,在旅途中拥有大型音乐档案的吸引力吸引了人们。他们涌入 Hugo 的网站,他创立了 empeg Ltd.。与硬件设计师 Patrick Arnold 和其他人一起,他围绕 StrongARM CPU 设计了第一款仪表板版本 Mark 1。
Mark 1 是一款必备的玩具,但难以制造。在 eBay 上,它的售价高于标价,而 empeg Ltd. 无法以足够快的速度生产来满足需求。Mark 2,即当前型号,更易于制造和测试,并具有以太网接口用于加载音乐。去年秋天,S3(即将更名为 SONICblue)收购了 empeg Ltd.,这为 empeg 带来了强大的制造能力和一个新名称 “Rio Car”。而 Hugo 现在是 empeg 的技术总监,看起来像是一位一流的高科技远见卓识者,因为其他公司也纷纷效仿他的榜样,选择 Linux 作为支持网络的娱乐设备的操作系统。

Rio Car
首先吸引您眼球的功能是 “可视化效果”——可配置的动画,会随着音乐而移动。不仅仅是 VU 表,还有圆形、曲线、快速傅里叶变换和其他炫酷效果,充分利用了大型(对于汽车音响而言)128 × 32 点阵真空荧光显示屏。显示屏后面是一颗主频为 220MHz 的 StrongARM S-1100-DA CPU,配备 1MB 闪存、12MB 内存和一个 Philips DSP 芯片,该芯片支持音频功能,包括每个通道五个参数均衡器频段。专业的业余爱好者或专业安装人员将有很多选项来调整 empeg 的声音,以适应安装它的汽车。当然,还有充足的磁盘空间——目前最多可安装两个笔记本电脑硬盘,每个 20GB。
I/O 选项非常丰富——用于未来语音识别软件的麦克风、IrDA 输入、以太网、串行以及即将推出的无线网络。CPU 仅使用了 30% 的容量,因此用户有充足的空间来添加自己的自定义软件。在软件方面,有一个功能齐全的 MP3 播放应用程序,具有多个播放列表和可视化效果。非黑客用户可以使用 Microsoft Windows 应用程序更新他们的音乐收藏和可视化效果,并且有一个 (GPL) 实用程序可以从 Linux 管理 empeg,供黑客使用。Windows Media Audio 支持正在进行中。
由于 Hugo 从经典的 “解决个人痛点” 的角度出发,这正是 Linux 黑客们普遍喜爱的,因此 empeg 网站声称生产 “世界上最开放的仪表板计算平台” 是名副其实的。用户项目包括从播放首选音频格式的软件,到用于方向盘控制杆的接口,到备用启动屏幕,再到奇怪的 empeg/Palm GPS 映射系统,该系统使用 Palm Pilot 向您显示地图,而 empeg 告诉您如何到达目的地。
empeg 能否跨越从黑客崇拜对象到必要的汽车音响组件的鸿沟?它的可定制性将吸引高端汽车音响店,而且它的存储容量和便利性是无与伦比的。我们谦虚地认为,答案是肯定的。
在拉斯维加斯消费电子展上查看了 Rio Car 后,我们通过电子邮件采访了 Hugo,然后与 empeg 的一位早期爱好者一起兜风。

Hugo: 如果有需求,这有可能。目前,对此的需求很少;如果需要,我们在内存和 CPU 方面都有充足的余量来添加它。
ELJ: 您能否告诉我们您在与 Microsoft 合作将 Windows Media 支持添加到基于 Linux 的产品中的一些经验?
Hugo: 与 Microsoft 本身没有问题,即使是获取 ELF 格式的库也没有问题。存在通常的集成问题(库支持等),我们不喜欢他们提供的接口,但这与集成任何外部库实际上没有什么不同!
ELJ: empeg.mars.org 是一个致力于破解 empeg 的网站,您似乎鼓励这样做。您是否将独立爱好者开发的任何技术 incorporated 到产品中?
Hugo: 没有,但我们也没有排除这种可能性。我们并不特别支持 empeg.mars.org,但如果人们提出我们能回答的问题,我们通常会回答。大多数员工都会阅读 empeg.comms.net,这是一个非常繁忙的用户 BBS。mars.org 上的很多信息都来自 comms.net 上的帖子。(请参阅资源中 empeg 破解站点的链接。)
ELJ: 自您开始使用嵌入式 Linux 以来,多家公司推出了嵌入式 Linux 发行版和开发工具。您是否考虑过使用嵌入式发行版,或者您仍然认为自己动手更好?
Hugo: 除了内核本身和 glibc(带有 pthreads)之外,我们几乎没有使用其他东西;“发行版” 实际上并不适用。我们运行一个几乎标准的内核,并使用最新的 ARM 补丁进行了修补。
我们之间拥有相当多的 Linux 开发经验,因此我们不需要太多的手把手指导,这可能更是发行版的目标受众。
ELJ: 自您创建原始的 “MP3mobile” 以来已经快三年了。您为什么将商用产品从 x86 转移到 ARM,您认为 ARM 适合哪些类型的项目?
Hugo: 自 1987 年以来,我就一直是 ARM 的狂热爱好者,当时我得到了我的第一台基于 ARM 的机器:Acorn Archimedes A310。我为 MP3mobile 使用 x86 机器,仅仅是因为我可以获得正确外形尺寸的机器,并且它在一个板上拥有所有必要的 I/O。在像 empeg 这样小巧紧凑的产品中使用 x86 从来都不容易,仅仅是因为散热问题。当时,最好的无风扇嵌入式 x86 只有 DX4/100 的功率左右,这有点勉强。empeg 中的 StrongARM 在 221MHz 的频率下运行凉爽,无需散热器。
ARM 几乎适用于所有嵌入式应用程序——从 Cirrus 7212(74MHz,板载 SRAM、DRAM 控制器、LCD 等)(用于 Dell/Rio Receiver(也是 empeg 产品))到 StrongARM SA1110(高达 206MHz——旧款 1100 在 empeg-car 中最高为 221MHz,具有类似的板载外围设备)到最新的 XScale 芯片(将达到 733MHz),都有各种各样的微控制器类芯片。它们都没有 FPU,但都具有快速乘法累加功能,这非常适合许多 DSP 算法。它们不与桌面 CPU 竞争,但它们体积小、功耗低、相对便宜且易于使用。
ELJ: 您正在考虑为下一代基于 Linux 的汽车音响设备开发哪些新功能?
Hugo: 我们今年在 CES 上演示了无线解决方案,这将成为未来的重要特色;除此之外,我不能说太多——我们参与了很多领域(包括车载和车外),其成果将在今年晚些时候看到。

Marc Merlin 是 empeg 的早期采用者,并且听了很多 rave 类型的电子音乐,这些音乐听起来肯定不像你在收音机里听到的任何东西,正如 Embedded Linux Journal 在他带我们乘坐 empeg 的汽车兜风时发现的那样。他在两辆车上都安装了车载底座,并在它们之间交换 empeg,或者插入 AC 适配器在家中加载歌曲和收听。
ELJ: Marc,自从您是第一个获得 empeg 的人以来,您感觉如何?
Marc: 我很喜欢它。它不便宜,但考虑到我 99% 的音乐都是 MP3 格式,这非常值得。我再也无法忍受我们这里愚蠢的收音机了。
我拥有 350 台 Mark 1 播放器中的一台。后来我以原价卖掉了它,并在去年 7 月开始销售 Mark 2 时升级到了 Mark 2。
ELJ: 您破解过它吗,还是原装的?
Marc: 软件已被破解。我有一个启动菜单、俄罗斯方块和用于 Commodore 64 曲调的 SIDPlayer。我可能会很快添加一个 Web 服务器。硬件目前是原装的。我可能会稍后添加第二个硬盘驱动器。
Don Marti 是 Embedded Linux Journal 的技术编辑。可以通过 dmarti@ssc.com 联系到他。
电子邮件: dmarti@ssc.com