Easyelectronics.ru

Электроника для всех
Текущее время: 24 окт 2020, 19:55

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 15 июн 2011, 03:51 
Только пришел

Зарегистрирован: 29 май 2011, 16:39
Сообщения: 26
А вот народ перешил дискаверивский st-link под нечто совместимое с OpenOCD http://hackaday.com/2011/02/06/versaloon-ported-to-stm8-and-stm32-discovery-boards


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 25 дек 2011, 18:38 
Только пришел

Зарегистрирован: 25 дек 2011, 18:26
Сообщения: 17
Получил недавно эту платку. решил с ней поиграться. До того, как полез в ИАР, установил STM32 ST-LINK Utility. В платке была тогда еще заводская прошивка. Ну я с помощью этой утилитки сделал бэкап и стер содержимое чипа. Затем полез в ИАР (версия 6.20), накидал элементарнейший проект
void main()
{
while(1);
};

Проект собрал, настроил ИАР на работу с ST-Link под руководством документа от ST(до этого с MT-Link приходилось работать).
Жму в менюшке ИАР-а Download active application. Получаю следующий лог
Sun Dec 25, 2011 17:39:42: Loaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\config\flashloader\ST\FlashSTM32F10xxx.mac
Sun Dec 25, 2011 17:39:42: -I- execUserFlashInit!
Sun Dec 25, 2011 17:39:42: Loaded debugee: C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\config\flashloader\ST\FlashSTM32F10xxxRAM6K.out
Sun Dec 25, 2011 17:39:43: Target reset
Sun Dec 25, 2011 17:39:43: Downloaded C:\Program Files\IAR Systems\Projects\STM32\Project1\Debug\Exe\cpp.out to flash memory.

Т.е. вроде как все прошилось. Но когда пытаюсь запустить отладчик, он выдает ошибку, что сессия отладки не может быть запущена. Запустил снова утилитку от ST, считал содержимое контроллера и обнаружил, что он как был пуст, так пуст и остался.
Включил в ИАР верификацию после прошивки и прошил заново. Тогда и получил следующее:
Sun Dec 25, 2011 17:40:04: Loaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\config\flashloader\ST\FlashSTM32F10xxx.mac
Sun Dec 25, 2011 17:40:05: -I- execUserFlashInit!
Sun Dec 25, 2011 17:40:05: Loaded debugee: C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\config\flashloader\ST\FlashSTM32F10xxxRAM6K.out
Sun Dec 25, 2011 17:40:05: Target reset
Sun Dec 25, 2011 17:40:06: Downloaded C:\Program Files\IAR Systems\Projects\STM32\Project1\Debug\Exe\cpp.out to flash memory.
Sun Dec 25, 2011 17:40:06: 316 bytes downloaded into FLASH and verified (0.28 Kbytes/sec)
Sun Dec 25, 2011 17:40:06: Warning:
Verify error at address 0x08000000, target byte: 0xFF, byte in file: 0x00
Sun Dec 25, 2011 17:40:06: Warning:
Verify error at address 0x08000001, target byte: 0xFF, byte in file: 0x04
Sun Dec 25, 2011 17:40:06: Warning:
Verify error at address 0x08000002, target byte: 0xFF, byte in file: 0x00
и так далее...
В общем флэшлоадер не шьет флэш. Кто-нибудь может сказать, с чем это может быть связано. Может есть исходники флэшлоадера? Можно было бы поковыряться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 09 фев 2012, 18:49 
Старожил

Зарегистрирован: 31 окт 2011, 10:27
Сообщения: 980
Откуда: Оренбург
играюсь этой платкой на ассемблере под coIDE (Coocox)

еще кто нить тоже самое делает ?

сейчас набросал инклудный файл для работы с пинами портов (адреса, конфигурация).

можно было бы объединить усилия и разработать совместно (заодно одна голова хорошо а две еще лучше, а три так вообще замечательно)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 09 фев 2012, 20:13 
Старожил

Зарегистрирован: 31 окт 2011, 10:27
Сообщения: 980
Откуда: Оренбург
Кстати, а в чем может быть причина что прошивка не сохраняется в контроллере ?

написал, залил при помощи coIDE через ST-link, заработало, нажал на RESET, - больше не работает..
так же не работает если выключить или включить...

через coFlash тоже заливал - результат такой же...

