Содержание
Содержание. 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. Консольный трассировщик\профилировщик программ.
Трассировщик представляет собой консольное приложение и позволяет эмулировать работу программы на программной модели ядра. Трассировщик позволяет вывести трассу по каждой команде, содержащую следующую информацию:
- Количество циклов с момента старта команды
- Адрес команды
- Код команды
- Ассемблерная мнемоника команды
- Количество тактов исполнения команды
- Список регистров, значение которых изменилось после исполнения команды с их новыми значениями.
Пример трассы для команды:
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
Скрипт запускается без параметров.