-
- Это не первая моя попытка отладить код. Разные программы отказывали на разных этапах. Какая-то на 5-м элементе, какая-то на 68-м, эта - на 1998-м (1999-й это после инкремента счётчика). Nikolay_Po(483 знак., 18.01.2020 19:40)
- ОК, варианты VLLV(197 знак., 18.01.2020 20:14)
- Камень STM32F107VCT. IAR нет и не планирую. Пробовал: Nikolay_Po(222 знак., 18.01.2020 20:51 - 21:37)
- Непонятно. Могу попробовать кусок кода в других контроллерах (CM4,CM0) на ИАРе, но есть ли такие фрагменты кода и имеет эта проверка смысл? - VLLV(18.01.2020 21:46)
- Странно всё это выглядит. Может, проблема в отладке? Разные компиляторы, разные IDE, разные программы и одна проблема - стек затирается данными, оказавшись "не в том месте". Nikolay_Po(77 знак., 18.01.2020 21:50)
- Может, не в отладке, а в прошивке? Как тут кто-то с неправильно описанным контроллером боролся. Или как в том же ИАРе так бывает - если неправильно указать прошивальщик, он неправильно заливает прошивку, соответственно потом вообще хрень VLLV(25 знак., 18.01.2020 22:13)
- Отладку отключаем и смотрим. Лампочка перестала мигать - всё плохо. - SciFi(18.01.2020 21:53)
- С этого места можно по-подробнее. Что-то не получается. Собираю "Релиз", вручную прошиваю OpenOCD файл *.elf, пробовал прошивать *.hex - шьётся, проверка ОК. Nikolay_Po(711 знак., 18.01.2020 23:20)
- Был случай, когда внезапно пропал систик, а через 2 дня внезапно появился. Так и не разобрались. - VLLV(19.01.2020 07:50)
- (HAL_GetTick() & (1u << 6)) это точно правильно ??? - Aleksey_75(18.01.2020 23:24)
- Да. Когда запускаю отладку в IDE, мигает PB12 с периодом 64мс 15 раз, на 16-м зависает. Систики, из описания функции, 1мс. - Nikolay_Po(18.01.2020 23:29)
- здесь много написали, зависает как ? в HardFault падает ? если да Aleksey_75(204 знак., 18.01.2020 23:34)
- Да писал уже не раз. Стек почему-то торчит внутри массива. И когда указатель возврата в стеке затёрт, попаду туда, куда указывает записанное в массив слово, а не туда, откуда выпал. Nikolay_Po(160 знак., 18.01.2020 23:40)
- какой начальный адрес у вашего буфера смотрели ? мож он инитится под стек? - Aleksey_75(18.01.2020 23:44)
- Начальный адрес буфера нормальный, со стеком не пересекается, см. в этом сообщении: Nikolay_Po(145 знак., 18.01.2020 23:50)
- слежу за темой, создаётся впечатление что происходит присвоение указателю стека нового значения. нужно асм ковырять. может я не прав. - m16_home(19.01.2020 00:02)
- +1. Эта мысль не даёт мне покоя. Чую, дело не в командах, а в запуске контроллера "не оттуда". Сейчас напишу под заглавным сообщением. - Nikolay_Po(19.01.2020 00:04)
- ещё. буфер DMA не налазит куда не нужно? - m16_home(19.01.2020 00:56)
- Проект пустой, шаблон STM32CubeMX, DMA не включён. - Nikolay_Po(19.01.2020 00:58)
- ээээ! указатели, как я понял вы не используете, каким образом вы херите SP? дык поставьте брекпоинт на изменение указателя стека и шагайте - Aleksey_75(19.01.2020 00:09)
- С этого момента поподробнее. В каком магазине продают такие брекпоинты? Хочу всё знать. - SciFi(19.01.2020 11:36)
- Может, watchpoint имелся ввиду? Указываешь диапазон адресов, тип операции (чтение, запись или любой) и, как только при работе контроллера, Nikolay_Po(159 знак., 19.01.2020 12:28)
- Вот-вот. Но чем чёрт не шутит, может быть, у коллеги есть секретная папочка "недокументированные возможности кортекс-м3"? - SciFi(19.01.2020 12:32)
- сорянн! чтот я затупил, такая вещь есть в LW - Aleksey_75(19.01.2020 17:50)
- Вот-вот. Но чем чёрт не шутит, может быть, у коллеги есть секретная папочка "недокументированные возможности кортекс-м3"? - SciFi(19.01.2020 12:32)
- Может, watchpoint имелся ввиду? Указываешь диапазон адресов, тип операции (чтение, запись или любой) и, как только при работе контроллера, Nikolay_Po(159 знак., 19.01.2020 12:28)
- С этого момента поподробнее. В каком магазине продают такие брекпоинты? Хочу всё знать. - SciFi(19.01.2020 11:36)
- ещё. буфер DMA не налазит куда не нужно? - m16_home(19.01.2020 00:56)
- +1. Эта мысль не даёт мне покоя. Чую, дело не в командах, а в запуске контроллера "не оттуда". Сейчас напишу под заглавным сообщением. - Nikolay_Po(19.01.2020 00:04)
- ну чудес не бывает, значит с инкрементом индекса что-то не то! слей все индексы в RTT или отладочный уарт и глянь как он себя чувствует - Aleksey_75(18.01.2020 23:53)
- слежу за темой, создаётся впечатление что происходит присвоение указателю стека нового значения. нужно асм ковырять. может я не прав. - m16_home(19.01.2020 00:02)
- Начальный адрес буфера нормальный, со стеком не пересекается, см. в этом сообщении: Nikolay_Po(145 знак., 18.01.2020 23:50)
- какой начальный адрес у вашего буфера смотрели ? мож он инитится под стек? - Aleksey_75(18.01.2020 23:44)
- Да писал уже не раз. Стек почему-то торчит внутри массива. И когда указатель возврата в стеке затёрт, попаду туда, куда указывает записанное в массив слово, а не туда, откуда выпал. Nikolay_Po(160 знак., 18.01.2020 23:40)
- здесь много написали, зависает как ? в HardFault падает ? если да Aleksey_75(204 знак., 18.01.2020 23:34)
- Да. Когда запускаю отладку в IDE, мигает PB12 с периодом 64мс 15 раз, на 16-м зависает. Систики, из описания функции, 1мс. - Nikolay_Po(18.01.2020 23:29)
- С этого места можно по-подробнее. Что-то не получается. Собираю "Релиз", вручную прошиваю OpenOCD файл *.elf, пробовал прошивать *.hex - шьётся, проверка ОК. Nikolay_Po(711 знак., 18.01.2020 23:20)
- Смысла нет. Копать надо. Я бы эту штуку с радостью поковырял, но, увы, она не здесь, а там. - SciFi(18.01.2020 21:49)
- Странно всё это выглядит. Может, проблема в отладке? Разные компиляторы, разные IDE, разные программы и одна проблема - стек затирается данными, оказавшись "не в том месте". Nikolay_Po(77 знак., 18.01.2020 21:50)
- Непонятно. Могу попробовать кусок кода в других контроллерах (CM4,CM0) на ИАРе, но есть ли такие фрагменты кода и имеет эта проверка смысл? - VLLV(18.01.2020 21:46)
- Камень STM32F107VCT. IAR нет и не планирую. Пробовал: Nikolay_Po(222 знак., 18.01.2020 20:51 - 21:37)
- ОК, варианты VLLV(197 знак., 18.01.2020 20:14)
- Это не первая моя попытка отладить код. Разные программы отказывали на разных этапах. Какая-то на 5-м элементе, какая-то на 68-м, эта - на 1998-м (1999-й это после инкремента счётчика). Nikolay_Po(483 знак., 18.01.2020 19:40)