на плате никакие джамперы переставлять для прошивки не нужно ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 13 фев 2012, 12:58 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 дек 2011, 12:47
Сообщения: 184
Откуда: Санкт-Петербург
прошу помощи в тактировании STM32VL-Discovery. среда Coocox
Хочу посмотреть на выходе MCO частоту SYSCLK и как она меняется в зависимости от значения PLLMUL
Но что-то не получается.. то ли не то смотрю на MCO, то ли не так настраиваю
Код:
//Запустить HSE
  RCC->CR   |=  RCC_CR_HSEON;            //Включить генератор HSE
  while((RCC->CR & RCC_CR_HSERDY)==0)    //Ожидание готовности HSE
  {
     ;
  }
  //HSE осциллятор, PLLx9
  RCC -> CFGR = RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL9 ;//  Подключаем ФАПЧ, ставим *9
  RCC -> CR |= RCC_CR_PLLON;//включаем  ФАПЧ
  while (! (RCC -> CR & RCC_CR_PLLRDY))// ждем готовности ФАПЧ
  {
  ;
  }

  RCC -> CFGR |= RCC_CFGR_SW_PLL;// Объявляю ФАПЧ источником SYSCLK
//дальше уже настройка MCO
// Подадим тактирование на PORTА
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
// Выход РА8, в альтернативную ф-ю МСО (CNF1= 1, CNF0= 0; MODE1= 1; MODE0= 1)
GPIOA->CRH = (GPIO_CRH_MODE8 | GPIO_CRH_CNF8_1); // GPIO_Speed_50MHz; GPIO_Mode_AF_PP;

// Укажем какую тактовую подадим на выход

   //RCC->CFGR |= RCC_CFGR_MCO_2; //
   // RCC->CFGR |= RCC_CFGR_MCO_NOCLOCK;
RCC->CFGR |= RCC_CFGR_MCO_SYSCLK; //
  // RCC->CFGR |= RCC_CFGR_MCO_HSI; //
  //RCC->CFGR |= RCC_CFGR_MCO_HSE; //
  // RCC->CFGR |= RCC_CFGR_MCO_PLL; //

После этого вижу на выходе 36Мгц, но изменять его коэффициентом PLLMUL не получается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 13 фев 2012, 13:24 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 13 май 2011, 11:55
Сообщения: 134
Откуда: Санкт-Петербург
Цитата:
После этого вижу на выходе 36Мгц

