-
- Хочется отлаживать программу без имеющегося загрузчика с
минимальными телодвижениями, т.е. чтобы после отладки получился
боевой hex, который будет позже скормлен загрузчику. Желательно,
чтобы отлаживаемая конфигурация максимально соответствовала
выходному результату, а настройки были только в окружении сборки.
Для VS Code это launch.json. Мне нужно, чтобы VTOR настраивался
извне, как это делается в CubeIDE через gdb-сервер, видимо. - yни(16.06.2023 13:43)
- CubeIDE оказывается не влияет на содержимое VTOR если указать адрес
в IDE, но переход на Reset осуществляется. Если уже при отладке
изменить значение на нужное, то прерывания начинают работать.
Видимо нужно скрипт для gdb или команды ему прописать, чтобы после
загрузки изменял VTOR. Буду пробовать. - yни(16.06.2023 14:40)
- Как-то так, наверное? launch.json -> preRestartCommands
-> "set *(int*)0xE000ED08 = 0x08010000". - SciFi(16.06.2023 14:48)
- Попробовал с разными отладчиками (jlink, stlink, ocd) - не
воспринимают. VSCode мне нравится, но некоторые вещи выносят мозг.
Некоторые используют gdb команду add-symbol-file, но и с ним у меня
не получилось. Чуть шаг в сторону от типового применения и тишина. - yни(16.06.2023 15:37)
- Используйте openocd как openocd, честное слово. Сделайте локальный конфиг, который после ресета вам и halt сделает, и PC поставит куда нужно, и VTOR перезапишет. lloyd(175 знак., 16.06.2023 16:06)
- Segger Ozone пробовали? - SciFi(16.06.2023 15:41)
- Я ошибся, пытался вручную адрес указать. Короче также как с CubeIDE. Стартует нормально, но VTOR нужно вручную поправить. - yни(16.06.2023 16:04)
- Хотелось бы обойтись одной IDE. Ozone ушёл в HardFault. PC
указывает вроде куда надо, что-то со стеком может не так. Ozone'ом
не часто пользовался. - yни(16.06.2023 15:54)
- С Ozone разобрался, дело было в общей конфигурации проекта (VS Code + CMake), т.е. elf тупо не содержит нужных настроек для запуска со смещенной таблицей векторов, как мне надо. Это я не все нужные изменения в проекте сделал. - yни(21.06.2023 15:14)
- Это негодная цель. Никому не станет лучше, если "только одна IDE".
Кроме того, Ozone - это не IDE, а отладчик. Сделан специально для
отладки, и сделан хорошо. А VS Code я рассматриваю как текстовый
редактор, сделанный специально для редактирования кода. Попытки
заставить его варить кофе и играть радио считаю изначально плохой
идеей. - SciFi(16.06.2023 16:25)
- С такими аналогиями Eclipse тоже просто текстовый редактор, как и
CCS, CubeIDE и т.д., которые TI и ST заставляют "варить кофе". - yни(21.06.2023 15:11)
- Ладно, это абстрактный спор. Но отказ от Ozone под таким надуманным
предлогом — это выстрел себе в ногу. - SciFi(21.06.2023 15:14)
- Меня больше интересуют не отладчики, а удалённые анализаторы, т.е. не работа runtime сама по себе, а работа платы, когда подключение отладчика невозможно, т.е., используя внешние последовательные интерфейсы и какие-то протоколы. Не знаю как мне тут Ozone поможет, ещё и привязка к J-Link. Между прочим, Ozone меня нах послал с моим официальным J-Link EDU 11. После этого я на него обиделся, поэтому делаю эксперименты с BluePill'овским J-Link OB. - yни(21.06.2023 15:21)
- Ладно, это абстрактный спор. Но отказ от Ozone под таким надуманным
предлогом — это выстрел себе в ногу. - SciFi(21.06.2023 15:14)
- С такими аналогиями Eclipse тоже просто текстовый редактор, как и
CCS, CubeIDE и т.д., которые TI и ST заставляют "варить кофе". - yни(21.06.2023 15:11)
- Попробовал с разными отладчиками (jlink, stlink, ocd) - не
воспринимают. VSCode мне нравится, но некоторые вещи выносят мозг.
Некоторые используют gdb команду add-symbol-file, но и с ним у меня
не получилось. Чуть шаг в сторону от типового применения и тишина. - yни(16.06.2023 15:37)
- Как-то так, наверное? launch.json -> preRestartCommands
-> "set *(int*)0xE000ED08 = 0x08010000". - SciFi(16.06.2023 14:48)
- Рантайм без рантайма... - lloyd(16.06.2023 14:32)
- CubeIDE оказывается не влияет на содержимое VTOR если указать адрес
в IDE, но переход на Reset осуществляется. Если уже при отладке
изменить значение на нужное, то прерывания начинают работать.
Видимо нужно скрипт для gdb или команды ему прописать, чтобы после
загрузки изменял VTOR. Буду пробовать. - yни(16.06.2023 14:40)
- Хочется отлаживать программу без имеющегося загрузчика с
минимальными телодвижениями, т.е. чтобы после отладки получился
боевой hex, который будет позже скормлен загрузчику. Желательно,
чтобы отлаживаемая конфигурация максимально соответствовала
выходному результату, а настройки были только в окружении сборки.
Для VS Code это launch.json. Мне нужно, чтобы VTOR настраивался
извне, как это делается в CubeIDE через gdb-сервер, видимо. - yни(16.06.2023 13:43)