STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Вымогатель припоя
Сообщения: 502
Зарегистрирован: Чт фев 16, 2012 19:00:11

Сообщение zöner »

подключил SWDIO и SWCLK, питание 3,3в. NRST не подключен никуда, на boot0 подавал и 1 и 0. не шьется. в чем еще может быть проблема?
проблема может быть в программном отключении SWDIO и SWCLK прошивкой. Попробуйте загрузить в режим BOOT, и оттуда прошить
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Вт авг 09, 2011 15:01:44
Откуда: Харьков

Сообщение drakon »

подключил питание аналоговой и цифровой части, сигналы SWDIO и SWCLK, но шиться не хочет. кварц не ставил. в ST-link нужно менять какие то настройки?
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Вт авг 09, 2011 15:01:44
Откуда: Харьков

Сообщение drakon »

Всем спасибо. проблема была в том, что МК питал от 3,3В, а программатор питается от 3в. когда мк запитал от 3В, все сразу заработало.
Встал на лапы
Сообщения: 108
Зарегистрирован: Пт июл 06, 2012 14:28:17
Откуда: Россия. г.Смоленск

Сообщение The_D »

А можно поподробней? Что откуда питал?
Реклама
Эиком - электронные компоненты и радиодетали
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Вт авг 09, 2011 15:01:44
Откуда: Харьков

Сообщение drakon »

спаял устройство, которое на борту имеет стабилизатор на 3,3в и запитал от внешнего источника питания. потом подключил к STM32VLDISCOVERY ( SWDIO, SWCLK, GND). прошиваться не хотело. потом я подключил вывод DISCOVERY 3.3В (на котором реально 3В, вся DISCOVERY питается от 3В) и все определилось. потом попробовал уменьшить напряжение внешнего источника питания так, чтобы на мк было 3В, при этом тоже все прошивается.
Реклама
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Вт дек 08, 2009 17:15:34
Откуда: УСТЬ-ИЛИМСК

Сообщение USHIN256 »

Привет всем .
В общем проблема такая сделал плату на STM32f405RGT6,перед припаиванием микроконтроллера посмотрел все без косяков. поставил чип подключил питание юарт адаптер чтоб занести прошивку через бутлоадер. но программа его даже не находит ,в чем может быть проблема ,всю плату ещё раз досконально изучил все чисто без замыканий
USHIN
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Сообщение Satyr »

boot 0/1 в правильной позиции ?
типовые косяки с питанием аналоговой части не повторял ? -))
Родился
Аватара пользователя
Сообщения: 14
Зарегистрирован: Вт дек 08, 2009 17:15:34
Откуда: УСТЬ-ИЛИМСК

Сообщение USHIN256 »

Satyr писал(а):boot 0/1 в правильной позиции ?
типовые косяки с питанием аналоговой части не повторял ? -))


Бут правельно поставил аналоговая часть меня что то напрягает опорное наряжение подключаю микроконтроллер нагревается потихоньку
USHIN
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Вт авг 09, 2011 15:01:44
Откуда: Харьков

Сообщение drakon »

Всем привет! кто может создать проект в uvision для МК STM32F051R8T6? пробовал уже несколько раз, не получается. пишет что не находит SystemInit, где его взять?
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

drakon писал(а):пишет что не находит SystemInit, где его взять?
В CMSIS находится. Или в стартапе руками отключить можно.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

В CMSIS находится. Или в стартапе руками отключить можно.
...можно и без CMSIS и не отключать :)
просто пишем

Код: Выделить всё

void SystemInit(){	
 // можно вставить инициализацию портов например....
  ....  	 
}
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Вт авг 09, 2011 15:01:44
Откуда: Харьков

Сообщение drakon »

спасибо. вставил процедуру и все скомпилировалось. есть ли у кого-то прошивка ST-link который стоит на STM32VLDISCOVERY?
Опытный кот
Аватара пользователя
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Сообщение coredumped »

drakon писал(а): есть ли у кого-то прошивка ST-link который стоит на STM32VLDISCOVERY?
На сайте st.com не смотрели? Там она точно есть, с исходниками.
Все будет только лучше, в крайнем случае - хуже.
Грызет канифоль
Аватара пользователя
Сообщения: 271
Зарегистрирован: Вт авг 09, 2011 15:01:44
Откуда: Харьков

Сообщение drakon »

http://www.st.com прошивку не дают, знаю что люди стягивают ее с прошитого мк через jtag какими то хитрыми способами, есть прошивка на ST-link/V2, тот что на STM32F3DISCOVERY стоит.
Опытный кот
Аватара пользователя
Сообщения: 838
Зарегистрирован: Вт апр 12, 2011 18:38:19
Откуда: с Земли

Сообщение coredumped »

Пардон, я невнимательно почитал. Значит, ежели Вы хотите склонировать (или восстановить) ST-Link, то Вам сюда http://forum.easyelectronics.ru/viewtop ... k&start=50
Все будет только лучше, в крайнем случае - хуже.
Потрогал лапой паяльник
Сообщения: 303
Зарегистрирован: Сб янв 08, 2011 13:48:41

Сообщение спящий »

Подскажите.Купил stlink2 ,до этого пользовался дисковери.
Как подключить к STM32L.какие порта? ну собственно шлейф stlink2.
Хочу запрограммировать незнаю как,желательно также с отладкой.
И такой вопрос если я обвязку сделаю,карту памяти ,микрофон светодиоды,он программироваться будет?


И такй вопрос,если использовать аппаратный USB,можно использовать внутренний кварц,или только внешний на 25?
Потрогал лапой паяльник
Сообщения: 303
Зарегистрирован: Сб янв 08, 2011 13:48:41

Сообщение спящий »

Подскажите STM32l152 там как обзначены вывода SWDIO, SWCLK это не MOSI и clk?И питание VDD1 VDD2 все между сособой соединять VSS1 и VSS2 или они внутри между собой уже подсоединины?
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Сообщение uk8amk »

Питание на примере референс-дизайна.

SWD - отладка, MOSI-MISO-CLK - это SPI.
Вложения
AN3216.PNG
(41.71 КБ) 399 скачиваний
Опытный кот
Аватара пользователя
Сообщения: 725
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

Здравствуйте!
Борюсь с прерываниями на плате 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 (это порт В) ?
Опытный кот
Аватара пользователя
Сообщения: 725
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

Перечитав ещё раз кажется пришло прозрение, это мы сбрасываем все прерывания и события.

Код: Выделить всё

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.
Ответить

Вернуться в «ARM»