【问题标题】:Linux rt- patch for android anyone?Linux rt- 安卓补丁有人吗?
【发布时间】:2011-09-05 20:10:12
【问题描述】:

是否可以将适用于 linux 内核的 rt-patch 应用于 android 内核?

为什么? 这纯粹是一个研究项目。我可以在我的车上安装一个运行 Android 的仪表板,同时控制车内的安全关键任务吗? Android 本身对 SC 任务很有用,但如果我把它放在管理程序上,我相信它可以完成。

【问题讨论】:

  • 你搞定了吗?

标签: android linux-kernel real-time


【解决方案1】:

非常重要的链接

对实时android的持续研究。

http://code.google.com/edu/submissions/ncsu-rts/


下面的博客讨论值得一读,

http://groups.google.com/group/android-kernel/browse_thread/thread/fbf7f94d80f5eb2c/4e9f6f4d22a40b36?pli=1

它与任何 Linux 系统中的实时支持没有什么不同,有 您研究过 Linux 内核的实时补丁集吗?它 应该适用于Android内核没有问题。

它说,你可以成功地将 linux 的 rt-patch 移植到 android。

顺便说一句,实时架构的定义是,

实时系统是指计算的正确性 不仅取决于计算的逻辑正确性,而且 还取决于产生结果的时间。如果时机 系统的约束没有得到满足,系统故障就说有 发生了。

以上参考来自:http://www.ibm.com/developerworks/linux/library/l-real-time-linux/

那么,基本上为什么在这个宇宙中你想将 rt-patch 应用于 android 内核?


**刚刚找到**

这篇文章值得探索,您可能会找到一个链接来关注您的研究项目。

http://users.ece.gatech.edu/~vkm/Android_Real_Time.pdf

【讨论】:

  • 这恰好是我主人的项目。我正在试图弄清楚我们如何构建一个运行 android 以用于 UI 目的的设备,但又可以在底部运行硬实时任务。
  • 刚刚添加了关于 android realtime 研究的链接
【解决方案2】:

如果我理解了这个问题。您有一个非常关键的系统(例如汽车的制动辅助系统等),并且您想通过在 android(仪表板)中创建的漂亮 gui 来控制/跟踪它?

我认为您应该始终将关键系统与 gui 分开。这也是在硬件层面上。所以你可以在你的 GUI 中做任何你不想做的事情,但关键系统永远不会受到影响(由于花哨的图形的大量 cpu 负载等),因为它在自己的硬件上运行。

因此,您将拥有一个系统:汽车内部计算机(就像现在一样),以及一个完全不同的系统:基于 Android 的漂亮 GUI。

这两件事之间的通信应该尽可能简单,与内部计算机通信的标准已经很多,它们大多是依赖于品牌的(例如:VAG com)。

【讨论】:

    【解决方案3】:

    我不知道内核级别的详细信息,但我假设您想创建一个 RT Android 版本。

    关于这个愿望,我认为仅仅应用 RT 补丁并不能让您获得 Android 的实时版本。

    特别是对于虚拟机,垃圾收集暂停涉及很多复杂性,从而妨碍了真正的实时行为。

    例如查看 JVM 的实时规范。从最初的提交到实际的工作实施花了 8 年时间。

    http://www.jcp.org/en/jsr/detail?id=1

    所以总的来说.. 应用 RT 补丁可能而且可能是可能的,但结果不会像您想要的那样。

    【讨论】:

    • 我真的不期望虚拟机的 RT 性能。我只是想在性感的 android 和硬实时之间分享我的hardare。
    • 不确定我是否关注。您希望在 RT 中拥有非实时 Android 堆栈以及可能带有低级 c 代码的 RT linux 内核。如果是这种情况,如果 android 内核补丁和 rt 补丁可以毫无妥协地合并,则可能是可能的。不过这可能很困难..
    • 是的,你说得对。 Android 应用程序不会处理实时工作,内核模块会。
    • 嗯..那么你“只是”必须合并android补丁和rt补丁......祝你好运......
    【解决方案4】:

    如果您的目标确实只是使用 RT 补丁启动 Android 内核,那么如果运行内核的设备的架构得到 RT 补丁的支持,这可能是微不足道的。例如,x86 得到很好的支持,我相信 ARM 也是如此。

    我在宽松的意义上使用“琐碎”; RT 补丁可能无法完全适用于具有自定义(即非主线)更改的任意内核,例如 Android 内核,但架构和与并发控制等事物的低级别集成可能是最大的挑战。例如,RT 补丁通常设计为与任意驱动程序一起使用——但可能存在其他问题:RT 补丁涉及许多子系统。从好的方面来说,大量的 RT 补丁实际上已经进入了上游内核,这根据 Android 内核所基于的分叉版本简化了任务。

    假设 RT 补丁支持该架构,它已成功应用于解决冲突并启动的 Android 内核,您的工作还远未完成。任何用户空间应用程序(例如在 JVM 之上运行的 UI)都必须了解时间限制等...

    有关使用 RT 补丁构建应用程序的更多信息,您可以查阅此 wiki 以获取 RT 补丁:http://rt.wiki.kernel.org/(请注意,在撰写本文时,由于最近的安全漏洞,此 kernel.org 已关闭)。

    【讨论】:

      【解决方案5】:

      正如其他人所说,没有任何理由不能将 RT 和 Android 补丁同时应用到 Linux 内核。但是这对你是否有用取决于你想要做什么。

      您不会获得完全支持 API 的实时 Android 应用程序。但是,您应该能够用 C 编写实时本地应用程序。请参阅documentation 了解编写本地活动。您只需要非常小心,不要对 Java 进行任何 API 调用(由于垃圾收集的可能性,对于初学者来说)——甚至可能是许多 Linux 系统调用——来自你打算在其中运行的线程一种实时的方式。因此,就像任何真正的实时系统一样,大部分工作将由您来完成。

      只要 kernel.org 重新上线,请查看RT wiki

      【讨论】:

        【解决方案6】:

        您可以应用这两个补丁(RT 内核和 Android 内核修改),但除了集成这两个明显的艰苦工作之外,我怀疑您至少会遇到一个概念问题 - Android 使用了一个锁系统,称为“唤醒锁” ",控制系统运行的时间和级别可以进入省电模式。

        问题在于深度省电模式与需要可预测性的硬实时完全不兼容。

        当然,您可以修改 Android 补丁并提供唤醒锁定机制的“虚拟”实现,特别是因为在汽车中,您的电池比普通平板电脑或智能手机大得多,但您将需要它解决。

        除此之外,我相信这都是代码集成和测试工作。

        祝你好运

        【讨论】:

          【解决方案7】:

          我终于亲自上阵并提出了一种基于管理程序的方法,以便 Android 可以支持硬实时处理。

          【讨论】:

          • 安卓内核rt补丁成功了吗?我希望在从 USB 接收数据期间具有相同的行为(实时)。感谢您的帮助。
          猜你喜欢
          • 2019-01-11
          • 1970-01-01
          • 1970-01-01
          • 2013-06-18
          • 2021-07-17
          • 2011-01-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多