我編譯了一個用C編寫的簡單可執行應用程序,使用編譯器ARM的arm-linux-gnueabi
。如何在設備上運行ARM應用程序?
如何在設備上運行它?
假設我有兩個設備進行測試:
- 一部三星手機,搭載Windows Mobile 6.1,ARM926EJ處理器OMAP1710
- 一個Foston平板電腦採用Android 2.x中,處理器的名字我沒有找到,但是ARM系列處理器之一。
如果無法在當前操作系統上運行它,那麼如何格式化設備並將我的內核而不是Android/Linux?
我編譯了一個用C編寫的簡單可執行應用程序,使用編譯器ARM的arm-linux-gnueabi
。如何在設備上運行ARM應用程序?
如何在設備上運行它?
假設我有兩個設備進行測試:
如果無法在當前操作系統上運行它,那麼如何格式化設備並將我的內核而不是Android/Linux?
應用程序通常構建爲在操作系統上運行。操作系統通常構建爲在硬件上運行。記住這一點。
運行應用程序的Android/Linux上的代替意味着你的應用程序是某種的操作系統。如果你沒有編寫或包含明確的代碼來控制設備中的硬件芯片,那麼你只會問錯誤的問題,你應該問「我用C寫了一個應用程序,現在我怎麼在手機上運行它操作系統。」如果您確實編寫或包含了明確的代碼來控制設備中的硬件芯片,那麼您的確提出了正確的問題(但其中一些細節似乎沒有了)。這種開發風格在Arduino/PIC /嵌入式ARM社區中發生了很多。
假設您沒有進行嵌入式開發,應用程序必須在對操作系統提供的內容(對操作系統的可用API)有所瞭解的情況下進行編譯,這通常會導致它們與其他操作系統不兼容。這意味着第一步是確定你的目標操作系統,並獲得它的開發套件。一旦你有了它,假設它支持C代碼(大部分都是這樣),該套件將以與設備的CPU和設備上的操作系統的API兼容的格式重新編譯源代碼。
像手機這樣的小型設備通常運行的操作系統只有PC的一小部分功能,因此需要爲更少的便利功能以及可能「丟失」的庫準備。也就是說,如果你確實需要編譯它,那麼通常你會用受支持的「總線」(USB非常受歡迎)連接設備,然後將程序保存在設備上(有時涉及發送「開發/調試」代碼巴士和開發套件爲你做這件事)。
如果一切正常,您可以從手機啓動程序。如果程序行爲異常並使手機無法操作,則每個開發套件/手機都有關於如何恢復或重新加載新操作系統的具體說明。
這裏是(用他們的手機的百分比)幾衆所周知的平臺資源
請注意,這些測量與大多數調查相似,但它們試圖隨機且無偏見,它們易於出現測量誤差和採樣誤差,因此這些數字作爲相對指標比絕對值更有用。
不幸的是,大多數設備都有關於如何訪問圖形庫的API不兼容。因此,您正在考慮移植您的C程序以使用其他平臺的圖形「api」。如果您的目標是多個平臺,那麼您可能會收到多個應用程序。 – 2012-04-27 15:11:14