19.07.2022, 14:51
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,637
Сказал спасибо: 117
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
UPD: дурень я, дурень! Я забыл в Makefile изменить определение с medium density на low density! Думал, что это вообще ни на что не влияет, а вона как оказалось! Хотя, честно говоря, не понял, неужто там разница в регистрах тайминга?
А, дошло: похоже, проблема-то была в линкер-файле. У этого чипа не 20кБ ОЗУ, а 10кБ, а т.к. стек идет в обратную сторону, адрес стека вычислялся неправильно и был хардфолт. Вот такой я рукожоп.
__________________
Союз Советских Социалистических Округов Северной Америки
Последний раз редактировалось eddy; 19.07.2022 в 15:12.
|
|
|
|
19.07.2022, 18:24
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
eddy, не Вы первый, не Вы последний
Это я про рогатого и его любовь к мелочам…
Я их в первом приближении чисто по назначению проверял - в среде Arduino, так оно как-то проще и быстрее для серийной проверки… А потом они нормально дружили уже с STlink…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
23.07.2022, 20:49
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
...а пользовался бы хотябы минимальным отладчиком хотябы в исключительных случаях, мог бы не тыкаться вслепую и быстро найти причину неработоспособности. Для того отладчики и нужны - чтобы направить заблудшего и потерявшегося.
...ох уж эти изуверы, всё бы они своим путём шли... для бешеной собаки сто верст - не крюк, как гласит народная мудрость.
|
|
|
|
01.09.2022, 12:36
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,637
Сказал спасибо: 117
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Сообщение от NewWriter
|
всё бы они своим путём шли...
|
В принципе, к qt-creator легко прикрутить gdb-сервер. Но мне это нафиг не нужно. Мой метод отладки прост и надежен.
Вот, как раз решил попробовать использовать gdb (код вроде верный, а USB не работает) на STM32F042. И столкнулся с тем, что при подключении USB st-link "отваливается" с руганью. И прошить тоже нельзя, если питание через USB идет. Странная хрень какая-то.
Ну и непонятно, как USB народ отлаживает через gdb: всякие левые переменные что ли добавляет???
// в любом случае, пока что ничего не выходит, т.к. st-link при питании от USB не пашет:
Код:
|
Info : Previous state query failed, trying to reconnect
Error: jtag status contains invalid mode value - communication failure
Polling target stm32f0x.cpu failed, trying to reexamine
Examination failed, GDB will be halted. Polling again in 6300ms |
Как вытащу, кабель USB, ошибки прекращаются.
__________________
Союз Советских Социалистических Округов Северной Америки
Последний раз редактировалось mike-y-k; 10.05.2023 в 18:06.
Причина: 6.6
|
|
|
|
02.09.2022, 12:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,076
Сказал спасибо: 2,789
Сказали Спасибо 2,729 раз(а) в 2,018 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
при подключении USB st-link "отваливается" с руганью
|
схемку бы этого устройства. Там случайно 5В с питания USB не пролазит на разъем jtag?
|
|
|
|
02.09.2022, 12:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,637
Сказал спасибо: 117
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Сообщение от Yuri222
|
Там случайно 5В с питания USB не пролазит на разъем jtag?
|
Нет. И не JTAG, я подключаю к SWD. Вот схема. Просто взял переходник USB-CAN и попробовал поэкспериментировать. На F303 и F103 запилил USB с циклическим буфером, а здесь что-то оно у меня куда-то не туда... В готовый сниппет PL2303 накидал файлов - работает, но при передаче большого сообщения подвисает. А в нормальном варианте почему-то не инициализируется USB (прерывание usb_isr отрабатывает, EP0 инициализируется, а вот энумерация не проходит (хоть код вроде как 1-в-1 выдрал из своего сниппета CDC)... Рукожопие зело велико. Все никак не могу свой USB разделить на общую часть и аппаратно-зависимую, чтобы на все семейства было проще портировать.
Что-то у меня и с F103C6T6 не все ладно: если я объявляю массив с инициализацией вне main(), то все работает. А если внутри — МК зависает, да еще и код увеличивается на 300 байт (длина массива - 128 ). И memcpy свою пришлось писать, т.к. с системной зависает (а вот у F0 нормально системная работала). Тулчейн и gcc качал с армовского сайта, давно качал (версия еще 9.3.1; пробовал свежую 10-ю, но она вообще какую-то фигню выдает, МК не работает).
Черт знает что!..
__________________
Союз Советских Социалистических Округов Северной Америки
Последний раз редактировалось mike-y-k; 10.05.2023 в 18:07.
Причина: 6.6
|
|
|
|
03.09.2022, 16:23
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,170
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
eddy, а посмотреть на листинг с кодом ассемблера?
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
03.09.2022, 21:15
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от eddy
|
Черт знает что!..
|
А пользовался бы нормальным отладчиком - не мучался бы. А так чето этот ваш "простой и надежный" способ не позволяет даже быстро разобраться с такой фигней, как локально объявленный массив.
Вот как без человеческого отладчика выявить причину зависания? Вкуда там код улетает? в хардварную ошибку, иль зависает в программном цикле из-за криво написаннного самодельного memcpy? Вот нравится челу извращения, вот он себя и извращает
|
|
|
|
04.09.2022, 17:55
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,637
Сказал спасибо: 117
Сказали Спасибо 814 раз(а) в 591 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
mike-y-k, там все нормально, как ни странно...
А мой memcpy работает, в отличие от...
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
04.09.2022, 21:38
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Ну да, а откуда уверенность, что самокаляканная memcpy вообще работает? Мож, именно она то и виснет? Мож, недосмотрел работу с указателями, например, или еще чего напортачил. Без отладки то как узнать, вслепую? Ну. Эдак в темной комнате можно сколь угодно в темных очках лазить, стукаясь лбом в стены, когда фонарик в кармане лежит.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:10.
|
|