Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 11.06.2016, 02:01  
Aviator93
Частый гость
 
Регистрация: 29.05.2014
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Aviator93 на пути к лучшему
По умолчанию Работает только с отладчиком

Здравствуйте. Имеется микроконтроллер STM32F103CBT6. Написал для него прошивку в CooCox, прошил. Подаю питание на МК, и нуль реакции - не работает, кучу раз тыкаю reset и нечего. Подключаю к МК ST-Link, через SWD интерфейс, сам ST-Link подключаю по USB к компьютеру, подаю питание на МК - все работает, так как мне надо. Стоит, только отключить ST-Link, все перестает работать. В чем может быть проблема?
Реклама:

Последний раз редактировалось Aviator93; 11.06.2016 в 02:04.
Aviator93 вне форума  
Непрочитано 11.06.2016, 20:46  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Работает только с отладчиком

Либо питание было подано не на все ножки, и/или неверно были подключены ножки выбора загрузчика (Boot mode), либо, что более вероятно, проект был скомпилирован для загрузки в SRAM и при снятии и повторном включении питания МК оказывается пустой.
NewWriter вне форума  
Непрочитано 11.06.2016, 21:03  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 19,091
Сказал спасибо: 2,566
Сказали Спасибо 11,900 раз(а) в 5,973 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: Работает только с отладчиком

reset праведно подтянут?
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 16.06.2016, 09:29  
Variant99
Частый гость
 
Регистрация: 16.06.2016
Сообщений: 23
Сказал спасибо: 4
Сказали Спасибо 37 раз(а) в 14 сообщении(ях)
Variant99 на пути к лучшему
По умолчанию Re: Работает только с отладчиком

Доброго времени.
Похожая проблема. Без запущенного отладчика контроллер STM32F100RBT6B не хочет работать хотя до этого в отладке работает по написанной прошивке.
А еще можно тут вопрос по таймеру TIM6? Хочу получить секундные импульсы. Настраиваю в таймере предделитель и перезагрузку так чтобы переполнение было каждую секунду. А на деле получается примерно в 3 раза быстрее. Где я недосмотрел? В роде правильно, даже на калькуляторе считал.
И еще тоже по SysTik вопрос есть. Я не нашел описания этого таймера. Как его включить как использовать?
Variant99 вне форума  
Непрочитано 16.06.2016, 10:12  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,221 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Работает только с отладчиком

Ну уже ж отвечал - линковщик проекта настроен на компиляцию для загрузки в SRAM контроллера. Поэтому после сброса МК содержимое SRAM очищается вместе с исполняемым кодом, а флеш-память МК остается пустой. Этот МК может исполнять код из SRAM, не программируя флеш.
Для программирования именно флеши в настройках компиляции выбираем положение кода - Flash, а не RAM.

Про таймер. Если получилось "в три раза быстрее", то это дело не в таймере, а в системной частоте. Вангую, что она просто установлена на 24 МГц через умножитель частоты (PLL). Проверить источник системной частоты можно в отладчике, посмотрев в регистре RCC_CFGR состояние пары битов SWS. Если биты равны [10], значит, системная частота от PLL. Значение [00] - от внутреннего осциллятора, [01] - от внешнего кварца. Для переключения источника нужно изменить другую пару битов - SW, не забыв перед этим включить этот источник битом в регистре RCC_CR.
Если взят дефолтный уже заполненный файл system_stm32f10x.c, то в нем по умолчанию прописано после старта МК переключение системной частоты на PLL. Там почти в начале файла есть строчка #define SYSCLK_FREQ_24MHz 24000000 из-за которой и включается PLL. Можно закомментить ее и потом самостоятельно настроить нужный режим. Например, с помощью функций, описанных ниже в том же файле. В функциях описано правильное переключение источников, то есть с ожиданиями запуска осциллятора, таймаута, переключением на выбранный источник. Например, для переключения на внешний кварц можно раскоментировать строчку #define SYSCLK_FREQ_HSE, указав значение частоты в герцах, и тогда будет выполняться алгоритм переключения на внешний кварц в функции SetSysClockToHSE, которая входит в функцию SystemInit. В ней же есть настройка предделителей шин.

Про таймер SysTick. Его описания в мануале МК нет потому, что он работает в составе ядра Cortex и описан в мануале на ядро (RM0056). Для включения и настройки есть файл описания ядра core_cm3.h из папки CMSIS. В нем ищем функцию SysTick_Config, она то и включает таймер тиков. Аргумент функции - количество тиков. В самой функции можно настроить другие параметры, типа выбора источника тактирования, разрешения прерывания.
Если разрешено прерывание от SysTick, то заполняем обработчик прерывания SysTick_Handler.
NewWriter вне форума  
Сказали "Спасибо" NewWriter
Variant99 (17.06.2016)
Непрочитано 17.06.2016, 12:24  
Variant99
Частый гость
 
Регистрация: 16.06.2016
Сообщений: 23
Сказал спасибо: 4
Сказали Спасибо 37 раз(а) в 14 сообщении(ях)
Variant99 на пути к лучшему
По умолчанию Re: Работает только с отладчиком

Благодарю за подробное обьяснение! Переключил компиляцию во Flash - заработало. С таймерами буду разбираться. Правильно, системная частота была 24MHz. В файлах столько много написано попробуй пойми че там. Переделал - заработал TIM6 с интервалом 1с.
Variant99 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает PD4 в ATTINY 4313 HeatSink Микроконтроллеры, АЦП, память и т.д 37 14.06.2011 17:46
proteus, atmega8, меняю ноги в hex - не работает digitest Микроконтроллеры, АЦП, память и т.д 3 08.10.2009 13:07
[Решено] Про статолет DmitrijAN Отвлекитесь, эмбеддеры! 4 03.01.2008 00:55
[Решено] Сборник перлов любителей кабельщины mikesmith Отвлекитесь, эмбеддеры! 135 14.08.2007 15:49


Часовой пояс GMT +4, время: 19:36.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot