another_one 0 26 апреля, 2023 Опубликовано 26 апреля, 2023 · Жалоба Здравствуйте! Есть MIPS32 под которую есть уже кем то ранее собранный MIPS Toolchain который благополучной интегрирован с Eclipse Но при отладке я вижу не все регистры сопроцессора, как я понимаю прописаны они в GDB В связи с этим вопрос, как можно внести правки и как собрать новый тулчейн, интегрируемый в Eclipse?, как я понимаю это единственное решение Спасибо! П.С. работаю с версиями для Ws и для Linux Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 26 апреля, 2023 Опубликовано 26 апреля, 2023 · Жалоба 4 hours ago, another_one said: как я понимаю прописаны они в GDB Не совсем. То, что показывает gdb прописано в target descriptor, который должен считываться с удалённого девайса. Но можно его и вручную подсунуть (set tdesc в gdb) https://sourceware.org/gdb/onlinedocs/gdb/Target-Descriptions.html#Target-Descriptions Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
another_one 0 27 апреля, 2023 Опубликовано 27 апреля, 2023 · Жалоба Спасибо за ответ! Но что-то я не могу найти в пути установки \\MIPS\SDK\ ни одного *.gdb файла А строчку "set tdesc" TC находит только в mipsel-mti-elf-gdb.exe И я не совсем понял есть ли альтернативное решение пере сборки, или нет, по ссылкам не понял технологию Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 27 апреля, 2023 Опубликовано 27 апреля, 2023 · Жалоба 2 hours ago, another_one said: Но что-то я не могу найти в пути установки \\MIPS\SDK\ ни одного *.gdb файла Вы его должны написать сами (или поискать где то на стороне готовый), а потом подсунуть gdb через его команду set tdesc 2 hours ago, another_one said: И я не совсем понял есть ли альтернативное решение пере сборки, или нет, по ссылкам не понял технологию Технология простая - в gdb встроенна поддержка архитектуры по максимуму, но так как поддержка тех или иных фич архитектуры отличается от процессора к процессору, то конкретное подмножество поллерживаемых фич (и разновидностей архитектуры) описывается в tdesc файле. В gdb есть встроенные, используемые по умолчанию (они далеко не самые полные), но он может после подключения к конкретному камню запросить у адаптера (который к камню подключал - например у OpenOCD) tdesc файл под процессор. Но адаптер может это и не поддерживать. Тогда можно этот файл скормить прямо в отладочной сесии через set tdesc PS. В сорцах gdb эти файлы лежат в дире binutils\gdb\features\ Для MISP там есть: mips64-linux.xml mips-linux.xml mips64-dsp-linux.xml mips64-linux.xml Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
another_one 0 2 мая, 2023 Опубликовано 2 мая, 2023 · Жалоба спасибо за подробный ответ! Но я снова не понял( Вы имеете ввиду под "сорцах gdb" где-то отдельно лежащие исходники(например на гитхаб)? Я в своей папке MIPS_SDK не могу найти папку binutils On 4/27/2023 at 10:00 PM, xvr said: Вы его должны написать сами (или поискать где то на стороне готовый), а потом подсунуть gdb через его команду set tdesc не совсем понял что я должен описать в создании этого файла, необходимые регистры и их адреса? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 2 мая, 2023 Опубликовано 2 мая, 2023 · Жалоба 2 hours ago, another_one said: Вы имеете ввиду под "сорцах gdb" где-то отдельно лежащие исходники(например на гитхаб)? https://www.sourceware.org/gdb/ 2 hours ago, another_one said: Я в своей папке MIPS_SDK не могу найти папку binutils On 4/27/2023 at 8:00 PM, xvr said: У вас сорцов нет. gdb в составе toolchain'а поставляется в бинарнике. 2 hours ago, another_one said: не совсем понял что я должен описать в создании этого файла, необходимые регистры и их адреса? Просто регистры. Конкретно: mips64-linux.xml Spoiler <?xml version="1.0"?> <!-- Copyright (C) 2007-2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. --> <!DOCTYPE target SYSTEM "gdb-target.dtd"> <target> <architecture>mips</architecture> <xi:include href="mips64-cpu.xml"/> <xi:include href="mips64-cp0.xml"/> <xi:include href="mips64-fpu.xml"/> <feature name="org.gnu.gdb.mips.linux"> <reg name="restart" bitsize="64" group="system"/> </feature> </target> mips64-cpu.xml Spoiler <?xml version="1.0"?> <!-- Copyright (C) 2007-2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. --> <!DOCTYPE feature SYSTEM "gdb-target.dtd"> <feature name="org.gnu.gdb.mips.cpu"> <reg name="r0" bitsize="64" regnum="0"/> <reg name="r1" bitsize="64"/> <reg name="r2" bitsize="64"/> <reg name="r3" bitsize="64"/> <reg name="r4" bitsize="64"/> <reg name="r5" bitsize="64"/> <reg name="r6" bitsize="64"/> <reg name="r7" bitsize="64"/> <reg name="r8" bitsize="64"/> <reg name="r9" bitsize="64"/> <reg name="r10" bitsize="64"/> <reg name="r11" bitsize="64"/> <reg name="r12" bitsize="64"/> <reg name="r13" bitsize="64"/> <reg name="r14" bitsize="64"/> <reg name="r15" bitsize="64"/> <reg name="r16" bitsize="64"/> <reg name="r17" bitsize="64"/> <reg name="r18" bitsize="64"/> <reg name="r19" bitsize="64"/> <reg name="r20" bitsize="64"/> <reg name="r21" bitsize="64"/> <reg name="r22" bitsize="64"/> <reg name="r23" bitsize="64"/> <reg name="r24" bitsize="64"/> <reg name="r25" bitsize="64"/> <reg name="r26" bitsize="64"/> <reg name="r27" bitsize="64"/> <reg name="r28" bitsize="64"/> <reg name="r29" bitsize="64"/> <reg name="r30" bitsize="64"/> <reg name="r31" bitsize="64"/> <reg name="lo" bitsize="64" regnum="33"/> <reg name="hi" bitsize="64" regnum="34"/> <reg name="pc" bitsize="64" regnum="37"/> </feature> mips64-cp0.xml Spoiler <?xml version="1.0"?> <!-- Copyright (C) 2007-2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. --> <!DOCTYPE feature SYSTEM "gdb-target.dtd"> <feature name="org.gnu.gdb.mips.cp0"> <reg name="status" bitsize="64" regnum="32"/> <reg name="badvaddr" bitsize="64" regnum="35"/> <reg name="cause" bitsize="64" regnum="36"/> </feature> ну и mips64-fpu.xml Spoiler <?xml version="1.0"?> <!-- Copyright (C) 2007-2022 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. --> <!DOCTYPE feature SYSTEM "gdb-target.dtd"> <feature name="org.gnu.gdb.mips.fpu"> <reg name="f0" bitsize="64" type="ieee_double" regnum="38"/> <reg name="f1" bitsize="64" type="ieee_double"/> <reg name="f2" bitsize="64" type="ieee_double"/> <reg name="f3" bitsize="64" type="ieee_double"/> <reg name="f4" bitsize="64" type="ieee_double"/> <reg name="f5" bitsize="64" type="ieee_double"/> <reg name="f6" bitsize="64" type="ieee_double"/> <reg name="f7" bitsize="64" type="ieee_double"/> <reg name="f8" bitsize="64" type="ieee_double"/> <reg name="f9" bitsize="64" type="ieee_double"/> <reg name="f10" bitsize="64" type="ieee_double"/> <reg name="f11" bitsize="64" type="ieee_double"/> <reg name="f12" bitsize="64" type="ieee_double"/> <reg name="f13" bitsize="64" type="ieee_double"/> <reg name="f14" bitsize="64" type="ieee_double"/> <reg name="f15" bitsize="64" type="ieee_double"/> <reg name="f16" bitsize="64" type="ieee_double"/> <reg name="f17" bitsize="64" type="ieee_double"/> <reg name="f18" bitsize="64" type="ieee_double"/> <reg name="f19" bitsize="64" type="ieee_double"/> <reg name="f20" bitsize="64" type="ieee_double"/> <reg name="f21" bitsize="64" type="ieee_double"/> <reg name="f22" bitsize="64" type="ieee_double"/> <reg name="f23" bitsize="64" type="ieee_double"/> <reg name="f24" bitsize="64" type="ieee_double"/> <reg name="f25" bitsize="64" type="ieee_double"/> <reg name="f26" bitsize="64" type="ieee_double"/> <reg name="f27" bitsize="64" type="ieee_double"/> <reg name="f28" bitsize="64" type="ieee_double"/> <reg name="f29" bitsize="64" type="ieee_double"/> <reg name="f30" bitsize="64" type="ieee_double"/> <reg name="f31" bitsize="64" type="ieee_double"/> <reg name="fcsr" bitsize="64" group="float"/> <reg name="fir" bitsize="64" group="float"/> </feature> Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться