标签 PowerPC 下的文章

一个学生在搜寻强劲而节能的工作站的历程中怎样对开源系统的热情与日俱增的。

最近我被问起为什么在博客和推特里经常提到 ARMPowerPC。我有两个答案:一个是个人原因,另一个是技术上的。

个人原因

从前,我是学环境保护的。在我读博的时候,我准备买个新电脑。作为一个环保人士,我需要一台强劲且节能的电脑。这就是我开始对 PowerPC 感兴趣的原因,我找到了 Pegasos,这是一台 Genesi 公司制造的 PowerPC 工作站。

我还用过 RS/6000 (PowerPC)、 SGI (MIPS)、 HP-UX (PA-RISC)和 VMS (Alpha)的服务器和工作站,由于我的 PC 使用 Linux 而非 Windows,所以使用不同的 CPU 架构对我来说并没有什么区别。 Pegasos 是我第一台工作站,它小型而节能而且对家用来说性能足够。

很快我就开始为 Genesi 工作,为 Pegasos 移植 openSUSE、 Ubuntu 和其他 Linux 发行版,并提供质量保证和社区支持。继 Pegasos 之后是 EFIKA,这是另一款基于 PowerPC 的开发板。在用过工作站之后,刚开始使用嵌入式系统会感觉有点奇怪。但是作为第一代普及价位的开发板,这是一场革命的开端。

我工作于一个大规模的服务器项目时,我收到 Genesi 的另一块有趣的开发板:基于 ARM 的 SmarttopSmartbook。我最喜欢的 Linux 发行版——openSUSE,也收到了一打这种机器。这在当时 ARM 电脑非常稀缺的情况下,极大地促进了 ARM 版 openSUSE 项目的开发。

尽管最近我很忙,我尽量保持对 ARM 和 PowerPC 新闻的关注。这有助于我支持非 x86 平台上的 syslog-ng 用户。只要有半个小时的空,我就会去捣鼓一下 ARM 机器。我在树莓派2上做了很多 syslog-ng 的测试,结果令人振奋。我最近在树莓派上做了个音乐播放器,用了一块 USB 声卡和音乐播放守护进程,我经常使用它。

技术方面

美好的多样性:它创造了竞争,而竞争创造了更好的产品。虽然 x86 是一款强劲的通用处理器,但 ARM 和 PowerPC (以及许多其他)这样的芯片在多种特定场景下显得更适合。

如果你有一部运行安卓的移动设备或者苹果的 iPhone 或 iPad,极有可能它使用的就是基于ARM 的 SoC (片上系统)。网络存储服务器也一样。原因很简单:省电。你不会希望手机一直在充电,也不想为你的路由器付更多的电费。

ARM 亦在使用 64 位 ARMv8 芯片征战企业级服务器市场。很多任务只需要极少的计算能力,另一方面省电和快速 IO 才是关键,想想存储、静态网页服务器、电子邮件和其他网络/存储相关的功能。一个最好的例子就是 Ceph,一个分布式的面向对象文件系统。SoftIron 就是一个基于 ARMv8 开发版,使用 CentOS 作为基准软件,运行在 Ceph 上的完整存储应用。

众所周知 PowerPC 是旧版苹果 Mac 电脑上的 CPU。虽然它不再作为通用桌面电脑的 CPU ,它依然在路由器和电信设备里发挥作用。而且 IBM 仍在为高端服务器制造芯片。几年前,随着 Power8 的引入, IBM 在 OpenPower 基金会 的支持下开放了架构。 Power8 对于关心内存带宽的设备,比如 HPC 、大数据、数据挖掘来说,是非常理想的平台。目前,Power9 也正呼之欲出。

这些都是服务器应用,但也有计划用于终端用户。猛禽工程团队正在开发一款基于 Power9 的工作站,也有一个基于飞思卡尔/恩智浦 QORIQ E6500 芯片制造笔记本的倡议。当然,这些电脑并不适合所有人,你不能在它们上面安装 Windows 游戏或者商业应用。但它们对于 PowerPC 开发人员和爱好者,或者任何想要完全开放系统的人来说是理想的选择,因为从硬件到固件到应用程序都是开放的。