Для STM32VL-Discovery это не штатная частота. Там стоит F100, а у него максимум 24МГц.
А вы библиотекой CMSIS не пользуетесь? Поможет избежать ошибок с настройкой частоты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 13 фев 2012, 14:20 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 дек 2011, 12:47
Сообщения: 184
Откуда: Санкт-Петербург
я, в общем-то, считала, что запись вида RCC->CFGR |= RCC_CFGR_MCO_HSI; как раз и определяется CMSIS :-(

мне, собственно, все равно какая пока частота, меня беспокоит, что я не понимаю как на нее влиять через PLL и где смотреть это влияние...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 13 фев 2012, 16:08 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 13 май 2011, 11:55
Сообщения: 134
Откуда: Санкт-Петербург
Скачайте с сайта ST, например, "STM32F10x standard peripheral library". Зайдите в Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c Поизучайте, посмотрите как там происходит настройка PLL, если, конечно, есть время и желание.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 13 фев 2012, 16:59 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 дек 2011, 12:47
Сообщения: 184
Откуда: Санкт-Петербург
спасибо. Уже , в общем-то , разобралась. теперь не понимаю другого... В картинке clock tree из RM0041 стр 70. (Это даташит на stm32f100xx) максимальное число, которое я углядела, 24 МГц , в том числе и на выходах GPIO. Осциллограф же по команде
[code]
SystemInit();//при defined SYSCLK_FREQ_36MHz в б-ке system_stm32f10xx.c
// Подадим тактирование на PORTА
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
// Выход РА8, в альтернативную ф-ю МСО (CNF1= 1, CNF0= 0; MODE1= 1; MODE0= 1)
GPIOA->CRH = (GPIO_CRH_MODE8 | GPIO_CRH_CNF8_1); // GPIO_Speed_50MHz; GPIO_Mode_AF_PP;
RCC->CFGR |= RCC_CFGR_MCO_SYSCLK;[/code]
показывает мне 36 МГц.. Означает ли это, что на выходы GPIO подается тактовая в 36МГц? если это, как Вы изящно выразились , "нештатная частота", то не соблаговолите ли объяснить, что это означает- нештатная? Ноги сгорят?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 13 фев 2012, 17:42 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 13 май 2011, 11:55
Сообщения: 134
Откуда: Санкт-Петербург
По всей видимости у вас ядро работает на 36МГц. И порты возможно тоже, если у вас предделитель APB2 равен 1. Нет, при такой частоте не должно ничего сгореть. Люди и до бОльших частот разгоняли. Просто на частотах до 24МГц производитель гарантирует стабильную работу с сохранением в пределах нормы различных параметров в определенном температурном диапазоне, например, -40...+85. А если частота завышена нет никаких гарантий, что МК будет работать стабильно, особенно это относится к сильному разгону ядра.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 13 фев 2012, 17:52 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 дек 2011, 12:47
Сообщения: 184
Откуда: Санкт-Петербург
Благодарю . Успокоили :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 13 фев 2012, 20:42 
Старожил

Зарегистрирован: 31 окт 2011, 10:27
Сообщения: 980
Откуда: Оренбург
У меня ядро с 8 мгц тактом - работало с множителем 8 (64мгц!!) больше (множитель 9) - уже не заводилось...
предделитель был 1 (я на асме писал, так что точно могу сказать что предделитель был 1)

так что 36 - это еще не потолок !

p.s. у меня работало ядро и GPIO (зажигал оба светодиода, опрашивал кнопку)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 14 фев 2012, 11:09 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 09 дек 2011, 12:47
Сообщения: 184
Откуда: Санкт-Петербург
ВитГо писал(а):
У меня ядро с 8 мгц тактом - работало с множителем 8 (64мгц!!) больше (множитель 9) - уже не заводилось...
предделитель был 1 (я на асме писал, так что точно могу сказать что предделитель был 1)

так что 36 - это еще не потолок !

p.s. у меня работало ядро и GPIO (зажигал оба светодиода, опрашивал кнопку)

Здорово! Спасибо, буду знать, что можно :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 21 мар 2012, 21:00 
Здравствуйте!

Зарегистрирован: 27 янв 2010, 00:14
Сообщения: 3
Возникла следующая проблема, работаю в Widows 7, IDE - Eclipse, toolchain - Sourcery CodeBench Lite Edition, прошиваю STM32 ST-Link utility. И все было хорошо, пока я не решил заняться отладкой. Пошарил в интернете и нашел описание процедуры настройки для работы связки Eclipse, GDB и ST-Link. Этоа процедура требовала установки драйвера WinUSB при помощи какого-то средства - Zadig. Как чувствовал, зря я это делаю, но... Что теперь имею. Утилита ST-Link не находит плату, пишет "No STLink detected", при этом, на другом компьютере с платой все нормально, можно прошивать. Далее, взятая у приятеля плата STM32L-DISCOVERY на моем компьютере видна и шьется. Что было мною предпринято. Все драйвера средствами Windows поудалял и снова установил. Результат нулевой. Удалял драйвера при помощи утилиты USBDview, никакого эффекта. Понимаю, что полная переустановка Windows решит проблему, но хотелось по проще. Может кто сталкивался с такой проблемой, выручайте. Ну а с меня пиво ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 03 апр 2012, 17:27 
Заглядывает иногда

Зарегистрирован: 13 мар 2012, 15:24
Сообщения: 70
Откуда: Татарстан
Привет сегодня получил свою платку подключил к ноуту поставил дрова. Стал прошивать через STM32 ST-Link utility загрузил в него проект и не сохранил первоначальную прошивку платы. И что то не проек теперь не запускается не тестовой прошивки нет))
Выложите плиз тестовую прошивку дискавери


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 03 апр 2012, 17:34 
Старожил

Зарегистрирован: 14 мар 2012, 13:58
Сообщения: 1727
http://www.st.com/internet/evalboard/product/250863.jsp

В самом низу в архиве


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 03 апр 2012, 17:38 
Заглядывает иногда

Зарегистрирован: 13 мар 2012, 15:24
Сообщения: 70
Откуда: Татарстан
Спасибо Откопал на оф сайте ))) там же есть прошивка датчика температуры Этот датчик где на плате находится? Или в самом контролере? Судя по всему в контролере )) так как при при косании к нему температура возрастает


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 03 апр 2012, 17:59 
Заглядывает иногда

Зарегистрирован: 13 мар 2012, 15:24
Сообщения: 70
Откуда: Татарстан
Ни у кого нет прошивки часов для этой платки? Часовой кварц на нем замечен))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 03 апр 2012, 18:05 
Старожил

Зарегистрирован: 14 мар 2012, 13:58
Сообщения: 1727
Astronom писал(а):
Спасибо Откопал на оф сайте ))) там же есть прошивка датчика температуры Этот датчик где на плате находится? Или в самом контролере? Судя по всему в контролере )) так как при при косании к нему температура возрастает

Как можно мерить температуру в комнате, установив датчик на батарее? На ссылке, что я дам, есть и мануал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 03 апр 2012, 18:11 
Заглядывает иногда

Зарегистрирован: 13 мар 2012, 15:24
Сообщения: 70
Откуда: Татарстан
dima2611 писал(а):
Astronom писал(а):
Спасибо Откопал на оф сайте ))) там же есть прошивка датчика температуры Этот датчик где на плате находится? Или в самом контролере? Судя по всему в контролере )) так как при при косании к нему температура возрастает

