проблема может быть в программном отключении SWDIO и SWCLK прошивкой. Попробуйте загрузить в режим BOOT, и оттуда прошитьподключил SWDIO и SWCLK, питание 3,3в. NRST не подключен никуда, на boot0 подавал и 1 и 0. не шьется. в чем еще может быть проблема?
STM32 новичку в ARM что к чему
Re: STM32 новичку в ARM что к чему
Re: STM32 новичку в ARM что к чему
подключил питание аналоговой и цифровой части, сигналы SWDIO и SWCLK, но шиться не хочет. кварц не ставил. в ST-link нужно менять какие то настройки?
Re: STM32 новичку в ARM что к чему
Всем спасибо. проблема была в том, что МК питал от 3,3В, а программатор питается от 3в. когда мк запитал от 3В, все сразу заработало.
-
The_D
- Встал на лапы
- Сообщения: 108
- Зарегистрирован: Пт июл 06, 2012 14:28:17
- Откуда: Россия. г.Смоленск
Re: STM32 новичку в ARM что к чему
А можно поподробней? Что откуда питал?
Re: STM32 новичку в ARM что к чему
спаял устройство, которое на борту имеет стабилизатор на 3,3в и запитал от внешнего источника питания. потом подключил к STM32VLDISCOVERY ( SWDIO, SWCLK, GND). прошиваться не хотело. потом я подключил вывод DISCOVERY 3.3В (на котором реально 3В, вся DISCOVERY питается от 3В) и все определилось. потом попробовал уменьшить напряжение внешнего источника питания так, чтобы на мк было 3В, при этом тоже все прошивается.
Re: STM32 новичку в ARM что к чему
Привет всем .
В общем проблема такая сделал плату на STM32f405RGT6,перед припаиванием микроконтроллера посмотрел все без косяков. поставил чип подключил питание юарт адаптер чтоб занести прошивку через бутлоадер. но программа его даже не находит ,в чем может быть проблема ,всю плату ещё раз досконально изучил все чисто без замыканий
В общем проблема такая сделал плату на STM32f405RGT6,перед припаиванием микроконтроллера посмотрел все без косяков. поставил чип подключил питание юарт адаптер чтоб занести прошивку через бутлоадер. но программа его даже не находит ,в чем может быть проблема ,всю плату ещё раз досконально изучил все чисто без замыканий
USHIN
Re: STM32 новичку в ARM что к чему
boot 0/1 в правильной позиции ?
типовые косяки с питанием аналоговой части не повторял ? -))
типовые косяки с питанием аналоговой части не повторял ? -))
Re: STM32 новичку в ARM что к чему
Satyr писал(а):boot 0/1 в правильной позиции ?
типовые косяки с питанием аналоговой части не повторял ? -))
Бут правельно поставил аналоговая часть меня что то напрягает опорное наряжение подключаю микроконтроллер нагревается потихоньку
USHIN
Re: STM32 новичку в ARM что к чему
Всем привет! кто может создать проект в uvision для МК STM32F051R8T6? пробовал уже несколько раз, не получается. пишет что не находит SystemInit, где его взять?
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: STM32 новичку в ARM что к чему
drakon писал(а):пишет что не находит SystemInit, где его взять?
В CMSIS находится. Или в стартапе руками отключить можно.
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: STM32 новичку в ARM что к чему
...можно и без CMSIS и не отключатьВ CMSIS находится. Или в стартапе руками отключить можно.
просто пишем
Код: Выделить всё
void SystemInit(){
// можно вставить инициализацию портов например....
....
}Re: STM32 новичку в ARM что к чему
спасибо. вставил процедуру и все скомпилировалось. есть ли у кого-то прошивка ST-link который стоит на STM32VLDISCOVERY?
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: STM32 новичку в ARM что к чему
drakon писал(а): есть ли у кого-то прошивка ST-link который стоит на STM32VLDISCOVERY?
На сайте st.com не смотрели? Там она точно есть, с исходниками.
Все будет только лучше, в крайнем случае - хуже.
Re: STM32 новичку в ARM что к чему
http://www.st.com прошивку не дают, знаю что люди стягивают ее с прошитого мк через jtag какими то хитрыми способами, есть прошивка на ST-link/V2, тот что на STM32F3DISCOVERY стоит.
- coredumped
- Опытный кот
- Сообщения: 838
- Зарегистрирован: Вт апр 12, 2011 18:38:19
- Откуда: с Земли
Re: STM32 новичку в ARM что к чему
Пардон, я невнимательно почитал. Значит, ежели Вы хотите склонировать (или восстановить) ST-Link, то Вам сюда http://forum.easyelectronics.ru/viewtop ... k&start=50
Все будет только лучше, в крайнем случае - хуже.
Re: STM32 новичку в ARM что к чему
Подскажите.Купил stlink2 ,до этого пользовался дисковери.
Как подключить к STM32L.какие порта? ну собственно шлейф stlink2.
Хочу запрограммировать незнаю как,желательно также с отладкой.
И такой вопрос если я обвязку сделаю,карту памяти ,микрофон светодиоды,он программироваться будет?
И такй вопрос,если использовать аппаратный USB,можно использовать внутренний кварц,или только внешний на 25?
Как подключить к STM32L.какие порта? ну собственно шлейф stlink2.
Хочу запрограммировать незнаю как,желательно также с отладкой.
И такой вопрос если я обвязку сделаю,карту памяти ,микрофон светодиоды,он программироваться будет?
И такй вопрос,если использовать аппаратный USB,можно использовать внутренний кварц,или только внешний на 25?
Re: STM32 новичку в ARM что к чему
Подскажите STM32l152 там как обзначены вывода SWDIO, SWCLK это не MOSI и clk?И питание VDD1 VDD2 все между сособой соединять VSS1 и VSS2 или они внутри между собой уже подсоединины?
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: STM32 новичку в ARM что к чему
Питание на примере референс-дизайна.
SWD - отладка, MOSI-MISO-CLK - это SPI.
SWD - отладка, MOSI-MISO-CLK - это SPI.
- Вложения
-
- AN3216.PNG
- (41.71 КБ) 395 скачиваний
- amv2000
- Опытный кот
- Сообщения: 717
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: STM32 новичку в ARM что к чему
Здравствуйте!
Борюсь с прерываниями на плате STM32VL Discovery, имеются некоторые непонятки в следующих моментах
что делает этот код?
и второе
я так понимаю первой строчкой мы обнуляем комбинации четырёх битов EXTI, второй строкой устанавливаем бит, но тогда получается 0001 (это порт В) ?
Борюсь с прерываниями на плате STM32VL Discovery, имеются некоторые непонятки в следующих моментах
Код: Выделить всё
void InitGPIOTim ()
{
/** Включаем тактирование порта C и А
* Выход порта С, вывода PC8,9 с максимальной скоростью – 10МГц (MODEy[1:0] = 01)
* Вывод PC8,9 порта C, Двухтактный выход общего назначения Push-Pull CNFy[1:0] = 00:
*/
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN | RCC_APB2ENR_IOPAEN;
GPIOC->CRH |= (GPIO_CRH_MODE8_0 | GPIO_CRH_MODE9_0);
GPIOC->CRH &= ~(GPIO_CRH_CNF8 | GPIO_CRH_CNF9);
GPIOA->CRL&=~GPIO_CRL_MODE0; // Кнопка "USER" PA0 - на вход.
EXTI->IMR &= ~EXTI_IMR_MR0;
EXTI->EMR &= ~EXTI_EMR_MR0;
RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; /*разрешить тактирование AFIO */
/*далее выбираем необходимый нам вход:*/
AFIO->EXTICR[0] &= ~AFIO_EXTICR1_EXTI0_PA;
AFIO->EXTICR[0] |= AFIO_EXTICR1_EXTI0_PA; // Прерывание INT0 на PORTA.
/*Выберем для детектирование оба фронта:*/
EXTI->RTSR |= EXTI_RTSR_TR0; // прерывание по нарастающему фронту "Rising Edge”
EXTI->FTSR |= EXTI_FTSR_TR0; // прерывание от EXTI0 по срезу "Falling Edge”
/*Разрешаем генерацию прерывания от выбранной линии:*/
EXTI->IMR |= EXTI_IMR_MR0; // Разрешить запрос от EXTI0. Прерывания от нулевой ноги разрешены
}что делает этот код?
Код: Выделить всё
EXTI->IMR &= ~EXTI_IMR_MR0;
EXTI->EMR &= ~EXTI_EMR_MR0;и второе
Код: Выделить всё
/*далее выбираем необходимый нам вход:*/
AFIO->EXTICR[0] &= ~AFIO_EXTICR1_EXTI0_PA;
AFIO->EXTICR[0] |= AFIO_EXTICR1_EXTI0_PA; // Прерывание INT0 на PORTA.я так понимаю первой строчкой мы обнуляем комбинации четырёх битов EXTI, второй строкой устанавливаем бит, но тогда получается 0001 (это порт В) ?
- amv2000
- Опытный кот
- Сообщения: 717
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: STM32 новичку в ARM что к чему
Перечитав ещё раз кажется пришло прозрение, это мы сбрасываем все прерывания и события.
а здесь вероятно сначала обнуляем регистр EXTI дабы неизвестно, что там может быть, затем устанавливаем нужное прерывание
P.S. (для PA0) работает по умолчанию, без установки, ибо изначально там нули.
Код: Выделить всё
EXTI->IMR &= ~EXTI_IMR_MR0;
EXTI->EMR &= ~EXTI_EMR_MR0;а здесь вероятно сначала обнуляем регистр EXTI дабы неизвестно, что там может быть, затем устанавливаем нужное прерывание
P.S. (для PA0) работает по умолчанию, без установки, ибо изначально там нули.
Код: Выделить всё
/*далее выбираем необходимый нам вход:*/
AFIO->EXTICR[0] &= ~AFIO_EXTICR1_EXTI0_PA;
AFIO->EXTICR[0] |= AFIO_EXTICR1_EXTI0_PA; // Прерывание INT0 на PORTA.