Im использует ARMv7
как целевую машину. Я собрал источник Linux 2.6.34.13
для цели.
Цель связана с Host (машиной разработки Linux) через последовательный порт с использованием minicom.
Target загружается с новым ядром, а в командной строке включен ключ KGDB.
$ echo ttyAMA0 > /sys/module/kgdboc/parameters/kgdboc
$ echo g > /proc/sysrq-trigger
Ввод сообщения KGDB... отображается и ждет команд.
В стороне хоста,
$arm-none-linux-gnueabi-gdb vmlinux
gdb > set remotebaud 115200
gdb > set debug remote 1
gdb > target remote /dev/ttyS0
После этого по умолчанию происходит некоторая командная связь.
-
qSupported
отправляется из Host to Target. Но qSuppoted не поддерживается целью, поэтому возвращается $# 00. аналогично команды?
,HC-1
были отправлены, но получили правильный ответ. -
Но команда
qOffsets
не получает никакого ответа от цели.
Я подозреваю, что vmlinux. Потому что, если я даю list
в gdb, он не показывает 10 строк кода, вместо этого он говорит
arch/arm/kernel/head.S : No such file or directory.
Примечание:: Компиляция ядра выполняется на сервере. поэтому в машине разработки нет источника. Но arm-gdb ищет голову. Кажется.
Я не уверен, какую ошибку я делаю. Мне нужны символы для загрузки для всего ядра. Направляй меня в этом отношении.