STM32 работает нормально только с отладчиком

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

STM32 работает нормально только с отладчиком

Сообщение BCluster »

Всем привет!
В общем проблема такая - при запуске отладки из IAR - все работает замечательно. Если же отладчик не подключен - при перезапуске перестает работать половина периферии, например UART...
С чем сие может быть связано?
С отладчиком работает в любом случае, даже при запуске программы без прошивки

UPD: если отключить прерывание от DSP (это спецМК) все нормально запускается... странно все это
Реклама
Аватара пользователя
Zud
Встал на лапы
Сообщения: 129
Зарегистрирован: Пн авг 19, 2013 03:23:00
Откуда: замкадье

Re: STM32 работает нормально только с отладчиком

Сообщение Zud »

UART говорите? Может быть у вас просто отвалилась земля на RS-232 и поэтому при отключении разъёма отладчика данные перестают выдаваться ?

Возможно также проблема с раскачкой кварца, а запуск от отладчика даёт больше времени на раскачку, а при отключении всё переходит на встроенный HSI clock.

И кстати, почему IAR ? Вроде бы есть бесплатный и более удобный CooCox + GCC под ARM ?
Реклама
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

Re: STM32 работает нормально только с отладчиком

Сообщение BCluster »

Zud писал(а): Может быть у вас просто отвалилась земля на RS-232 и поэтому при отключении разъёма отладчика данные перестают выдаваться ?
я разъем отладчика не отключаю - J-Link на плате распаян. Просто передергиваю питание.
Я с этим наполовину разобрался - в коде была неявная инициализация этой периферии. Моя была до нее. После того, как поставил в нужном порядке все ок, но это не объясняет почему с дебаггером все работало и так.
Zud писал(а):И кстати, почему IAR ?
это промышленный стандарт. Все библиотеки и прочее на нем. В данном конкретном случае - демонстрационный проект на IAR. Там посмотрим, может и перейдем на gcc.
Аватара пользователя
GARMIN
Держит паяльник хвостом
Сообщения: 954
Зарегистрирован: Вс дек 02, 2012 16:58:33
Откуда: от туда
Контактная информация:

Re: STM32 работает нормально только с отладчиком

Сообщение GARMIN »

C дебаггером инициализация проходит от предыдущей сессии. Питание проца не сбрасывается. У меня была подобная проблема из-за пропущенной инициализации периферии. Дебаггер обнулял периферию при запуске и всё работало, а при отдельной работе были глюки.
Реклама
Эиком - электронные компоненты и радиодетали
Alex_Golubev
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс ноя 15, 2015 05:54:13

Re: STM32 работает нормально только с отладчиком

Сообщение Alex_Golubev »

Дебаггер обнулял периферию при запуске и всё работало, а при отдельной работе были глюки.

Скажите пожалуйста как вы GARMIN решили эту проблему?
Реклама
Аватара пользователя
AlanDrakes
Прорезались зубы
Сообщения: 236
Зарегистрирован: Пн июл 04, 2016 16:51:22
Откуда: Россия, Омск

Re: STM32 работает нормально только с отладчиком

Сообщение AlanDrakes »

Не знаю, как GARMIN, но у меня вся инициализация переферии при запуске ядра происходит через:
- Разрешение работы переферии
- Сброс переферии
- Конфигурация переферии.

Ни разу после этого кристалл не зависал и не спотыкался на запуске чего-либо. Даже I2C стартует с первой попытки.
Реклама
atrel
Родился
Сообщения: 11
Зарегистрирован: Вс июл 19, 2009 18:56:22

Re: STM32 работает нормально только с отладчиком

Сообщение atrel »

[uquote="AlanDrakes",url="/forum/viewtopic.php?p=3350157#p3350157"]Не знаю, как GARMIN, но у меня вся инициализация переферии при запуске ядра происходит через:
- Разрешение работы переферии
- Сброс переферии
- Конфигурация переферии.

Ни разу после этого кристалл не зависал и не спотыкался на запуске чего-либо. Даже I2C стартует с первой попытки.[/uquote]

