02.05.2013, 00:35
|
|
Частый гость
Регистрация: 23.11.2010
Сообщений: 19
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Проблема с тактированием STM32F103
Всем доброго времени суток.
Люди добрые, помогите... Уже 2-ой день бьюсь не могу решить проблему. Уже программу отладил на 99%, а тут такие грабли.
В общем ситуация следующая.
Имеется STM32F103T8 Rev-Y (64KB Flash тип-MD). Среда IAR ARM5.50
Проект заливается и отлаживается через ST-Link. Всё в полном порядке, работает полностью как нужно, времена все, таймеры скорости UART и т.д. всё в полном порядке.
Но если отключить отладку и запустить приложение самостоятельно, то всё намертво встает !!! Долго пытался понять, кто виноват пока не обнаружил, что в режиме отладки частота тактирования именно та которую я настраиваю, а в самостоятельном режиме она БОЛЬШЕ.
Настраиваю тактирование на 24МГц, в режиме отладки имею 24МГц, отключаю отладку делаю ресет процессору, получаю 72МГц.
Без настроек PLL вовсе, т.е. в режиме по умолчанию имею 8МГц при отладке, 72МГц в свободном полете.
Пересмотрел refManual несколько раз, перегуглил всё что мог, нигде не нашел ничего подобного.
|
|
|
|
02.05.2013, 01:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Проблема с тактированием STM32F103
Какое-то дежавю. Вроде знакомые грабли. Попробуй проверить настройки ST-LINK-а. Куда пишется, пишется ли вообще? Не включен ли ли симулятор вместо дебагера? Я недавно "присел" на эту глупость...
Словом, поройся в опшнах проекта.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
02.05.2013, 06:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Проблема с тактированием STM32F103
StdPeriph используется? Раскомментируй там строчку 24 МГц и закомментируй 72 МГц
По дефолту (без StdPeriph) проц вообще работает на встроенном 8 МГц
|
|
|
|
02.05.2013, 09:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Проблема с тактированием STM32F103
Сообщение от niXto
|
StdPeriph используется? Раскомментируй там строчку 24 МГц и закомментируй 72 МГц
По дефолту (без StdPeriph) проц вообще работает на встроенном 8 МГц
|
Может таргет неправильно выбран? Тогда либа не ту частоту лепит...
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
02.05.2013, 09:04
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
|
Re: Проблема с тактированием STM32F103
Сообщение от niXto
|
По дефолту (без StdPeriph) проц вообще работает на встроенном 8 МГц
|
Неужели? Куда катится мир?!! Уже CMSIS от SPL не в состоянии отличить, дожили.
Прежде чем подобные советы раздавать, сами бы создание проекта подучили, да разобрались бы что к чему.
|
|
|
|
02.05.2013, 09:05
|
|
Частый гость
Регистрация: 23.11.2010
Сообщений: 19
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Проблема с тактированием STM32F103
Настройки ST-Link-a собственно тут не причем, в этой версии IAR из настроек-то только режим JTAG или SWD. Мало того я проверял заливая HEX через ST-LINK Utility.
StdPeriph вообще использую, но столкнувшись с этой проблемой я создал новый проект, в котором только настройка тактирования и таймер3 в режиме сравнения и здесь разбираюсь. Вся настройка через регистры.
Вот собственно код.
Код:
|
#include "stm32f10x.h"
void TIM3_IRQHandler(void)
{
TIM3-›SR &= ~TIM_SR_UIF; //Ñáðàñûâàåì ôëàã UIF
GPIOA-›ODR ^= GPIO_ODR_ODR11;
}
int main()
{
/*
//Настройка PLL
RCC-›CFGR &= ~RCC_CFGR_PLLSRC; //Èñòî÷íèêîì ñèãíàëà äëÿ PLL âûáðàí HSI ñ äåëåíèåì íà 2
RCC-›CR &= ~RCC_CR_PLLON; //Îòêëþ÷èòü ãåíåðàòîð PLL
RCC-›CFGR &= ~RCC_CFGR_SW;; //Î÷èñòêà áèòîâ âûáîðà èñòî÷íèêà òàêòîâîãî ñèãíàëà
RCC-›CFGR |= RCC_CFGR_SW_PLL; //Âûáðàòü èñòî÷íèêîì òàêòîâîãî ñèãíàëà PLL
RCC-›CFGR &= ~RCC_CFGR_PLLMULL; //Î÷èñòèòü PLLMULL
RCC-›CFGR |= RCC_CFGR_PLLMULL6; //Êîåôèöèåíò óìíîæåíèÿ = 6
RCC-›CR |= RCC_CR_PLLON; //Âêëþ÷èòü ãåíåðàòîð PLL
while((RCC-›CR & RCC_CR_PLLRDY)==0) {} //Îæèäàíèå ãîòîâíîñòè PLL
*/
//================================================== ========================//
//============================= BUSY Signal ================================//
//================================================== ========================//
RCC-›APB2ENR |= RCC_APB2ENR_IOPAEN; // Ðàçðåøèòü òàêòèðîâàíèå GPIOA
//Êîíôèãóðèðîâàíèå GPIOA.11
GPIOA-›CRH &= ~GPIO_CRH_MODE11; //î÷èñòèòü ðàçðÿäû MODE
GPIOA-›CRH &= ~GPIO_CRH_CNF11; //î÷èñòèòü ðàçðÿäû CNF
GPIOA-›CRH |= GPIO_CRH_MODE11_1;//âûõîä, 50MHz
GPIOA-›CRH &= ~GPIO_CRH_CNF11; //îáùåãî íàçíà÷åíèÿ, ñèìåòðè÷íûé
//--------------------------------------------------------------------------//
//--------------------------------------------------------------------------//
RCC-›APB1ENR |= RCC_APB1ENR_TIM3EN; // ïîäàòü òàêòèðîâàíèå íà TIM3
TIM3-›PSC = 100-1; // Äåëèòåëü Fcpu/PSC = 1MHz
TIM3-›ARR = 10-1; // Ðåãèñòð ñðàâíåíèÿ. Tsample = 25ìêÑ.
TIM3-›CR1 |= TIM_CR1_CEN; // Ðàçðåøèòü ïðåðûâàíèå ïî ñîâïàäåíèþ
TIM3-›DIER |= TIM_DIER_UIE; // Update interrupt enabled
NVIC_EnableIRQ(TIM3_IRQn); // Ðàçðåøàåì îáðàáîòêó ïðåðûâàíèÿ
while(1)
{
}
} |
Извиняюсь с комментариями проблемы, но думаю они здесь не особо-то и нужны.
Последний раз редактировалось slavaplx; 02.05.2013 в 09:07.
|
|
|
|
02.05.2013, 09:26
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
|
Re: Проблема с тактированием STM32F103
Сообщение от slavaplx
|
Настраиваю тактирование на 24МГц, в режиме отладки имею 24МГц, отключаю отладку делаю ресет процессору, получаю 72МГц.
|
Пересоздайте проект с нуля, только неспеша и внимательно. Где-то разница в опциях Debug и Release.
|
|
|
|
02.05.2013, 09:38
|
|
Частый гость
Регистрация: 23.11.2010
Сообщений: 19
Сказал спасибо: 3
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Проблема с тактированием STM32F103
По поводу таргета.
Процессор у меня STM32F103T8 в IAR-е выбран ST STM32F10xx8.
Проект как раз с нуля и создал. Код проекта выше. Вот только Release не компилил. Лью только Debug. Проверил всё тоже самое на STM32-Discovery с SMT32F100RB, работает как надо и в отладке, и после ресета, и заливая через утилиту. Все частоты соответствуют настраиваемой.
|
|
|
|
02.05.2013, 11:33
|
|
Заблокирован
Регистрация: 25.04.2013
Сообщений: 1,431
Сказал спасибо: 0
Сказали Спасибо 385 раз(а) в 254 сообщении(ях)
|
Re: Проблема с тактированием STM32F103
И вас это не смущает? Создайте проект заново, по человечески, как положено, без всякой самописной хрени настроек тактирования. Пример создания можете посмотреть здесь, dosikus постарался:
http://forum.chipmk.ru/index.php/top...0%d1%80%d1%82/
|
|
|
|
02.05.2013, 15:29
|
|
Гражданин KAZUS.RU
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
|
Re: Проблема с тактированием STM32F103
Сообщение от nahimovv
|
Неужели? Куда катится мир?!! Уже CMSIS от SPL не в состоянии отличить, дожили.
Прежде чем подобные советы раздавать, сами бы создание проекта подучили, да разобрались бы что к чему.
|
Nahimovv, откуда у Вас столько чванства и агрессии. Вы всего неделю на форуме, а мне уже Ваши посты читать не хочется. "Будьте проще и люди к Вам потянутся"(народная мудрость).
P.S. Извините, что не по теме.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:59.
|
|