Как настроить Eclipse IDE для разработки gem5? - PullRequest
0 голосов
/ 07 мая 2020

Из-за:

  • широкого использования автогенерации кода (особенно для подъязыка инструкций и декодера .isa) и, в частности, символическая ссылка src/arch/ARCH на src/ARCH

становится очень сложно настроить Eclipse для нормальной работы с gem5.

Удалось ли кому-нибудь достичь хорошего настроить? Особенно интересуют Linux хосты.

1 Ответ

0 голосов
/ 07 мая 2020

Я добился очень хорошей настройки с помощью следующего ужасного хака: определите проект Eclipse внутри самого каталога build/ARM!

Это делается путем создания «Нового проекта make-файла с существующим кодом» в папке каталог сборки. Вы также захотите исправить стандартную библиотеку C ++, как указано в: Как решить проблему «Неразрешенное включение: » в файле C ++ в Eclipse CDT?

Это прекрасно работает, потому что Как работает система сборки gem5 по состоянию на май 2020 года, каталог build/ARM содержит в точности окончательное дерево компиляции, включая все исходные символические ссылки и автоматически сгенерированный код,.

Эта настройка не идеальна, потому что все еще есть C ++ вещи в build/ за пределами ARM, например ext, но в 99% случаев нас это не волнует, и я могу отлично перемещаться по ключевому автогенерированному коду, например инструкциям и декодеру.

Затем я просто собираю через командную строку, обычно используя scons.

Огромные автоматически сгенерированные файлы, такие как exe c -ns. cc .in c, включаю режим ограничения больших файлов Eclipse. Примечательно, что если вы хотите перейти к определению, Ctrl + щелчок у меня не работает, поэтому я просто копирую интересующий символ и Ctrl + Shift + T в go в его определение.

Я не Обычно я не пытаюсь отладить шаг GDB gem5 через Eclipse и использовать его в основном для навигации по коду, поскольку GDB Dashboard имеет тенденцию работать достаточно хорошо для меня, и мне часто нужно выполнять новые запуски сбора журналов, и я иногда используйте обратную отладку , когда все становится серьезно.

Но я тестировал пошаговую отладку через Eclipse, и она работала нормально (я думаю, нет причин, чтобы не делать этого), вам просто нужно ее настроить точно так же, как и для любого другого приложения C ++ с Makefile, т.е. в основном сообщать eclipse двоичное имя и желаемый интерфейс командной строки в конфигурациях отладки. сборка отладки или сборка gem5.opt, где сборка .debug примерно 10-20 раз медленнее , но дает большую видимость отладки. В общем, если время, необходимое для достижения интересующей точки в отладочной сборке, начинает вас раздражать, то, что вы действительно хотите, - это использовать обратную отладку.

Это также упоминается в: https://cirosantilli.com/linux-kernel-module-cheat/#gem5 -eclipse-configuration

Протестировано в Eclipse 2020-03.

...