2011-09-05 49 views
10

是否可以將用於linux內核的rt-patch應用於android內核?Linux rt- patch for android any?

爲什麼? 這完全是一個研究項目。我可以在我的汽車上安裝一個運行Android的儀表板,並且還可以控制汽車中的安全關鍵任務嗎? Android本身對於SC任務是有用的,但如果我把它放在hypervisor上,我相信它可以完成。

+0

你得到它的工作? – student1

回答

0

我終於自己拿了披風,想出了一個基於超級遮陽板的方法,這樣Android就可以支持硬實時處理。

+0

你是否成功地修復了Android內核?我希望在從USB接收數據期間具有相同的行爲(實時)。我會感謝你的幫助。 – syntagma

4

非常重要的環節

實時機器人正在進行的研究。

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內核。

它說,你可以成功地將rt-patch的linux安裝到android上。

順便說一句,實時架構的定義是,

實時系統是其中的計算的正確性 不僅取決於計算的邏輯正確性,但 還取決於時間在此產生結果。如果系統的時間限制 未滿足,則說系統故障發生了 。

以上內容來自裁判:HTTP://www.ibm.com/developerworks/linux/library/l-real-time-linux/

所以,基本上,爲什麼在這個宇宙中要應用RT -atch到android內核?


**剛剛發現* *

這篇文章是值得探討的,你可能會發現一個鏈接,請根據您的研究項目。

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

+0

到目前爲止,我已經讀過這個線程一百遍。 –

+0

這恰好是我的主人的項目。我試圖弄清楚我們如何構建一個運行android用於UI目的的設備,然而卻可以在底部運行艱苦的實時任務。 –

+1

查看我新添加的鏈接 – doNotCheckMyBlog

3

我不知道的細節下到內核的水平,但我認爲你想創建一個RT Android版本。

關於這個願望,我會認爲只是應用RT補丁將無法讓您獲得實時版本的Android。

特別是對於虛擬機來說,垃圾收集暫停有很多複雜性,並且會阻止真正的實時行爲。

E.g.查看JVM的實時規範。從最初提交到實際工作實施需要8年的時間。

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

所以,總體來說..它可能會,可能是可以應用的RT補丁,但結局不會做你是什麼可能了。

+0

我並不真正期望從虛擬機獲得RT性能。我只是想分享我的性感機器人和硬實時之間的hardare。 –

+0

不知道我關注。你希望有非實時的Android堆棧以及一個可能在RT中具有低級別c代碼的RT linux內核。如果這是可能的情況下,如果android內核補丁和rt補丁可以合併沒有妥協。這可能很難雖然.. –

+0

是的,你讓我的權利。 Android應用程序不會處理實時工作,內核模塊將會。 –

2

像其他人說,沒有你不能同時RT和Android補丁適用於Linux內核沒有真正的理由。但是,這對你是否有用取決於你想要做什麼。

您將無法獲得具有完整API支持的實時Android應用程序。但是,您應該能夠使用C編寫實時本機應用程序。請參閱documentation以編寫本機活動。你只需要非常小心,不要對Java進行任何API調用(因爲可能對垃圾收集起初,對於初學者來說) - 甚至可能是許多Linux系統調用 - 你希望表現的線程一個實時的方式。因此,像任何真正的實時系統一樣,大部分工作將由您決定。

每當kernel.org重新上線,有一個看的RT wiki

3

如果我理解這個問題。你有一個非常關鍵的系統(如汽車的剎車輔助系統等),你想通過在android(儀表板)中創建一個漂亮的gui來控制/跟蹤它?

我認爲你應該總是將關鍵系統從gui中分離出來。這也在硬件層面上。所以你可以做任何你想在GUI中做的事情,但是關鍵系統永遠不會受到影響(由於花哨的圖形負擔過重等),因爲它運行在它自己的硬件上。

所以你必須在一個系統:在汽車內部的計算機(也就是今天),和一個完全其它系統:基於Android漂亮的GUI。

那些事情2之間的通信應當是儘可能簡單,已經有很多的標準與內部計算機通信,它們大多是品牌相關的(例如:VAG COM)。

1

可以,但除了兩個我懷疑你將至少有一個概念性的問題相結合的明顯拼搏應用兩個補丁(RT內核和Android內核修改) - Android使用鎖的系統,稱爲「喚醒鎖定「,以控制它正在運行的系統何時和達到什麼級別可以進入省電模式。

的問題是,深省電模式是不是所有有需要預測硬實時兼容。

當然你也可以修改Android的補丁,並提供一個「虛擬」實施之後鎖定機制,特別是在汽車,你有一個更大的電池,然後你的平均平板電腦或智能手機,但它是你將需要解決。

除此之外,我相信這都是代碼集成和測試工作。

好運

2

如果你的目標確實是只啓動與RT補丁一個Android的內核,那麼它​​很可能微不足道,如果運行的內核設備的架構是由RT補丁支持。例如,x86得到很好的支持,我相信ARM也是如此。

我使用「微不足道」的意義; RT修補程序可能無法完全適用於具有自定義(即非主線)更改(例如Android內核)的任意內核,但對諸如併發控制之類的內容進行架構和較低級別的集成可能是一些最大的挑戰。 RT修補程序通常設計爲可以與任意驅動程序一起使用,但也可能存在其他問題:RT修補程序涉及許多子系統。另一方面,大量的RT補丁實際上已經將其加入到上游內核中,這取決於Android內核所基於的分叉版本來簡化任務。

假設RT修補程序支持該體系結構,它已成功應用於解決了衝突並引導的Android內核,但您的工作還遠遠沒有完成。任何用戶空間應用程序(例如運行在JVM之上的UI)都必須瞭解時序約束等等。

有關使用RT補丁構建應用程序的更多信息,可以參考本維基的RT補丁:http://rt.wiki.kernel.org/(請注意,在撰寫本文時,由於最近的安全漏洞,此kernel.org已關閉)。