Утилиты для компиляции и запуска программ без консоли




Содержание

Содержание. 2

1. Для начала работы с ppdl 3

2. Для компиляции модели. 3

3. Ассемблирование и линковка. 3

4. Консольный трассировщик\профилировщик программ. 4

5. Сборка модели под Linux. 4

6. Запуск тестов. 5

7. Утилита clear_all 5

8. Утилиты для компиляции и запуска программ без консоли. 5

8.1. Настройка параметров. 5

8.2. Компиляция модели. 5

8.3. Отладка программ на симуляторе. 5

8.4. Запуск тестов. 6

7.5 Утилита clear_all 6

 


 

Для начала работы с ppdl

Перед началом работы системы необходимо установить пути к программе devenv.com из пакета Microsoft Visual Studio.NET 2005. (переменная MSVC) и программе – ассемблеру для процессоров nm6403 и nm6405 (NM_PATH). Значение переменных устанавливается в файле ppdl*\pathconf.bat

 

По умолчанию значения этих переменных установлены следующим образом:

set MSVC=c:\Program Files\Microsoft Visual Studio 8\Common7\IDE\

set NM_PATH=C:\Program Files\Module\NM SDK 2.00\bin\

 

* Здесь и далее под именем ppdl будет подразумеваться путь к корневому каталогу, в котором размещены файлы и папки ppdl

 

Для компиляции модели

 

Для компиляции модели необходимо выполнить следующие действия из каталога ppdl\ (каталога в котором распакован архив ppdl):

Для модели 03 запустить compile03.bat

Для модели 05 запустить compile05ca.bat

Для модели 05 с PU запустить compile05pu.bat

 

Данная команда делает следующее:

1. Генерирует необходимые для компиляции файлы из ppdl описания процессора (в частности файл nm6403_sim.h – содержащие декларацию член-функций класса –симулятора, и файл nm6403_sim.cpp содержащий реализацию член-функций симулятора)

2. Компилирует проект симулятора, создает файл simulator_name. dll Файл simulator.dll компилируется в режиме Debug, файл simulator_rel – в режиме Release (без отладочной информации). simulator_name – имя выходного файла библиотеки симулятора, которое задается в проекте simulator\simulator.vcproj. Для модели 6403 имя библиотеки sim6403.dll, для модели 6405 – sim6405.dll

 

В случае успеха компиляции программа возвращает сообщение «dll build result: success»

В случае ошибки программа возвращает «error during the library compilation» или ошибку компилятора ppdl.

Лог работы компилятора PPDL а также компилятора MSVC находиться в корне в файлах:

Для 03-й модели в файле log6403.txt

Для 05-й модели в файле log6405.txt

Для 05-й модели c модулем PU в файле log6405.txt

 

 

Ассемблирование и линковка

Ассемблирование и линковка выполняются стандартными средствами NM SDK

Для упрощения компиляции отдельных файлов можно использовать командный файл runasm03 (для ассемблирования под 6403) или runasm05 (для ассемблирования под 6405) из каталога bin с параметром – имя ассемблерного файла.

Например:

runasm03 nm_test\emutest\HARDTEST\TEST_3_3.ASM – для процессора NM6403

или

runasm05 nm_test\emutest\HARDTEST\TEST_3_3.ASM – для процессора NM6405

 

 

Результатом успешной работы команды будет исполняемый файл test.abs.

Примечание 1: для успешной работы командного файла необходимо, чтобы переменная окружения NM_PATH была инициализирована строкой - путём к файлам ассемблера и линковщика NM SDK. Для инициализации NM_PATH можно, например, запустить скрипт pathconf.bat в каталоге ppdl

 

4. Консольный трассировщик\профилировщик программ.

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

  1. Количество циклов с момента старта команды
  2. Адрес команды
  3. Код команды
  4. Ассемблерная мнемоника команды
  5. Количество тактов исполнения команды
  6. Список регистров, значение которых изменилось после исполнения команды с их новыми значениями.

 

Пример трассы для команды:

ticks address opcode assembler

00000 00000024 00000018 CBD70000 ar7 = 0x18 addr nul; // ar7 = 00000018

 

Если модель генерирует ошибку или предупреждение, трассировщик также выводит её на консоль.

 

Для запуска трассировщика необходимо набрать (например из подкаталога ppdl\test_suit\main_test):

 

Для nm6405:

..\..\bins\cemu..\..\models\nm6403\simulator\bins\nm6403.dll prog_name.abs

 

Для nm6405:

..\..\bins\cemu..\..\models\nm6405\simulator\bins\nm6405.dll prog_name.abs

 

Где prog_name.abs – имя исполняемой программы

 

 

Сборка модели под Linux

Для сборки модели под Linux необходимо перейти в ppdl\models\nm6403\simulator или ppdl\models\nm6405\simulator и запустить команду make. В результате успешной компиляции в текущем каталоге будет создана библиотека динамической компоновки для Linux с именем libsimulator.so

 

Для удаления библиотеки и объектных файлов достаточно набрать

make clean

 

Запуск тестов

 

Для запуска тестов необходимо перейти в директорию ppdl\test_suit\main_ts\ и запустить файл tests03.bat для модели nm6403, или tests05.bat для модели nm6405.

 

Утилита clear_all

Утилиата clear_all.bat удаляет все файлы проекта, которые были автоматически сгенерированы компилятором ppdl или компилятором MS VS при создании ассемблера и линковщика, а также удаляет все elf и abs файлы.

Примечание: данная команда успешно выполняется только из консоли из директории ppdl_dir\models\nm6403 для симулятора процессора nm6403 или ppdl_dir\models\nm6405 для симулятора процессора nm6405.

 

Утилиты для компиляции и запуска программ без консоли

Настройка параметров

Для корректной работы любого bat-файла вне консольного приложения необходимо предварительно установить значение переменной окружения PPDL_DIR – путь к каталогу ppdl.

Если значение переменной не установлено, то нижеописанные cmd-файлы можно будет запускать только из корневого каталога ppdl. Иначе cmd-файлы работать не будут.

Кроме того, для корректной работы скриптов необходимо правильно установить пути к файлам ассемблера и среды Visual Studio (см главу 1)

 

Компиляция модели

Для компиляции модели процессора 6403 можно воспользоваться скриптом compile03.cmd 03-й модели или compile05.cmd для 05-ой. Результатами работы скриптов является динамически загружаемая библиотека симулятора (ppdl\models\nm6403\sim6403.dll для модели nm6403 или ppdl\models\nm6405\sim6405.dll для модели nm6405).

В случае успеха компиляции библиотеки скрипт выводит сообщение:

dll build result: success, see lib_compile_log.txt for detail

В случае ошибки компиляции выводиться сообщение:

error during the library compilation, see lib_compile_log.txt for detail

 

Скрипт запускается без параметров.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-09-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: