2012-04-27 120 views
0

我編譯了一個用C編寫的簡單可執行應用程序,使用編譯器ARM的arm-linux-gnueabi如何在設備上運行ARM應用程序?

如何在設備上運行它?

假設我有兩個設備進行測試:

  1. 一部三星手機,搭載Windows Mobile 6.1,ARM926EJ處理器OMAP1710
  2. 一個Foston平板電腦採用Android 2.x中,處理器的名字我沒有找到,但是ARM系列處理器之一。

如果無法在當前操作系統上運行它,那麼如何格式化設備並將我的內核而不是Android/Linux?

回答

1

應用程序通常構建爲在操作系統上運行。操作系統通常構建爲在硬件上運行。記住這一點。

運行應用程序的Android/Linux上的代替意味着你的應用程序是某種的操作系統。如果你沒有編寫或包含明確的代碼來控制設備中的硬件芯片,那麼你只會問錯誤的問題,你應該問「我用C寫了一個應用程序,現在我怎麼在手機上運行它操作系統。」如果您確實編寫或包含了明確的代碼來控制設備中的硬件芯片,那麼您的確提出了正確的問題(但其中一些細節似乎沒有了)。這種開發風格在Arduino/PIC /嵌入式ARM社區中發生了很多。

假設您沒有進行嵌入式開發,應用程序必須在對操作系統提供的內容(對操作系統的可用API)有所瞭解的情況下進行編譯,這通常會導致它們與其他操作系統不兼容。這意味着第一步是確定你的目標操作系統,並獲得它的開發套件。一旦你有了它,假設它支持C代碼(大部分都是這樣),該套件將以與設備的CPU和設備上的操作系統的API兼容的格式重新編譯源代碼。

像手機這樣的小型設備通常運行的操作系統只有PC的一小部分功能,因此需要爲更少的便利功能以及可能「丟失」的庫準備。也就是說,如果你確實需要編譯它,那麼通常你會用受支持的「總線」(USB非常受歡迎)連接設備,然後將程序保存在設備上(有時涉及發送「開發/調試」代碼巴士和開發套件爲你做這件事)。

如果一切正常,您可以從手機啓動程序。如果程序行爲異常並使手機無法操作,則每個開發套件/手機都有關於如何恢復或重新加載新操作系統的具體說明。

這裏是(用他們的手機的百分比)幾衆所周知的平臺資源

請注意,這些測量與大多數調查相似,但它們試圖隨機且無偏見,它們易於出現測量誤差和採樣誤差,因此這些數字作爲相對指標比絕對值更有用。

+0

不幸的是,大多數設備都有關於如何訪問圖形庫的API不兼容。因此,您正在考慮移植您的C程序以使用其他平臺的圖形「api」。如果您的目標是多個平臺,那麼您可能會收到多個應用程序。 – 2012-04-27 15:11:14

相關問題