Android 4.4 移植到了 PowerPC 架构,支持大端架构
创始人
2024-03-01 17:31:03
0

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中国 荣誉推出

相关内容

一起Talk Androi...
文章目录 概念介绍使用方法示例代码 各位看官们大家好,上一回中...
2025-06-01 06:03:54
121.Android 简...
             //首页xml布局代码&#x...
2025-06-01 04:29:59
【Android入门到项目...
目录 一、线性布局 1、  android:layout_grav...
2025-05-31 12:52:06
Android studi...
[软件名称]: Android studio2022 [软件大小]...
2025-05-30 21:20:59
[ROC-RK3568-P...
🍇 博主主页: 【Systemcal...
2025-05-30 06:44:43
Android 埋点实战(...
埋点实战 - 动态代理实现点击事件埋点 1. 埋点方式 静态代理 ...
2025-05-30 05:01:17

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...