реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
embeduin
сообщение Jan 7 2016, 23:44
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 7-01-16
Пользователь №: 89 948



Всем привет!

Я начинающий в программировании STM32 laughing.gif и недавно столкнулся со следующей проблемой: проект, скомпилированный и отлаженный в IAR'е отказывается работать после сброса питания. То есть подключаем программатор, заливаем через него прошивку, отлаживаем, отстегиваем программатор, все работает. Отключаем питание, подключаем снова - прошивка отказывается работать.

В Keil'е с тем же программатором после сброса питания все работает нормально.

Находил в интернете варианты, что неправильно сконфигурирован icf, но я посмотрел и пересчитал границы памяти, все сошлось.

Благодарю за помощь.

IDE:
IAR Embedded Workbench 6.5
Keil uVision 5

Программатор:
ST-LINK/V2

МК:
STM32F105VC
Go to the top of the page
 
+Quote Post
Alex11
сообщение Jan 9 2016, 20:20
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Скорее всего, используете непроинициализированные переменные.
Go to the top of the page
 
+Quote Post
embeduin
сообщение Jan 9 2016, 20:46
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 7-01-16
Пользователь №: 89 948



Решено.

Причиной оказались отладочные printf, типа:
printf("SH\n");
Без них после сброса питания код работает.

Наличие принтов с выводом результата функции getclock, типа:
printf("%d\n", clocks.HCLK_Frequency);
на работу не влияют, даже с ними все ОК.

Alex11, спасибо за ответ.
Go to the top of the page
 
+Quote Post
k155la3
сообщение Jan 13 2016, 07:43
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Цитата(embeduin @ Jan 10 2016, 00:46) *
Решено.

Причиной оказались отладочные printf, типа:
printf("SH\n");
Без них после сброса питания код работает.
. . . .


Устранены последствия, а причина неизвестна.


Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 13 2016, 20:02
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(k155la3 @ Jan 13 2016, 10:43) *
Устранены последствия, а причина неизвестна.


Причина наверно в неправильной инициализации уарта. У самого так было - включал прерывания уарта, а потом инициализировал, вис намертво. Не факт, что здесь именно это, но всякое бывает.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 13:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01364 секунд с 7
ELECTRONIX ©2004-2016