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

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

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

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

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

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


 
Опции темы

Работает только с отладчиком

Непрочитано 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
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Работает только с отладчиком

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

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

Доброго времени.
Похожая проблема. Без запущенного отладчика контроллер STM32F100RBT6B не хочет работать хотя до этого в отладке работает по написанной прошивке.
А еще можно тут вопрос по таймеру TIM6? Хочу получить секундные импульсы. Настраиваю в таймере предделитель и перезагрузку так чтобы переполнение было каждую секунду. А на деле получается примерно в 3 раза быстрее. Где я недосмотрел? В роде правильно, даже на калькуляторе считал.
И еще тоже по SysTik вопрос есть. Я не нашел описания этого таймера. Как его включить как использовать?
Variant99 вне форума  
Непрочитано 16.06.2016, 10:12  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
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
Сообщений: 58
Сказал спасибо: 5
Сказали Спасибо 70 раз(а) в 23 сообщении(ях)
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, время: 20:15.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.