Технология программирования внешней целевой системы / Руководство пользователя |
При сборке расчетного модуля под ОСРВ QNX версии 6 необходимо убедиться, что установлена среда разработки программ Momentics для QNX версии 6. Кросс-компилятор для QNX версии 6 не поставляется совместно с SimInTech.
Если кросс-компиляторы установлены, то следует в сборочном скрипте для ОСРВ QNX версии 6 указать путь к директории установки среды разработки программ Momentics:
<директория установки SimInTech>\bin\CodeTemplates\QNX6\build.bat
При отсутствии кросс-компиляторов необходимо произвести их установку. Содержание файла build.bat для компиляции расчетного модуля под QNX версии 6:
set path=%path%;"%QNX_HOST%\usr\bin\" i386-pc-nto-qnx6.4.0-gcc.exe -o calc\x86\o\calc calc\calcmain.c -fpack-struct=1 "-I%QNX_TARGET%\usr\include" -IDispExemod –Wconversion -l m i486-pc-nto-qnx6.5.0-gcc.exe -o calc\x86\o\calc calc\calcmain.c -fpack-struct=1 "-I%QNX_TARGET%\usr\include" -IDispExemod –Wconversion -l m
Если установлена среда разработки программ QNX Momentics другой версии или необходимо генерировать расчетные модули под отличную от x86 архитектуру процессора, необходимо изменить название файла компилятора
i386-pc-nto-qnx6.4.0-gcc.exe
или
i486-pc-nto-qnx6.5.0-gcc.exe
Например, для QNX 6.5.0 при сборке расчетных модулей под ARM архитектуру процессора необходимо указать компилятор
arm-unknown-nto-qnx6.5.0-gcc.exe
При копировании компиляторов отдельно от среды разработки программ QNX Momentics системные переменные QNX_HOST и QNX_TARGET отсутствуют. Значение системных переменных задается при установке средств разработки под ОСРВ QNX.
QNX_HOST — путь расположения директории хранения средств разработки для QNX под текущую платформу (в случае настоящего руководства пользователя - ОС Windows). Например, для QNX 6.4.0 значение системной переменной:
C:\QNX640\host\win32\x86
QNX_TARGET — путь расположения библиотеки (заголовочных файлов и т.п.) для QNX. Например, для QNX 6.4.0 значение системной переменной:
C:\QNX640\target\qnx6
Значение системных переменных можно самостоятельно прописать в скрипте build.bat в режиме редактирования или добавить в список системных переменных непосредственно в ОС Windows. Для вызова меню работы с системными переменными следует:
Вышеуказанная последовательность действий описана для ОС Windows 7, соответствующие рабочие окна представлены на рисунке (Рисунок 1). Для других версий операционной системы Windows порядок вызова рабочего окна редактирования системных переменных может отличаться.
Рисунок 1. Окно настройки переменных среды
Для определения новой системной переменной необходимо в рабочем окне «Новая системная переменная» задать её имя и значение. Сохраняют новую системную переменную нажатием левой клавиши «мыши» на кнопку Ok (Рисунок 2).
Рисунок 2. Добавление новой переменной
При компиляции расчетного модуля под ОСРВ QNX версии 4 используется компилятор, размещённый на целевой системе (приборе). При этом сначала происходит копирование из директории шаблона кода всех исходных текстов расчётного модуля для его компиляции на целевую (или отдельную сборочную) систему, а потом через telnet удалённо вызывается команда make (производит сборку бинарного файла расчетного модуля из исходных текстов). По умолчанию, скрипт для компиляции build.bat использует адрес сборочной системы из опции «Параметры соединения (хост:порт)» закладки «Отладчик» рабочего окна редактирования «Кодогенератор СИ».
Если на приборах не предусмотрено наличие компилятора, пользователь может указать адрес произвольной сборочной системы для осуществления на ней компиляции. Для этого в закладке «Настройки» рабочего окна «Кодогенератор СИ» следует указать собственные данные в поле изменения параметра «Команда сборки модуля» (Рисунок 3).
Рисунок 3. Пользовательская команда сборки модуля
compile.bat | имя скрипта сборки находящегося в директории шаблона кода (задается в настройках инструментов автоматики, представленных на рисунке 3); |
%progname% | имя собираемого исполняемого модуля; |
%servername% | присваивается из настроек соединения отладчика, допустимо изменить на адрес (имя или ip-адрес) сборочной вычислительной системы, на которой производится компиляция; |
root root | логин и пароль для записи файлов и выполнения команд сборки на сборочной системе. |
Для сборки расчетного модуля под ОСРВ QNX версии 4 используется скрипт build.bat шаблона кода
%codetemplates%QNX4\
расположенный в директории:
<директория установки SimInTech>\bin\CodeTemplates\QNX4
Текст скрипта build.bat:
REM синтаксис build.bat <сервер> <логин> <пароль> pushd calc del/q buildcmds.txt del/q calc REM Копирование задания на сборочный сервер ECHO open %1 > ftpcmd.txt ECHO %2>> ftpcmd.txt ECHO %3>> ftpcmd.txt ECHO binary>> ftpcmd.txt ECHO rmdir calcsrc>> ftpcmd.txt ECHO mkdir calcsrc>> ftpcmd.txt ECHO cd calcsrc>> ftpcmd.txt ECHO mput *.*>> ftpcmd.txt ECHO quit>> ftpcmd.txt ftp -s:ftpcmd.txt -i REM сборка (соединение через telnet) ECHO %2> buildcmds.txt ECHO %3>> buildcmds.txt ECHO cd calcsrc>> buildcmds.txt ECHO make>> buildcmds.txt ..\..\..\telbuilder %1 buildcmds.txt REM Копирование скомпилированного расчетного модуля ECHO open %1 > ftpcmd.txt ECHO %2>> ftpcmd.txt ECHO %3>> ftpcmd.txt ECHO binary>> ftpcmd.txt ECHO cd calcsrc>> ftpcmd.txt ECHO get calc calc>> ftpcmd.txt ECHO quit>> ftpcmd.txt ftp -s:ftpcmd.txt -i del/q ftpcmd.txt popd
Для копирования исходных файлов расчётного модуля и самого скомпилированного расчётного модуля используется утилита ftp (штатная утилита ОС Windows), для которой входной файл с командами протокола передачи данных ftp готовится при помощи скрипта build.bat. Для удалённого запуска компилятора используется утилита telbuilder.exe из директории: SimInTech\bin\. Утилита направляет поток команд по протоколу telnet на указанную сборочную систему и позволяет сделать автоматический ввод логина и пароля по telnet и выполнение произвольной команды. Синтаксис утилиты:
telbuilder <адрес сервера telnet> <файл с потоком команд для telnet>
В файле команд для telnet (по умолчанию: buildcmds.txt) задаётся указанный ниже текст, который автоматически вводится при соединении с сервером. Каждая из строк текста обрабатывается с задержкой в 500 мс (свойство программы).
login password cd calcsrc make
Для сборки расчётного модуля в рабочем окне «Кодогенератор СИ» следует левой клавишей «мыши» нажать кнопку Собрать модули (Рисунок 4).
Рисунок 4. Кнопка сборки модулей
Если верно указаны параметры компилятора и расчетной схемы, системой будет произведена генерация исполняемых файлов расчетных модулей в соответствии с таблицей загрузки в рабочем окне «Кодогенератор СИ» (выбранными в соответствии с рисунком (Рисунок 4) файлами схемы).
В результате генерации исполняемых файлов расчетных модулей в директории исходных текстов и программ будут созданы файлы с расширением .inc и .h, а также бинарные файлы в формате целевой системы (прибора). Имена файлов будут образованы в соответствии с заданным параметром «Имя (имена) алгоритма» в рабочем окне «Параметры расчета» (показано на рисунке 5). Также будет создан файл default.conf, содержащий для диспетчера расчётных модулей информацию о частоте вызова каждого из расчетных модулей и служебных файлов с описанием переменных, которые доступны для чтения и изменения через сервер обмена или вспомогательные утилиты. Директория с созданными файлами представлена на рисунке (Рисунок 5).
Рисунок 5. Состав сгенерированной программы
Файлы из директории исходников в прибор допустимо копировать по протоколу передачи файлов ftp.