Как можно мерить температуру в комнате, установив датчик на батарее? На ссылке, что я дам, есть и мануал.



Нет я имел виду датчик температуры расположен в самом контролере STM а не на плате! Мануал к сожалению на англ языке я не шарю


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 28 сен 2012, 22:13 
Старожил
Аватара пользователя

Зарегистрирован: 28 сен 2012, 22:11
Сообщения: 398
Откуда: г. Ростов-на-Дону
Приобрел плату STM32 VL. Начал разбираться: помигал светодиодами, поопрашивал кнопки, запустил дисплей от NOKIA3310. В общем наигравшись решил перейти к более углубленному изучению. Первой строчкой попавшей в поле зрения оказалась

Код:
RCC->APB2ENR |= RCC_APB2ENR_IOPBEN;


После изучения различных примеров и описаний было установлено назначение данной строки, НО в этих самых предметах ни слова не было сказано почему надо тактировать выходы именно от APB2ENR. Дальнейшие поиски тоже ни к чему не привели. Вот мне и хотелось бы узнать назначение всех регистров RCC, а их там целых 10 штук:

Код:
__IO uint32_t CR;
  __IO uint32_t CFGR;
  __IO uint32_t CIR;
  __IO uint32_t APB2RSTR;
  __IO uint32_t APB1RSTR;
  __IO uint32_t AHBENR;
  __IO uint32_t APB2ENR;
  __IO uint32_t APB1ENR;
  __IO uint32_t BDCR;
  __IO uint32_t CSR;


Заранее спасибо

_________________
Количество полученного опыта прямо пропорционально выведенному из строя оборудованию....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 28 сен 2012, 23:11 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5896
BARS_ писал(а):
НО в этих самых предметах ни слова не было сказано почему надо тактировать выходы именно от APB2ENR.


Надо всего то почитать даташит. Конкретно на тему -что, через что тактируется ...
А так же :
Код:
/******************  Bit definition for RCC_APB2ENR register  *****************/
#define  RCC_APB2ENR_AFIOEN                  ((uint32_t)0x00000001)         /*!< Alternate Function I/O clock enable */
#define  RCC_APB2ENR_IOPAEN                  ((uint32_t)0x00000004)         /*!< I/O port A clock enable */
#define  RCC_APB2ENR_IOPBEN                  ((uint32_t)0x00000008)         /*!< I/O port B clock enable */
#define  RCC_APB2ENR_IOPCEN                  ((uint32_t)0x00000010)         /*!< I/O port C clock enable */
#define  RCC_APB2ENR_IOPDEN                  ((uint32_t)0x00000020)         /*!< I/O port D clock enable */
#define  RCC_APB2ENR_ADC1EN                  ((uint32_t)0x00000200)         /*!< ADC 1 interface clock enable */

#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD_VL)
#define  RCC_APB2ENR_ADC2EN                  ((uint32_t)0x00000400)         /*!< ADC 2 interface clock enable */
#endif

#define  RCC_APB2ENR_TIM1EN                  ((uint32_t)0x00000800)         /*!< TIM1 Timer clock enable */
#define  RCC_APB2ENR_SPI1EN                  ((uint32_t)0x00001000)         /*!< SPI 1 clock enable */
#define  RCC_APB2ENR_USART1EN                ((uint32_t)0x00004000)         /*!< USART1 clock enable */

#if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)
#define  RCC_APB2ENR_TIM15EN                 ((uint32_t)0x00010000)         /*!< TIM15 Timer clock enable */
#define  RCC_APB2ENR_TIM16EN                 ((uint32_t)0x00020000)         /*!< TIM16 Timer clock enable */
#define  RCC_APB2ENR_TIM17EN                 ((uint32_t)0x00040000)         /*!< TIM17 Timer clock enable */
#endif

#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL)
#define  RCC_APB2ENR_IOPEEN                 ((uint32_t)0x00000040)         /*!< I/O port E clock enable */
#endif /* STM32F10X_LD && STM32F10X_LD_VL */



Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Освоение STM32VLDISCOVERY board
СообщениеДобавлено: 30 сен 2012, 15:24 
Старожил

Зарегистрирован: 14 мар 2012, 13:58
Сообщения: 1727
BARS_ писал(а):
Вот мне и хотелось бы узнать назначение всех регистров RCC, а их там целых 10 штук

Юзайте SPL и не забивайте себе голову ерундой. Она для людей писана и направлена на облегчение переносимости кода с одного STM32 на другой.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу Пред.  1, 2


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB