STM32 работает нормально только с отладчиком
- BCluster
- Собутыльник Кота
- Сообщения: 2512
- Зарегистрирован: Пн апр 06, 2009 19:33:29
- Откуда: Молдова, Кишинев
- Контактная информация:
STM32 работает нормально только с отладчиком
Всем привет!
В общем проблема такая - при запуске отладки из IAR - все работает замечательно. Если же отладчик не подключен - при перезапуске перестает работать половина периферии, например UART...
С чем сие может быть связано?
С отладчиком работает в любом случае, даже при запуске программы без прошивки
UPD: если отключить прерывание от DSP (это спецМК) все нормально запускается... странно все это
В общем проблема такая - при запуске отладки из IAR - все работает замечательно. Если же отладчик не подключен - при перезапуске перестает работать половина периферии, например UART...
С чем сие может быть связано?
С отладчиком работает в любом случае, даже при запуске программы без прошивки
UPD: если отключить прерывание от DSP (это спецМК) все нормально запускается... странно все это
- Реклама
Re: STM32 работает нормально только с отладчиком
UART говорите? Может быть у вас просто отвалилась земля на RS-232 и поэтому при отключении разъёма отладчика данные перестают выдаваться ?
Возможно также проблема с раскачкой кварца, а запуск от отладчика даёт больше времени на раскачку, а при отключении всё переходит на встроенный HSI clock.
И кстати, почему IAR ? Вроде бы есть бесплатный и более удобный CooCox + GCC под ARM ?
Возможно также проблема с раскачкой кварца, а запуск от отладчика даёт больше времени на раскачку, а при отключении всё переходит на встроенный HSI clock.
И кстати, почему IAR ? Вроде бы есть бесплатный и более удобный CooCox + GCC под ARM ?
- BCluster
- Собутыльник Кота
- Сообщения: 2512
- Зарегистрирован: Пн апр 06, 2009 19:33:29
- Откуда: Молдова, Кишинев
- Контактная информация:
Re: STM32 работает нормально только с отладчиком
я разъем отладчика не отключаю - J-Link на плате распаян. Просто передергиваю питание.Zud писал(а): Может быть у вас просто отвалилась земля на RS-232 и поэтому при отключении разъёма отладчика данные перестают выдаваться ?
Я с этим наполовину разобрался - в коде была неявная инициализация этой периферии. Моя была до нее. После того, как поставил в нужном порядке все ок, но это не объясняет почему с дебаггером все работало и так.
это промышленный стандарт. Все библиотеки и прочее на нем. В данном конкретном случае - демонстрационный проект на IAR. Там посмотрим, может и перейдем на gcc.Zud писал(а):И кстати, почему IAR ?
- GARMIN
- Держит паяльник хвостом
- Сообщения: 954
- Зарегистрирован: Вс дек 02, 2012 16:58:33
- Откуда: от туда
- Контактная информация:
Re: STM32 работает нормально только с отладчиком
C дебаггером инициализация проходит от предыдущей сессии. Питание проца не сбрасывается. У меня была подобная проблема из-за пропущенной инициализации периферии. Дебаггер обнулял периферию при запуске и всё работало, а при отдельной работе были глюки.
-
Alex_Golubev
- Встал на лапы
- Сообщения: 87
- Зарегистрирован: Вс ноя 15, 2015 05:54:13
Re: STM32 работает нормально только с отладчиком
Дебаггер обнулял периферию при запуске и всё работало, а при отдельной работе были глюки.
Скажите пожалуйста как вы GARMIN решили эту проблему?
- Реклама
- AlanDrakes
- Прорезались зубы
- Сообщения: 236
- Зарегистрирован: Пн июл 04, 2016 16:51:22
- Откуда: Россия, Омск
Re: STM32 работает нормально только с отладчиком
Не знаю, как GARMIN, но у меня вся инициализация переферии при запуске ядра происходит через:
- Разрешение работы переферии
- Сброс переферии
- Конфигурация переферии.
Ни разу после этого кристалл не зависал и не спотыкался на запуске чего-либо. Даже I2C стартует с первой попытки.
- Разрешение работы переферии
- Сброс переферии
- Конфигурация переферии.
Ни разу после этого кристалл не зависал и не спотыкался на запуске чего-либо. Даже I2C стартует с первой попытки.
Re: STM32 работает нормально только с отладчиком
[uquote="AlanDrakes",url="/forum/viewtopic.php?p=3350157#p3350157"]Не знаю, как GARMIN, но у меня вся инициализация переферии при запуске ядра происходит через:
- Разрешение работы переферии
- Сброс переферии
- Конфигурация переферии.
Ни разу после этого кристалл не зависал и не спотыкался на запуске чего-либо. Даже I2C стартует с первой попытки.[/uquote]
Я пробовал вот так. Урезанный проект до нельзя. Тем не менее не стартует без отладчика. Проект пересобирал. Уж и не знаю с какой стороны подойти.
Плата на stm32f100. Работаю в кейле.
- Разрешение работы переферии
- Сброс переферии
- Конфигурация переферии.
Ни разу после этого кристалл не зависал и не спотыкался на запуске чего-либо. Даже 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 работает нормально только с отладчиком
atrel, а с какими ключами это дело собирается? Покажите Makefile. Может, оно там в каком-то дико отладочном режиме?
Re: STM32 работает нормально только с отладчиком
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3994840#p3994840"]atrel, а с какими ключами это дело собирается? Покажите Makefile. Может, оно там в каком-то дико отладочном режиме?[/uquote]
Благодарю за ответ.
К сожалению не знаю где такой файл в проекте. В архиве два похожих не него и hex.
Если будет эффективней могу скинуть весь проект.
Благодарю за ответ.
К сожалению не знаю где такой файл в проекте. В архиве два похожих не него и hex.
Если будет эффективней могу скинуть весь проект.
- Вложения
-
- Template.zip
- (3.77 КБ) 349 скачиваний
Re: STM32 работает нормально только с отладчиком
Залейте этот файл. С ним работает?
- Вложения
-
- STM32F100RB.zip
- (970 байт) 375 скачиваний
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 работает нормально только с отладчиком
[uquote="atrel",url="/forum/viewtopic.php?p=3994856#p3994856"]К сожалению не знаю где такой файл в проекте.[/uquote]
Ну нифига ж себе!
Это как вообще возможно: не знать, как у тебя исходники собираются? А где лежат стартап, линкер-скрипт и CMSIS — тоже неизвестно?
А как тогда компиляция производится? Я, например, просто в консоли пишу make, читаю сообщения, если ошибок нет — пишу make dfuboot, make boot или make flash (в зависимости от способа заливки прошивки) и прошивка попадает в МК. Далее перехожу в соседнюю вкладку консольки, где открываю терминал и работаю с МК…
А как это можно делать иначе?
Ну нифига ж себе!
Это как вообще возможно: не знать, как у тебя исходники собираются? А где лежат стартап, линкер-скрипт и CMSIS — тоже неизвестно?
А как тогда компиляция производится? Я, например, просто в консоли пишу make, читаю сообщения, если ошибок нет — пишу make dfuboot, make boot или make flash (в зависимости от способа заливки прошивки) и прошивка попадает в МК. Далее перехожу в соседнюю вкладку консольки, где открываю терминал и работаю с МК…
А как это можно делать иначе?
Re: STM32 работает нормально только с отладчиком
[uquote="Мурик",url="/forum/viewtopic.php?p=3994865#p3994865"]Залейте этот файл. С ним работает?[/uquote]
Спасибо за ответ Мурик . Да, работает. В чём секрет?
Я менял тактирование, пробовал играться с обнулением переферии, заново переделывал проект, а оно не работает.
Спасибо за ответ Мурик . Да, работает. В чём секрет?
Я менял тактирование, пробовал играться с обнулением переферии, заново переделывал проект, а оно не работает.
Там есть "Option for target" и кнопка "Rebuild". Но это так, между нами.Eddy_Em писал(а): Ну нифига ж себе!
Это как вообще возможно: не знать, как у тебя исходники собираются? А где лежат стартап, линкер-скрипт и CMSIS — тоже неизвестно?
А как тогда компиляция производится? Я, например, просто в консоли пишу make, читаю сообщения, если ошибок нет — пишу make dfuboot, make boot или make flash (в зависимости от способа заливки прошивки) и прошивка попадает в МК. Далее перехожу в соседнюю вкладку консольки, где открываю терминал и работаю с МК…
А как это можно делать иначе?
Последний раз редактировалось atrel Ср мар 10, 2021 19:27:57, всего редактировалось 2 раза.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 работает нормально только с отладчиком
[uquote="atrel",url="/forum/viewtopic.php?p=3995026#p3995026"]Там есть "Option for target" и кнопка "Rebuild". Но это так, между нами.[/uquote]
Абдурина что ли? Только там через жопу предлагается собирать исходники!
Абдурина что ли? Только там через жопу предлагается собирать исходники!
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: STM32 работает нормально только с отладчиком
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3994888#p3994888"]Я, например, просто в консоли пишу make, читаю сообщения, если ошибок нет — пишу make dfuboot, make boot или make flash (в зависимости от способа заливки прошивки) и прошивка попадает в МК. Далее перехожу в соседнюю вкладку консольки, где открываю терминал и работаю с МК…[/uquote]Нормальный подход, чо... В то время, когда другие просто жмут одну кнопочку в IDE
Каждый др.чет как хочет
Каждый др.чет как хочет
Re: STM32 работает нормально только с отладчиком
[uquote="Аlex",url="/forum/viewtopic.php?p=3995091#p3995091"]Каждый др.чет как хочет
[/uquote]
Согласен.
Но всётаки уже месяц бъюсь и не понимаю почему у кого-то работает, а у меня нет
Согласен.
Но всётаки уже месяц бъюсь и не понимаю почему у кого-то работает, а у меня нет
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 работает нормально только с отладчиком
[uquote="atrel",url="/forum/viewtopic.php?p=3995308#p3995308"]Но всётаки уже месяц бъюсь и не понимаю почему у кого-то работает, а у меня нет
[/uquote]
Думаю, что проблема в отсутствии понимания того, как оно должно работать.
Тактирование включено правильно? Прошивка по правильному адресу загружается?
Ну, а насчет "нажать кнопочку" или "нажать клавосочетание" — это и у меня в qt-creator'е есть. Только там же экранчик для выхлопа совсем невменяемо мелких размеров. А в консольке полноценный - на весь экран. Удобно. Особенно в make debug видно весь выхлоп и какие баги возникают (в режиме debug я активирую -Wall -Wextra -Werror, чтобы не было соблазна проигнорировать варнинги).
Думаю, что проблема в отсутствии понимания того, как оно должно работать.
Тактирование включено правильно? Прошивка по правильному адресу загружается?
Ну, а насчет "нажать кнопочку" или "нажать клавосочетание" — это и у меня в qt-creator'е есть. Только там же экранчик для выхлопа совсем невменяемо мелких размеров. А в консольке полноценный - на весь экран. Удобно. Особенно в make debug видно весь выхлоп и какие баги возникают (в режиме debug я активирую -Wall -Wextra -Werror, чтобы не было соблазна проигнорировать варнинги).
- Вложения
-
- xxs.png
- (147.42 КБ) 262 скачивания
Последний раз редактировалось Eddy_Em Чт мар 11, 2021 10:56:41, всего редактировалось 2 раза.
Re: STM32 работает нормально только с отладчиком
Весь секрет в том что я код что вы выложили скопировал в IDE и скомпилировал. Почему у вас не работает не знаю - кейлом не пользуюсь. Он слишком дорого стоит - больше 3500 долларов!atrel писал(а):Да, работает. В чём секрет?
Я использую бесплатную IDE.
- Вложения
-
- STM32F100RB.7z
- (175.76 КБ) 319 скачиваний
Re: STM32 работает нормально только с отладчиком
[uquote="Мурик",url="/forum/viewtopic.php?p=3995342#p3995342"]Весь секрет в том что я код что вы выложили скопировал в IDE и скомпилировал. Почему у вас не работает не знаю - кейлом не пользуюсь. Он слишком дорого стоит - больше 3500 долларов!
Я использую бесплатную IDE.[/uquote]
Благодарствую. Буду сличать настройки.
Но и я как бы не шикую. Демо версии для изучения МК, полагаю, должно хватить. Выбрал её исключительно из мнения, что работа в подобной IDE поможет сконцентрироваться на изучении STM-ок.
Я использую бесплатную IDE.[/uquote]
Благодарствую. Буду сличать настройки.
Но и я как бы не шикую. Демо версии для изучения МК, полагаю, должно хватить. Выбрал её исключительно из мнения, что работа в подобной IDE поможет сконцентрироваться на изучении STM-ок.
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: STM32 работает нормально только с отладчиком
atrel, если вы именно на изучении STM'ок хотите сконцентрироваться, то сделайте сначала без излишне хитрых IDE: напишите стартап, ld-скрипт и Makefile, соберите простейший пример…
Re: STM32 работает нормально только с отладчиком
Каким образом?atrel писал(а):Выбрал её исключительно из мнения, что работа в подобной IDE поможет сконцентрироваться на изучении STM-ок.
Не сказал бы что в кейле есть что-то такое что позволяет концентрироваться на изучении STM-ок.
Eddy_Em, вы забыли написать что нужно еще линукс установить.


