Доброго времени суток!
На языке C++ я написал простую программу для обмена данными по MQTT протоколу. Не знаю как скомпилировать исполняемый файл для TXT контроллера в расширении ".cloud". Можете помочь?
Компиляция исполняемого файла C++ для контроллера TXT
-
- Сообщения: 42
- Зарегистрирован: 10 дек 2019, 18:13
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Компиляция исполняемого файла C++ для контроллера TXT
На странице https://github.com/fischertechnik/txt_demo_c_download есть примеры исполняемых программ на языке C++ для контроллера TXT. Если там будет что-то не понятно, то давайте попробуем разобраться вместе.
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Компиляция исполняемого файла C++ для контроллера TXT
Кстати, расширение ".cloud" - это всего лишь часть имени файла. От этой части никак не зависит - будет файл исполняемым или нет. Поэтому я подготовил небольшое описание по сборке исполняемого файла из исходного кода на языке C++, который работает без расширения ".cloud" в своем имени.Не знаю как скомпилировать исполняемый файл для TXT контроллера в расширении ".cloud"
Для получения опыта создадим очень простую программу на языке C++, которая выводит в консоль сообщение «Hello TXT». Для этого нам понадобится выполнить следующие действия:
- Подготовить инструментарий
- Создать исходный файл
- Выполнить компиляцию и связывание
- Проверить наличие связи между ПК и контроллером
- Загрузить файл в контроллер TXT
- Подключиться к консоли через SSH
- Включить атрибут исполнения
- Запустить программу
- Отключиться от консоли
Для того чтобы получить из исходного текста, написанного на языке C++, исполняемый файл нам понадобится комплект инструментальных программ (тулчейн - от англ. Toolchain), который выполнит препроцессорную обработку исходного кода, компиляцию и затем компоновку исполняемого модуля. Также при выборе инструментального ПО надо учесть, что разработка будет происходить на компьютере с процессором x64 и ОС Windows, а полученный в результате компиляции исполняемый файл будет выполняться на контроллере с процессором ARM и ОС Linux. Для такой конфигурации нам понадобится кросс-компилятор из комплекта инструментального ПО GCC, который можно скачать на сайте linaro.org. Скачайте и распакуйте архив gcc-linaro-aarch64-linux-gnu-4.9-2014.05_win32.zip в папку C:\txt-cross-dev.
2. Создать исходный файл
Создайте пустой текстовый файл hellotxt.cpp в папке C:\txt-cross-dev \src и скопируйте листинг с примером, приведенный ниже:
Код: Выделить всё
#include <iostream>
int main()
{
std::cout << ("\nHello CPP from TXT\n");
return 0;
}
3. Выполнить компиляцию и связывание
Откройте окно командной строки и перейдите в папку c исходным файлом - C:\txt-cross-dev\src. Затем запустите компиляцию исходного файла:
Код: Выделить всё
C:\txt-cross-dev\src> С:\txt-cross-dev\bin\arm-linux-gnueabihf-g++ -o hellotxt hellotxt.cpp
4. Проверить наличие связи между ПК и контроллером
Подключите контроллер TXT к компьютеру кабелем USB и включите питание контроллера. После загрузки контроллера в ОС Windows появится новый сетевой интерфейс с адресом 192.168.7.1. Адрес контроллера – 192.168.7.2. Для проверки можно использовать команду ping:
Код: Выделить всё
C:\txt-cross-dev\src>ping 192.168.7.2
Pinging 192.168.7.2 with 32 bytes of data:
Reply from 192.168.7.2: bytes=32 time<1ms TTL=64
Reply from 192.168.7.2: bytes=32 time<1ms TTL=64
Статистика Ping для 192.168.7.2:
Пакетов: отправлено = 2, получено = 2, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
5. Загрузить файл в контроллер TXT
Для загрузки файла hellotxt нам понадобится утилита SCP – она уже встроена в Windows 10.
Код: Выделить всё
C:\txt-cross-dev\src>scp hellotxt ROBOPro@192.168.7.2:C-Program/
6. Подключиться к консоли через SSH
Чтобы получить доступ к консоли контроллера TXT мы будем использовать утилиту SSH. Она тоже входит в состав Windows 10:
Код: Выделить всё
C:\txt-cross-dev\src>ssh ROBOPro@192.168.7.2
ROBOPro@192.168.7.2's password:
_____ _____ _ _
| ___|_ _| | |___ _| |_
| |_ | |_____| __\ \/ / __|
| _| | |_____| |_ > <| |_
|_| |_| \__/_/\_\\__|
Welcome to FT-txt
$
7. Включить атрибут исполнения
Теперь, когда мы находимся в консоли контроллера TXT надо перейти в папку C-Program и включить атрибут исполнения для файла hellotxt:
$ cd C-Program
$ chmod u+x hellotxt
8. Запустить программу
Для запуска программы наберите:
$ ./hellotxt
Hello CPP from TXT
$
9. Отключиться от консоли
Чтобы закрыть консоль контроллера TXT используйте сочетание клавиш CTRL+D.
Таким образом, мы прошли весь путь от создания исходного файла до запуска программы на контроллере. Конечно – это был очень простой пример без какой-либо автоматизации сборки, но он дает базовое представление о последовательности действий, необходимых для сборки ПО, исполняемого на контроллере TXT с ОС Linux. Буду рад помочь с ответом, если у вас возникнут вопросы.
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Компиляция исполняемого файла C++ для контроллера TXT
Кстати, ранее я уже писал как собрать программу на С для контроллера TXT.