Я использую Buildroot 2018.02 для платы IMX6 и внешнего слишком цепочки Linaro 2017.11 на основе GCC 2017.11 (GCC 7.2.1)
Теперь я добавляю некоторые средства отладки, такие как gdbserver, на цель.
Все в порядке, если я использую опцию "Build cross gdb for the host"
и выбираю версию отладчика gdb 7.11.x для хоста вместе с gdbserver (BR2_PACKAGE_GDB_SERVER
) в меню "Target Packages > Debugging,.."
.В Buildroot также доступны другие версии gdb, такие как 7.12.x и 8.0.x.
Однако для внешнего набора инструментов рекомендуется: https://github.com/mbats/eclipse-buildroot-bundle/wiki/Tutorial-:-How-to-debug-a-remote-application-%3F, что означает активацию только *Опция 1012 * в Buildroot (хотя пост немного устарел)
Я заметил, что в описании BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
написано, что Linaro gdb основан на gdb 8.0, поэтому более новая версия, чем та, которую я использую (7.11.x).
Но когда я это делаю, на целевой плате появляется следующее сообщение:
# gdbserver
-sh: gdbserver: not found
, несмотря на следующее:
# which gdbserver
/usr/bin/gdbserver
gdbserver binaryнаходится на цели.
Как это исправить в Buildroot?
Более того, у меня есть два дополнительных вопроса:
- Действительно ли важно иметь набор инструментов Linaro gdbвместо gdb 7.11.x, который работает "из коробки" в моем случае?
- Если я не использую Linaro GDB, тогда я должен использовать версию GDB 8.0.x (потому что версия Linaroна основе 8.0 ГБД)?
Спасибоза вашу помощь.