Как смоделировать приложение ThreadX в ОС Windows

У меня есть приложение, использующее ThreadX 5.1 в качестве ядра. Изображение отображается на оборудовании, на котором работает процессор ARM 9.

Я пытаюсь построить симулятор для приложения, которое может быть запущено в Windows (скажем, XP, 32-разрядная версия).

Есть ли способ заставить его работать в Windows, не изменяя весь исходный код, чтобы начать вызывать системные вызовы win32?

2 ответа

Решение

Да, вы можете, если вы готовы положить в работу.

Сначала обратите внимание, что каждый системный вызов threadx имеет эквивалентный вызов posix, за исключением событий. Таким образом, ваша программа threadx может работать как отдельный процесс, используя потоки posix, мьютексы и т. Д.

События могут быть обработаны внешней библиотекой (есть несколько там).

Если вам трудно это сделать в Windows, то самое простое, что вам нужно сделать, - это установить linux vm. Я использую Ubuntu VM работает на виртуальной коробке. Это очень легко настроить. Все, что вам нужно, это cdt-версия Eclipse.

Затем вам нужно остановить все ваши системные вызовы низкого уровня. Это также проще, чем вы думаете. Например, если у вас есть драйвер SPI для чтения и записи на флэш-память, вы можете заменить свою флэш-память большим массивом, с которым довольно легко работать на этом уровне.

Сказав все это, вы можете получить больше пробега, если ваше приложение Threadx является модульным. Затем вы можете протестировать каждый модуль по отдельности, и вам не нужно связываться с потоками и т. Д. В первом приближении это может дать вам то, что вам нужно, без учета расстояния, необходимого для портирования всего этого для работы под posix.

Я успешно делал это в прошлом и разработал полный набор модульных тестов для модуля, который позволил мне разработать и протестировать его (на моем Mac) перед тем, как перейти к цели. Таким образом, разработка намного быстрее и надежнее.

Другой вариант, который вы можете рассмотреть, - это найти проект qemu, который поддерживает ваш микропроцессор. С некоторой работой вы можете разработать полный симулятор для вашей платформы, а затем запустить настоящую прошивку под эмулятором.

Удачи.

Вы можете создать симулятор для приложения, которое может быть запущено в Windows с помощью ThreadX для Win32.

Спецификация "ThreadX для Win32" слышна.

http://rtos.com/products/threadx/Win32

Другие вопросы по тегам