Jump to content

    

Eclipse Linux ARM копирование собранного на таргет

Всем привет,

Собственно, дело в следующем:

Есть хост Ubuntu и есть таргет ARM. Пишу и собираю в Eclipse. Для запуска ручками копирую собранное на хосте на таргет. Это неудобно. Подскажите, как правильно организовать передачу собранного софта с хоста на таргет через SSH?

Я представляю примерно следующие этапы:

1. Написал;

2. Скомпилировал;

3. Eclipse сложил скомпилированное на таргет по заранее известному пути через SSH;

4. Профит - либо запускаешь отладку, либо через консольку на таргете запускаешь свежесобранное ПО.

Гугл особо ничем не помог.

Спасибо.

Share this post


Link to post
Share on other sites

Добавить в Makefile соответствующую цель, где будет вызываться scp...

Share this post


Link to post
Share on other sites

на таргете ставишь gdbserver

на хосте в эклипсе Ddebug Configuration->C/C++ Remoute Application->Main->... там далее.... интуитивно понятно. Если C/C++ Remoute Application нет, то плуг к эклипсе ставиться.

На вкладке MAin сделать конектион (см скрин). указать абсолютный путь на таргете до исполняемого файла, на вкладке дебуг указать путь до gdb на хосте (см скрин)

image.png

image.png

image.png

Share this post


Link to post
Share on other sites

Спасибо. Вопрос (пока под рукой нет железки проверить):

2 minutes ago, juvf said:

 На вкладке MAin сделать конектион (см скрин). указать абсолютный путь на таргете до исполняемого файла, на вкладке дебуг указать путь до gdb на хосте (см скрин) 

 

По этому пути Эклипс СКОПИРУЕТ собранный файл, или по этому пути Эклипс ОЖИДАЕТ увидеть исполняемый файл, что бы к нему зацепится?

7 minutes ago, Eddy_Em said:

Добавить в Makefile соответствующую цель, где будет вызываться scp...

Т.е. из Makefile я могу ПОСЛЕ сборки вызвать scp, который сложит мне артефакты сборки на таргет?

Share this post


Link to post
Share on other sites

 

21 минуту назад, nice_vladi сказал:

Спасибо. Вопрос (пока под рукой нет железки проверить):

По этому пути Эклипс СКОПИРУЕТ собранный файл, или по этому пути Эклипс ОЖИДАЕТ увидеть исполняемый файл, что бы к нему зацепится?

1. пишешь программу

2. нажимаешь debug

ВСЁ!!! makefile не то что не трогать.... забыть про его существование и ни когда не вспоминать. Пусть его знает эклипс.

можно скомпилироват предварительно, можно просто запустить дебуг.

при нажатии дебуг эклипс проверяет, если в сырцах изменения, то эклипс автоматом запустит сборку. после сборки эклипс по ssh через конектион выгружает на таргет бинрник по Ремоут абсолют файл паф. Далее... эклипс на таргете запускает gdbserver с бинарником из того же Ремоут абсолют файл паф. Далее эклипс запускает на хосте дебугер, который цепляется к запущенному на тергете серверу. Далее эклипс запускает на выполнение программу на таргете. Программа останавливается на входе в функцию main() (если галка стоит) и ждёт тебя. Далее дебажишь... пошагово, с брейками.... ПРОФИТ!!!

Если на вкладке поставить галку skip download to target, то эклипс сделает всё тоже самое, но не будет выгружать бинарник с хоста на таргет, запустит старый бинарник.

Это на пальцах.... там ещё всякие настройки... порт гдб (можно любой, оставь дефолтный)....  можно запускать с аргументами.... я указываю где искать билы для бинарника.... image.png.baad7828058ce4070a7b99c949aef7a5.png

 

ps лайфхак:  Windows->Preferences->General->Workspase->Save automatically before build - установи эту галку, чтобы все изменения в тексте автоматом сохранялись перед сборкой/дебугом. Иначе в тексте поменял строки, а компилятор сокмпилит не тот код, который в окошках эклипса, а тот, который на диске в файлах.

 

Share this post


Link to post
Share on other sites
6 minutes ago, juvf said:

1. пишешь программу

2. нажимаешь debug

ВСЁ!!!

...

 

 

Понял, спасибо. Я люблю, когда все так просто)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now