2013-07-24 144 views
1

我有一個使用ThreadX 5.1作爲內核的應用程序。 將圖像刷新到運行ARM 9處理器的硬件上。如何在Windows操作系統上模擬ThreadX應用程序

我想爲可以在Windows上運行的應用程序(比如XP,32位)創建一個模擬器。

有什麼辦法可以讓它在Windows上運行,而無需修改整個源代碼來開始調用win32系統調用?

+0

我只想知道你從哪裏得到ThreadX的源代碼?以及如何建立和形象形象? – RDX

+0

您可以從以下網址獲取ThreadX的源文件。 http://rtos.com/products/tracex/ – siprikorea

+0

謝謝..但這可能與TraceX有關...它包含.EXE文件.. – RDX

回答

2

是的,你可以的,如果你願意投入的工作。

首先觀察到每個線程系統調用都有一個等價的posix調用,除了事件。 因此,您的線程程序可以使用posix線程,互斥鎖等作爲單個進程運行。

事件可以由外部庫(在那裏有幾個)處理。

如果你覺得在Windows中很難,那麼最簡單的事情就是建立一個linux虛擬機。我使用在Virtual Box上運行的ubuntu vm。這很容易建立。所有你需要的是eclipse的cdt版本。

接下來,您需要清除所有低級系統調用。 這比您想象的還容易。例如,如果您有一個SPI驅動程序來讀取和寫入閃存,則可以用一個很大的陣列替換閃光燈,這個級別很容易處理。

說了這麼多,如果你的threadx應用程序是模塊化的,你可能會獲得更多的里程數。然後,您可以自行測試每個模塊,並且不需要混淆線程等。 作爲第一個近似值,這可能會給您所需的內容,而無需走遠處的距離以便在posix下運行整個事件。

我已經在過去成功地完成了這項工作,併爲一個模塊開發了一套完整的單元測試,使得我可以在去目標之前開發和測試它(在我的mac上)。這種方式的開發速度更快,更可靠。

您可能想要考慮的另一個選項是找到支持您的微處理器的qemu項目。通過一些工作,你可以爲你的平臺開發一個完整的模擬器,然後在模擬器下運行真正的固件。

祝你好運。

相關問題