Я пробовал вот так. Урезанный проект до нельзя. Тем не менее не стартует без отладчика. Проект пересобирал. Уж и не знаю с какой стороны подойти.
Плата на stm32f100. Работаю в кейле.


Код: Выделить всё

#include "stm32f10x.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_conf.h"

GPIO_InitTypeDef port;

void initialization(void);

void initialization()
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
	port.GPIO_Mode = GPIO_Mode_Out_PP;
	port.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
	port.GPIO_Speed = GPIO_Speed_10MHz;
	GPIO_Init(GPIOC, &port);

}

int main(void){
	initialization();
	GPIO_SetBits(GPIOC, GPIO_Pin_9);
	
	while(1){
	
}
Последний раз редактировалось atrel Ср мар 10, 2021 18:22:50, всего редактировалось 1 раз.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: STM32 работает нормально только с отладчиком

Сообщение Eddy_Em »

atrel, а с какими ключами это дело собирается? Покажите Makefile. Может, оно там в каком-то дико отладочном режиме?
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
atrel
Родился
Сообщения: 11
Зарегистрирован: Вс июл 19, 2009 18:56:22

Re: STM32 работает нормально только с отладчиком

Сообщение atrel »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3994840#p3994840"]atrel, а с какими ключами это дело собирается? Покажите Makefile. Может, оно там в каком-то дико отладочном режиме?[/uquote]

Благодарю за ответ.
К сожалению не знаю где такой файл в проекте. В архиве два похожих не него и hex.
Если будет эффективней могу скинуть весь проект.
Вложения
Template.zip
(3.77 КБ) 349 скачиваний
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 работает нормально только с отладчиком

Сообщение Мурик »

Залейте этот файл. С ним работает?
Вложения
STM32F100RB.zip
(970 байт) 375 скачиваний
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: STM32 работает нормально только с отладчиком

Сообщение Eddy_Em »

[uquote="atrel",url="/forum/viewtopic.php?p=3994856#p3994856"]К сожалению не знаю где такой файл в проекте.[/uquote]
Ну нифига ж себе!
Это как вообще возможно: не знать, как у тебя исходники собираются? А где лежат стартап, линкер-скрипт и CMSIS — тоже неизвестно?

А как тогда компиляция производится? Я, например, просто в консоли пишу make, читаю сообщения, если ошибок нет — пишу make dfuboot, make boot или make flash (в зависимости от способа заливки прошивки) и прошивка попадает в МК. Далее перехожу в соседнюю вкладку консольки, где открываю терминал и работаю с МК…
А как это можно делать иначе?
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
atrel
Родился
Сообщения: 11
Зарегистрирован: Вс июл 19, 2009 18:56:22

Re: STM32 работает нормально только с отладчиком

Сообщение atrel »

[uquote="Мурик",url="/forum/viewtopic.php?p=3994865#p3994865"]Залейте этот файл. С ним работает?[/uquote]

Спасибо за ответ Мурик . Да, работает. В чём секрет?
Я менял тактирование, пробовал играться с обнулением переферии, заново переделывал проект, а оно не работает.

Eddy_Em писал(а): Ну нифига ж себе!
Это как вообще возможно: не знать, как у тебя исходники собираются? А где лежат стартап, линкер-скрипт и CMSIS — тоже неизвестно?

А как тогда компиляция производится? Я, например, просто в консоли пишу make, читаю сообщения, если ошибок нет — пишу make dfuboot, make boot или make flash (в зависимости от способа заливки прошивки) и прошивка попадает в МК. Далее перехожу в соседнюю вкладку консольки, где открываю терминал и работаю с МК…
А как это можно делать иначе?
Там есть "Option for target" и кнопка "Rebuild". Но это так, между нами.
Последний раз редактировалось atrel Ср мар 10, 2021 19:27:57, всего редактировалось 2 раза.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: STM32 работает нормально только с отладчиком

Сообщение Eddy_Em »

[uquote="atrel",url="/forum/viewtopic.php?p=3995026#p3995026"]Там есть "Option for target" и кнопка "Rebuild". Но это так, между нами.[/uquote]
Абдурина что ли? Только там через жопу предлагается собирать исходники!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: STM32 работает нормально только с отладчиком

Сообщение Аlex »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3994888#p3994888"]Я, например, просто в консоли пишу make, читаю сообщения, если ошибок нет — пишу make dfuboot, make boot или make flash (в зависимости от способа заливки прошивки) и прошивка попадает в МК. Далее перехожу в соседнюю вкладку консольки, где открываю терминал и работаю с МК…[/uquote]Нормальный подход, чо... В то время, когда другие просто жмут одну кнопочку в IDE :)))
Каждый др.чет как хочет :dont_know:
atrel
Родился
Сообщения: 11
Зарегистрирован: Вс июл 19, 2009 18:56:22

Re: STM32 работает нормально только с отладчиком

Сообщение atrel »

[uquote="Аlex",url="/forum/viewtopic.php?p=3995091#p3995091"]Каждый др.чет как хочет :dont_know:[/uquote]
Согласен.

Но всётаки уже месяц бъюсь и не понимаю почему у кого-то работает, а у меня нет :(
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: STM32 работает нормально только с отладчиком

Сообщение Eddy_Em »

[uquote="atrel",url="/forum/viewtopic.php?p=3995308#p3995308"]Но всётаки уже месяц бъюсь и не понимаю почему у кого-то работает, а у меня нет :([/uquote]
Думаю, что проблема в отсутствии понимания того, как оно должно работать.
Тактирование включено правильно? Прошивка по правильному адресу загружается?

Ну, а насчет "нажать кнопочку" или "нажать клавосочетание" — это и у меня в qt-creator'е есть. Только там же экранчик для выхлопа совсем невменяемо мелких размеров. А в консольке полноценный - на весь экран. Удобно. Особенно в make debug видно весь выхлоп и какие баги возникают (в режиме debug я активирую -Wall -Wextra -Werror, чтобы не было соблазна проигнорировать варнинги).
Вложения
xxs.png
(147.42 КБ) 262 скачивания
Последний раз редактировалось Eddy_Em Чт мар 11, 2021 10:56:41, всего редактировалось 2 раза.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 работает нормально только с отладчиком

Сообщение Мурик »

atrel писал(а):Да, работает. В чём секрет?
Весь секрет в том что я код что вы выложили скопировал в IDE и скомпилировал. Почему у вас не работает не знаю - кейлом не пользуюсь. Он слишком дорого стоит - больше 3500 долларов!
Я использую бесплатную IDE.
Вложения
STM32F100RB.7z
(175.76 КБ) 319 скачиваний
atrel
Родился
Сообщения: 11
Зарегистрирован: Вс июл 19, 2009 18:56:22

Re: STM32 работает нормально только с отладчиком

Сообщение atrel »

[uquote="Мурик",url="/forum/viewtopic.php?p=3995342#p3995342"]Весь секрет в том что я код что вы выложили скопировал в IDE и скомпилировал. Почему у вас не работает не знаю - кейлом не пользуюсь. Он слишком дорого стоит - больше 3500 долларов!
Я использую бесплатную IDE.[/uquote]

Благодарствую. Буду сличать настройки.

Но и я как бы не шикую. Демо версии для изучения МК, полагаю, должно хватить. Выбрал её исключительно из мнения, что работа в подобной IDE поможет сконцентрироваться на изучении STM-ок.
Аватара пользователя
Eddy_Em
Собутыльник Кота
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01
Контактная информация:

Re: STM32 работает нормально только с отладчиком

Сообщение Eddy_Em »

atrel, если вы именно на изучении STM'ок хотите сконцентрироваться, то сделайте сначала без излишне хитрых IDE: напишите стартап, ld-скрипт и Makefile, соберите простейший пример…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: STM32 работает нормально только с отладчиком

Сообщение Мурик »

atrel писал(а):Выбрал её исключительно из мнения, что работа в подобной IDE поможет сконцентрироваться на изучении STM-ок.
Каким образом?
Не сказал бы что в кейле есть что-то такое что позволяет концентрироваться на изучении STM-ок. :dont_know:

Eddy_Em, вы забыли написать что нужно еще линукс установить. :)))
Ответить

Вернуться в «ARM»