[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4678: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4680: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4681: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4682: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3815)
virt2real.ru • Просмотр темы - Где посмотреть пример программы на с/с++ для vir2real ?
Страница 1 из 5

Где посмотреть пример программы на с/с++ для vir2real ?

СообщениеДобавлено: 20 сен 2013, 17:44
infospacer
Управление через вэб интерфейс это чудесно, но хотелось бы написать что нибудь полезное на С для virt2real, светодиодиками помигать, моторчик покрутить.
Ну и далее более сложные алгоритмы реализовать, для автономного режима.
Существует ли документация, желательно с примером простейшей программы и процессом компиляции?
Хорошо бы на вики выложить статью либо ссылку на эту тему, специально для начинающих.

Re: Где посмотреть пример программы на с/с++ для vir2real ?

СообщениеДобавлено: 20 сен 2013, 18:14
orangeudav
Между вами и ногой со светодиодом находится линукс. Чтобы дергать ногами и прочим вам в любом случае придется писать и читать файлы (как описано в вики). Так что вобщем-то подходит любой язык программирования в котором есть File.open/write/read/close

Ну или вы можете написать драйвер для линуха, который захватит управление ногами и вы будете уже общаться со своим собственным драйвером.

Кстати есть вероятность что например такую задачу как стабилизация полета квадракоптера целиком придется в свой драйвер переносить (ради производительности) либо компилить с включенным RT Linux и выставлять максимальный приоритет своему процессу.

Re: Где посмотреть пример программы на с/с++ для vir2real ?

СообщениеДобавлено: 20 сен 2013, 18:35
phoenix367

Re: Где посмотреть пример программы на с/с++ для vir2real ?

СообщениеДобавлено: 20 сен 2013, 19:13
Mirmik

Re: Где посмотреть пример программы на с/с++ для vir2real ?

СообщениеДобавлено: 20 сен 2013, 19:21
andrewion

Re: Где посмотреть пример программы на с/с++ для vir2real ?

СообщениеДобавлено: 20 сен 2013, 19:55
Mirmik
Helloworld для Virt2real. В самом ненавороченном варианте.
Могут быть ошибки. Сейчас не на чем отлаживаться.

Что будем делать: Мы возьмем компилятор из SDK, компильнем с его помощью программу HelloWorld, полученный файл кинем на virt2real и запустим.

Нужно:
virt2real (целевая машина ЦМ) в одной сети с компьютером (инструментальная машина ИМ)
ИМ должна управляться ОС семейства Linux, иметь скачанный SDK.

Как делать:
ИМ:
- идём в папку ......./virt2real-sdk/codesourcery/arm-2013.05/bin
- Создаём символическую ссылку на файл "arm-none-linux-gnueabi-g++".
- Переименовываем ссылку во чтонибудь попроще (Мой вариант, "virt-gcc" , хотя оно вроде и не gcc, а совсем таки g++ ... )
- Кидаем ссылку в один из каталогов, где Линух ищет свои команды. (Полный список каталогов можно получить, сделав вызов "echo $PATH" через консоль)

Замечательно. Теперь ИМ понимает команду virt-gcc. (Имеет смысл это проверить, сделав соответствующий вызов)

Далее.
- создаем где-нибудь (пусть это будет директория /home/user/) текстовый файл prg.cpp .
- редактируем:

//prg.cpp
#include "stdio.h"
int main(void) {printf("It`s bugged world\n");return(0);}

- выполняем в консоли, находясь в папке с созданным нами файлом
virt-gcc prg.cpp -o prg

Теперь у нас есть бинарник нашей программы скомпилированный специально для ЦМ. Остается только залить его на ЦМ.
Это можно сделать через флешку или:

Пишем в консоли:
scp ./prg root@192.168.1.128:/root/ (Предполагается, что 192.168.1.128 -адрес ЦМ)

Отвечаем на вопросы утилиты копирования, и если все хорошо, файл уходит на ЦМ.
Лежит он в папке /root/

Теперь очередь за ЦМ:
cd /root/
chmod 777 prg
./prg

Если видите наш helloWorld, вы обучились таинству кросскомпиляции.


Разумеется, дальше идет или подшивание компилятора к среде разработки, или написание Makefile. И т.д.
Это (как и само программирование) лежит за рамками сего обзорчика, ибо по большому счету не отличается от программирования в срреде ОС Linux. (что до меня, то я пользуюсь редактором geany)

(Если вдруг что-то неочевидно, спрашивайте...)

Re: Где посмотреть пример программы на с/с++ для vir2real ?

СообщениеДобавлено: 20 сен 2013, 23:44
andrewion

Re: Где посмотреть пример программы на с/с++ для vir2real ?

СообщениеДобавлено: 21 сен 2013, 00:19
Mirmik
Безусловно можно... Для этого надо всего-лишь найти исходные коды компилятора и откомпилировать его самим же собой... Я не знаю, где их взять.

Второй вариант - через Makefile процесс переброса скомпилированного файла вполне можно автоматизировать... Только я не знаю, как автоматизировать ввод пароля....

Что касается удобства, то... В общем, дело привычки... С учетом того, что я компилирую с терминала, у меня процесс компиляции нового варианта программы, с учетом того, что инструкции уже сидят в памяти shell-а выглядит "сохранить файл-переключится на терминал(встроенный в geany)-вверх-вверх-ентер-вверх-вверх-ентер-ввод пароля-переключение на путти-вверх-ентер" ... Программа запустилась. Не особо сложно... При нужной сноровке с учетом лага на запросе пароля... Секунды три-четыре...

Re: Где посмотреть пример программы на с/с++ для vir2real ?

СообщениеДобавлено: 21 сен 2013, 01:59
infospacer

Re: Где посмотреть пример программы на с/с++ для vir2real ?

СообщениеДобавлено: 21 сен 2013, 19:35
scayn