Перейти к содержанию
    

Юрий48

Участник
  • Постов

    112
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Юрий48

  • Звание
    Частый гость
    Частый гость

Посетители профиля

1 557 просмотров профиля
  1. STM32CubeIDE

    Теперь понимаю, что вопросы совершенно резонные. Нашёл где дано определение или объявление (пока ещё не знаю как правильно) и в отладчике смог посмотреть что в них. Спасибо за ссылки, буду постепенно разбираться, а то, конечно, стыдоба - и вопрос правильно задать не могу. Хотя если бы я мог задать его правильно, то и задавать бы его было не надо.
  2. STM32CubeIDE

    STM32CubeIDE. Есть структура, расположенная не в main.c, скажем, такая typedef struct { uint8_t family; uint8_t code[MAXDEVICES_ON_THE_BUS]; uint8_t crc; } RomCode; // В отладчике хочу посмотреть её содержание. Так понимаю, что в main.c её надо определить как глобальную. Вот тут у меня и затыка - не получается, с синтаксисом явно не дружу. А, может, вообще как то это надо решать по другому. Помогите, пожалуйста, бывшему депутату государственной думы.
  3. SWD (ST-Link) Не понятен вопрос. __HAL_AFIO_REMAP_SWJ_NOJTAG() ничего в отладчике не переключает. Я имею ввиду, что с самим отладчиком ничего не происходит. А говорил я о том, что при пошаговом прохождении ппрограммы из HAL_Init() она доходит то последнего оператора __HAL_AFIO_REMAP_SWJ_NOJTAG() в этой цепочке, после которого происходит возвращение опять на функции HAL_Init() а не дальше по программе. Если же я вхожу в функцию __HAL_AFIO_REMAP_SWJ_NOJTAG(), то Keil мне предлагает асемблерный код, где я ни бум-бум.
  4. Всё было сделано по Вашим указаниям в том числе и закоментированный HAL_Mspinit(). Только в этом случае программа работала нормально и в отладчике. Кажется нашёл "камень" преткновения, спасибо тем кто советовал обратить внимание на ID (левые "камни"). Из четырёх плат, что у меня было (две BluePill и две оригинальные платы) у трёх ID - 0x410 ver X, а у одной ID 0x414 ver Z. При чём на одной из плат BluePill. Вот она то и гадила. В связи с этим хотелось бы услышать совет по поводу того можно ли что то сделать с этой платой, Кейлом или программой, что бы можно было бы нормально с ней работать и в отладчике. Может, другую IDE взять.
  5. STM32 ST-Link Utility показывает ID 0x414 Rev Z Огромное спасибо, что заговорили. Проделал, что предписали. Программа заработала адекватно и в отладчике тоже, т.е. в отладчике на HAL_Init() она не зацикливается, а проваливается дальше. Что тут смотреть не понимаю. Раскоментировал HAL_Mspinit() и попробовал пошагово пройтись по ней. Проходит все функции (их всего три) до последней __HAL_AFIO_REMAP_SWJ_NOJTAG(). Вхожу в неё, а дальше попадаю в асемблер. Для меня это называется - Приплыли.
  6. Что такое перемаркер? Контроллер тот - STM32F103C8T6
  7. Согласен, есть в этом проблема. Было бы врямя без удовольствия, но поизучал. Надеюссь, что в этом случае Вы не отвернётесь от меня. Для Вас уверен, что да.
  8. Вроде это нормальная работа программы. А в чём проблема? в каком месте зацикливается? В этом месте и зацикливается, т.е. программа дальше не проваливается и всё время находится на этом операторе. Я имею ввиду, что если в отладчике на этом месте стоит брекпойнт, то на нём происходит остановка. И если нажать RUN, то метка моргнёт и вернётся опять на эту строчку. И так до бесконечности. А войти в саму эту функцию можно и пройтись внутри тоже. Но это я уже описывал раньше. Извините, не понял к чему это. Чего их спрашивать, если там всё работает.
  9. Всё отключил кроме SWD и кварцев в том числе и выход PC13 (мигание светодиодом) - ситуация не изменилась. Тут же этим программатором подключаюсь к другой навороченной плате совсем из другого навороченного проекта и там всё нормально работает.
  10. Ну, и я не телепат и ясновидящий, может, потому, что к новому году никуда не уезжаю, более того ни внутренний голос, ни интуиция мне ничего не шепчут, а очень жаль - всего то мигание светодиодом. Это всё, что мною дописано по отношению к Кубу. Но и, если это закоментировать, то ничего не меняется. Получается, что нужно смотреть что там настроено в Кубе. 1. Из флеша 2. работает до попадания на HAL_Init() и внутри него пока не возвращается к HAL_Init() 3. До запуска отладчика программа работает адекватно.
  11. Спасибо за ссылку. В какой части? Настройки Keil, ST-Link, камень, Kube, может, ещё чего.
  12. В отладчике в функцию HAL_Mspinit вхождение происходит. Там всего три строки: void HAL_MspInit(void) { /* USER CODE BEGIN MspInit 0 */ /* USER CODE END MspInit 0 */ __HAL_RCC_AFIO_CLK_ENABLE(); __HAL_RCC_PWR_CLK_ENABLE(); /* System interrupt init*/ /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled */ __HAL_AFIO_REMAP_SWJ_NOJTAG(); /* USER CODE BEGIN MspInit 1 */ /* USER CODE END MspInit 1 */ } На всех трёх строках по стопу происходит остановка. Но после послентей строки программа возвращается на HAL_Init().
  13. STM32F103C9T6, Keil. Настройки сгенерированны в Кубе. В обычном режиме программа работает без замечаний. Когда вхожу в отладчик, то она зацикливается на функции HAL_Init(). Последним вызовом в этой функции является функция "void HAL_MspInit(void)". Что может быть?, какова методика поиска ошибки? Понимаю, что скорее всего надо лезть в асемблер, в котором я, к сожалению, ничего не понимаю. Так же на это может может влиять связка ST-Link - Keil.
  14. Помимо прочего надо чтобы была ещё галочка у "Debug Information" в закладке "Output" 2023-12-22_015048.bmp
  15. Все эти действия были сделаны. Это совершенно справедливо. Покажите, пожалуйста, чем не понятен изначальный вопрос. Я очень сожалею, что стал распростроняться по древу - считайте, что я не писал второго своего поста. Все функции для предварительного освобождения хэндла на ПК использованы, пользуюсь ими давно и они меня никогда не подводили. Ещё раз повторюсь, что сожалею о втором посте, забудьте о нём. Если изначальная формулировка темы понятна, то хотябы ответьте возможно такое для МП. А, если ещё и покажеете как это сделать , то это верх блаженства.
×
×
  • Создать...