梦想

我的梦想是完全没有 x86 的环境,不是因为我讨厌 x86 ,而是因为我喜欢多样化而且总是希望使用最适合工作的工具。如果你看看猛禽工程网页上的,根据不同的使用情景, ARM 和 POWER 完全可以代替 x86 。现在,我在笔记本的 x86 虚拟机上编译、打包和测试 syslog-ng。如果能用上足够强劲的 ARMv8 或者 PowerPC 电脑,无论工作站还是服务器,我就能避免在 x86 上做这些事。

现在我正在等待下一代菠萝本的到来,就像我在二月份 FOSDEM 上说的,下一代有望提供更高的性能。和 Chrome 本不同的是,这个 ARM 笔记本设计用于运行 Linux 而非仅是个客户端(LCTT 译注:Chrome 笔记本只提供基于网页的应用)。作为桌面系统,我在寻找 ARMv8 工作站级别的硬件。有些已经接近完成——就像 Avantek 公司的 雷神 X 台式机——不过他们还没有装备最新最快最重要也最节能的 ARMv8 CPU。当这些都实现了,我将用我的 Pixel C 笔记本运行安卓。它不像 Linux 那样简单灵活,但它以强大的 ARM SoC 和 Linux 内核为基础。


via: https://opensource.com/article/18/4/why-i-love-arm-and-powerpc

作者:Peter Czanik 译者:kennethXia 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

eInfochips(一家软件厂商) 已将将 Android 4.4 系统移植到 PowerPC 架构,它将用于一家航空电子客户用来监视引擎的健康状况的 人机界面 Human Machine Interface (HMI)。

eInfochips 已经开发了第一个面向 PowerPC 架构的 CPU 的 Android 移植版本,并支持 大端 Big Endian 架构。此移植基于 Android 开源项目 Android Open Source Project (AOSP)中 Android 4.4 (KitKat)的代码,其功能内核的版本号为 3.12.19。

Android 开始兴起的时候,PowerPC 正在快速丢失和 ARM 架构共同角逐的市场。高端的网络客户和其它的企业级的嵌入式工具大多运行在诸如 飞思卡尔 Freescale 的 PowerQUICC 和 QorIQ 这样的 PowerPC 处理器上,但是并不是 Linux 系统。不过,有几个 Android 的移植计划。在 2009 年,飞思卡尔和 Embedded Alley(一家软件厂商,当前是 Mentor Graphics 的 Linux 团队的一部分)宣布了针对 PowerQUICC 和 QorIQ 芯片的移植版本,当前由 NXP 公司构建。另一个名为 Android-PowerPC 的项目也作出了相似的工作。

这些努力来的都并不容易,然而,当航空公司找到 eInfochips,希望能够为他们那些基于 PowerPC 的引擎监控系统添加 Android 应用程序以改善人机界面。该公司找出了这些早期的移植版本,然而,它们都相距甚远。所以,他们不得不从头开始新的移植。

最主要的问题是这些移植的 Android 版本实在是太老了,和现在的 Android 差别太大了。Embedded Alley 移植的版本为 Android 1.5 (Cupcake),它于 2009 年发布,Linux 内核版本为 2.6.28。而 Android-PowerPC 项目最后一版的移植是 Android 2.2 (Froyo),它于 2010 年发布,内核版本为 2.6.32。此外,航空公司还有一些额外的技术诉求,例如对 大端架构 Big Endian 的支持,这种老式的内存访问方式仍旧应用于网络通信和电信行业。然而那些早期的移植版本仅能够支持 小端架构 Little Endian 的内存访问。

来自 eInfochips 的全新 PowerPC 架构移植

eInfochips, 它最为出名的应该是那些基于 ARM/骁龙处理器的模块计算机板卡,例如 Eragon 600。 它已经完成了基于 QorIQ 的 Android 4.4 系统移植,且发布了白皮书介绍了该项目。采用该项目的航空电子设备客户仍旧不愿透露名称,目前仍旧不清楚什么时候会公开此该移植版本。

图片来自 eInfochips 的博客日志

全新的 PowerPC Android 项目包括:

  • 为 PowerPC e5500 定制的 Bionic 库
  • 基于 Android KitKat 的大端支持
  • 使用 GCC 5.2 工具链开发
  • Android 4.4 框架的 PowerPC 支持
  • PowerPC e5500 的 Android 内核版本为 3.12.19

根据 eInfochips 的销售经理 Sooryanarayanan Balasubramanian 描述,该航空电子客户想要使用 Android 主要是因为熟悉的界面能够缩减培训的时间,并且让程序更新和增加新程序变得更加容易。他继续解释说:“这次成功的移植了 Android,使得今后的工作仅仅需要在应用层作出修修改改,而不再向以前一样需要在所有层面之间作相互的校验。”,“这是第一次在航空航天工业作出这些尝试,这需要在设计时尽量认真。”

通过白皮书,可以知道将 Android 移植到 PowerPC 上需要对框架、核心库、开发工具链、运行时链接器、对象链接器和开源编译工具作出大量的修改。在字节码生成阶段,移植团队决定使用 便携模式 portable mode 而不是 快速解释模式 fast interpreter mode 。这是因为还没有 PowerPC 可用的快速解释模式,而使用开源的 libffi 的便携模式能够支持 PowerPC。

同时,团队还面临着在 Android 运行时 (ART) 环境和 Dalvik 虚拟机 (DVM) 环境之间的选择。他们发现,ART 环境下的便携模式还未经测试且缺乏良好的文档支持,所以最终选择了 DVM 环境下的便携模式。

白皮书中还提及了其它的一些在移植过程中遇到的困难,包括重新开发工具链,重写脚本以解决 AOSP 对编译器标志“非标准”使用的问题。最终完成的移植版本提供了 37 个服务,以及提供了无界面的 Android 部署,在前端使用用户空间的模拟 UI。

目标硬件

感谢来自 eInfochips 博客日志 的图片(如下图所示),让我们能够确认此 PowerPC 的 Android 移植项目的硬件平台。这个板卡为 X-ES Xpedite 6101,它是一个加固级 XMC/PrPMC 夹层模组。

X-ES Xpedite 6101 照片和框图

X-ES Xpedite 6101 板卡拥有一个可选的 NXP 公司基于 QorIQ T 系列通信处理器(T2081、T1042 和 T1022),它们分别集成了 8 个、4 个和 2 个 e6500 核心,稍有不同的是,T2081 的处理器主频为 1.8GHz,T1042/22 的处理器主频为 1.4GHz。所有的核心都集成了 AltiVec SIMD 引擎,这也就意味着它能够提供 DSP 级别的浮点运算性能。所有以上 3 款 X-ES 板卡都能够支持最高 8GB 的 DDR3-1600 ECC SDRAM 内存。外加 512MB NOR 和 32GB 的 NAND 闪存。

NXP T2081 框图

板卡的 I/O 包括一个 x4 PCI Express Gen2 通道,以及两个千兆级网卡、 RS232/422/485 串口和 SATA 3.0 接口。此外,它可选 3 款 QorIQ 处理器,Xpedite 6101 提供了三种 X-ES 加固等级,分别是额定工作温度 0 ~ 55°C, -40 ~ 70°C, 或者是 -40 ~ 85°C,且包含 3 类冲击和抗振类别。

此外,我们已经介绍过的基于 X-ES QorIQ 的 XMC/PrPMC 板卡包括 XPedite6401 和 XPedite6370,它们支持已有的板卡级 Linux 、风河的 VxWorks(一种实时操作系统) 和 Green Hills 的 Integrity(也是一种操作系统)。

更多信息

eInfochips Android PowerPC 移植白皮书可以在此下载(需要先免费注册)。

相关资料


via: http://hackerboards.com/powerpc-gains-android-4-4-port-with-big-endian-support/

作者:Eric Brown 译者:dongfengweixiao 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出