реклама на сайте
подробности

 
 
33 страниц V   1 2 3 > »   
Closed TopicStart new topic
> STM32 – вопросы – проблемы - решения.
Danis
сообщение Nov 19 2010, 18:19
Сообщение #1


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Предлагаю в этой теме обсуждать вопросы разработчиков на STM32.


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
ivainc1789
сообщение Nov 20 2010, 21:20
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Верно ли я понял, что таймеры в STM32 могут тактироваться максимум от 32MHz? Т.е. 10бит PWM на частоте 66kHz (как в AVR) невозможна?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Nov 20 2010, 22:00
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(ivainc1789 @ Nov 21 2010, 02:20) *
Верно ли я понял, что таймеры в STM32 могут тактироваться максимум от 32MHz?

Неверно. Если прескалер APB не равен единице (то есть, его частота не равна 72МГц), то входная частота таймеров равна удвоенной частоте APB.
То есть, например, для таймеров TIM2...TIM7 если частота APB2 равна 36МГц, то таймеры считают с частотой 72МГц.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Danis
сообщение Nov 24 2010, 05:59
Сообщение #4


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Подборка тем по STM32:

Часы на STM32
http://electronix.ru/forum/index.php?showt...55&hl=STM32


ARM Cortex M3 + Linux
http://electronix.ru/forum/index.php?showt...89&hl=STM32

Ethernet на STM32, трафик?
http://electronix.ru/forum/index.php?showt...54&hl=STM32

STM32 bootloader и FreeRtos
http://electronix.ru/forum/index.php?showt...28&hl=STM32


STM32 USB_DISCONNECT 2
http://electronix.ru/forum/index.php?showt...32&hl=STM32

STM32 audio engine
http://electronix.ru/forum/index.php?showt...63&hl=STM32

SPI STM32
http://electronix.ru/forum/index.php?showt...54&hl=STM32

STM32 SPI(NSS - Hardware NSS mode)
http://electronix.ru/forum/index.php?showt...79&hl=STM32

stm32f100 Проблемы с настройкой DAC в RCC
http://electronix.ru/forum/index.php?showt...74&hl=STM32


Atollic TrueSTUDIO®/STM32, Отзывы
http://electronix.ru/forum/index.php?showt...94&hl=STM32


Программирование фильтров по входам таймеров на STM32
http://electronix.ru/forum/index.php?showt...43&hl=STM32

STM32F103 и захват потока данных, Справится ли?
http://electronix.ru/forum/index.php?showt...21&hl=STM32

STM32F103x делимся впечатлениями
http://electronix.ru/forum/index.php?showt...60&hl=STM32

STM32 USB_DISCONNECT
http://electronix.ru/forum/index.php?showt...94&hl=STM32

STM32 или LPC17xx?
http://electronix.ru/forum/index.php?showt...39&hl=STM32

STM32 и DFU
http://electronix.ru/forum/index.php?showt...83&hl=STM32

stm32f105, APB1
http://electronix.ru/forum/index.php?showt...93&hl=STM32

STM32 CAN + USB, Оба сразу не работают и БЕЗ варинтов ?
http://electronix.ru/forum/index.php?showt...54&hl=STM32

STM32 MCKIT, Асинхронник и АРМ
http://electronix.ru/forum/index.php?showt...34&hl=STM32

stm32 stop mode, Не могу разбудить микроконтроллер внешним прерыванием
http://electronix.ru/forum/index.php?showt...90&hl=STM32

STM32 mp3 playbaak
http://electronix.ru/forum/index.php?showt...08&hl=STM32


STM32 ReadOut protection, мт-линком
http://electronix.ru/forum/index.php?showt...15&hl=STM32


STM32F101C8 и FreeRtos, Имеет ли смысл?
http://electronix.ru/forum/index.php?showt...88&hl=STM32

Как обойти совмещение пинов can и usb на stm32f103
http://electronix.ru/forum/index.php?showt...31&hl=STM32

STM32 SDIO 4bit SD-card, Подскажите кто делал, в чем может быть проблема
http://electronix.ru/forum/index.php?showt...44&hl=STM32


STM32F103 USB, Что то не получается.
http://electronix.ru/forum/index.php?showt...71&hl=STM32

Вопрос по таймеру в STM32 Cortex
http://electronix.ru/forum/index.php?showt...76&hl=STM32


Кит на STM32, Интересный кит.
http://electronix.ru/forum/index.php?showt...66&hl=STM32

STM32 + IAR + download & debug, вопрос по старту программы
http://electronix.ru/forum/index.php?showt...13&hl=STM32

STM32: Отладка в RAM
http://electronix.ru/forum/index.php?showt...31&hl=STM32

STM32 TIM4 Output Compare 4
http://electronix.ru/forum/index.php?showt...13&hl=STM32


STM32F20X - что-то новое от ST
http://electronix.ru/forum/index.php?showt...05&hl=STM32

STM32 & NAND
http://electronix.ru/forum/index.php?showt...59&hl=STM32


stm32f107vct непонятки с CAN, в loopback CAN1 работает а CAN2 нет
http://electronix.ru/forum/index.php?showt...57&hl=STM32

STM32 Virtual COM, STM32 Virtual COM
http://electronix.ru/forum/index.php?showt...04&hl=STM32

STM32 отладка в SRAM
http://electronix.ru/forum/index.php?showt...81&hl=STM32


STM32F103 и его SPI – непонятки
http://electronix.ru/forum/index.php?showt...02&hl=STM32

STM32F103 + Flash Loader Demonstrator, проблемы с процессом прошивки
http://electronix.ru/forum/index.php?showt...37&hl=STM32

stm32 i2c
http://electronix.ru/forum/index.php?showt...34&hl=STM32

Технический семинар по STM32(Москва, проводил Компел), был на нем...
http://electronix.ru/forum/index.php?showt...81&hl=STM32

STM32 Virtual COM Port дрова для Vista
http://electronix.ru/forum/index.php?showt...23&hl=STM32

STM32F103RBT6 не прошивается
http://electronix.ru/forum/index.php?showt...29&hl=STM32

STM32 LQFP100 & ext.SRAM multiplexed mode, КАК???
http://electronix.ru/forum/index.php?showt...76&hl=STM32

Проблемы J-Link + SТМ32
http://electronix.ru/forum/index.php?showt...88&hl=STM32

STM32, micro-eeprom в "Option bytes"
http://electronix.ru/forum/index.php?showt...04&hl=STM32

STM32, gcc, тип long long, ld ругается при сборке проекта
http://electronix.ru/forum/index.php?showt...62&hl=STM32

STM32 & ADC, не могу запустить AnalogWatchdog
http://electronix.ru/forum/index.php?showt...98&hl=STM32

STM32 не работает с J-Link, не понимаю...
http://electronix.ru/forum/index.php?showt...38&hl=STM32

Максимальное разрешение многоканального программного ШИМ на STM32, Проверьте мои измышления, плз
http://electronix.ru/forum/index.php?showt...82&hl=STM32

переварить NTSC c помощью STM32, видеокартинка на ноуте
http://electronix.ru/forum/index.php?showt...54&hl=STM32

Анонсированы новые семейства STM32F105 и STM32F107 с Ethernet MAC 10/100, Сравниваем с LPC17xx с Ethernet
http://electronix.ru/forum/index.php?showt...75&hl=STM32

Стратегии сброса через J-link, разные для LPC24XX и STM32?
http://electronix.ru/forum/index.php?showt...77&hl=STM32

поднять USB на Olimex STM32-H103, апноут не курится sad.gif
http://electronix.ru/forum/index.php?showt...42&hl=STM32

stm32 max jtag speed
http://electronix.ru/forum/index.php?showt...91&hl=STM32

STM32F101x + LSE, проблема с часовым генератором
http://electronix.ru/forum/index.php?showt...42&hl=STM32

как подключить программатор на FTDI к IAR для работы с STM32
http://electronix.ru/forum/index.php?showt...43&hl=STM32

STM32 + RTC&IrDA, Есть ли подводные камни?
http://electronix.ru/forum/index.php?showt...20&hl=STM32

Атомарная операция, STM32F10x
http://electronix.ru/forum/index.php?showt...24&hl=STM32

STM32: одновременно использовать DMA для USART1 и SPI2 нельзя?
http://electronix.ru/forum/index.php?showt...60&hl=STM32

STM32F101 Rev. Z
http://electronix.ru/forum/index.php?showt...74&hl=STM32


Errata для STM32
http://electronix.ru/forum/index.php?showt...75&hl=STM32

STM32 и ADC, Где храниться информация о текущем конвертируемом канале АЦП из группы
http://electronix.ru/forum/index.php?showt...77&hl=STM32

STMicroelectronics разродилась новым семейством - STM32
http://electronix.ru/forum/index.php?showt...69&hl=STM32

натокам периферии STM32, Синхронизация массивов, передаваемых и принимаемых по DMA
http://electronix.ru/forum/index.php?showt...35&hl=STM32

stm32 не работает pwm на remap TIM3_CH2 (PB.5)
http://electronix.ru/forum/index.php?showt...89&hl=STM32

STM32 + IAR, Подскажите методологию
http://electronix.ru/forum/index.php?showt...39&hl=STM32

DAC в STM32 Cortex, Библиотечные примеры не работают
http://electronix.ru/forum/index.php?showt...55&hl=STM32

Кеил и STM32, Что не позволено дивайсу?
http://electronix.ru/forum/index.php?showt...54&hl=STM32

STM3210B-EVAL
http://electronix.ru/forum/index.php?showt...93&hl=STM32

STM32F103xxx от ST, Контроллер на ядре Cortex-M3
http://electronix.ru/forum/index.php?showt...94&hl=stm32


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
Alfa
сообщение Nov 26 2010, 06:58
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 9-02-06
Из: Челябинск
Пользователь №: 14 160



Цитата(Danis @ Nov 24 2010, 10:59) *
Подборка тем по STM32:

Проблемы J-Link + SТМ32
http://electronix.ru/forum/index.php?showt...88&hl=STM32


STM32 не работает с J-Link, не понимаю...
http://electronix.ru/forum/index.php?showt...38&hl=STM32


STM32F102C6 не работает с MT-Link. Смотрел приведенные выше темы. Там не мой случай. Аналоговое питание подключено, mt-link подключал коротким шнурком. результат - 0.

Пробую законнектиться с процем с помощью JFlashARM.exe V382. пишет
Код
Connecting ...
- Connecting via USB to J-Link device 0
- J-Link firmware: V1.20 (J-Link compiled Jul 30 2008 11:24:37 ARM Rev.5)
- JTAG speed: 5 kHz (Auto)
- Initializing CPU core (Init sequence) ...
- ERROR: Failed to connect

и выдает окно
Код
Bad JTAG communication: Write to IR: Expected 0x1, got 0x7 (TAP Command : 2) @ Off 0x5


свежескаченный JFlashARM.exe V420p пишет
Код
Connecting ...
- Connecting via USB to J-Link device 0
- J-Link firmware: V1.20 (J-Link compiled Jul 30 2008 11:24:37 ARM Rev.5)
- JTAG speed: 5 kHz (Fixed)
- ERROR: Wrong AHB ID (15:3). Expected 0x04770001 (Mask 0x0FFFFF0F), Found 0xFFFFFFFF
- Initializing CPU core (Init sequence) ...
- JTAG speed: 5 kHz (Fixed)
- ERROR: Failed to connect


jlink.exe при запуске пишет
Код
SEGGER J-Link Commander V4.20p ('?' for help)
Compiled Nov 19 2010 15:55:19
DLL version V4.20p, compiled Nov 19 2010 15:55:07
Firmware: J-Link compiled Jul 30 2008 11:24:37 ARM Rev.5
Hardware: V5.00
S/N: 11111117
VTarget = 3.339V
Info: Could not measure total IR len. TDO is constant high.

WARNING: CPU core not found.
No devices found on JTAG chain. Trying to find device on SWD.
No device found on SWD.
Did not find any core.
No devices found on JTAG chain. Trying to find device on SWD.
No device found on SWD.
Did not find any core.
J-Link>


питание звонил и мерил - все нормально.
jtag выводы звонил и смотрел осциллографом - тоже все нормально, кроме вывода которым контроллер должен отвечать - там всегда 1.
из jlink.exe дергал ногами jtag тоже дергается что и где положено.

в JFlashARM.exe добавлял reset и halt - не помогло.

JFlashARM.exe V420p выбирал процессор STM32F102C6 и STM32F102C6(allow opt///) тоже не помогло.

сброс от залочки
JLinkSTM32.exe говорит
Код
Connecting to J-Link...O.K.
Using SWD as target interface.
Target interface speed: 1000kHz.
Could not identify STM32 device.
Press any key to exit.


mt-link рабочий - коннектится к sam7x без проблем

аппаратного выключения jtag вроде в этом проце нет

процессоры новые...

пробовал wigglerом - тоже не коннектится sad.gif

версия mt link Hardware: V5.00 может в этом проблема?


может есть еще какие нибуть идеи и соображения?



Go to the top of the page
 
+Quote Post
Danis
сообщение Nov 28 2010, 17:45
Сообщение #6


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Цитата(Alfa @ Nov 26 2010, 10:58) *
может есть еще какие нибуть идеи и соображения?


Может Вам 6-ю версию прошивки попробовать? Могу скинуть схему 6-го MT-LINK и прошивку если надо? У меня есть MT-LINK v6.0 шьет STM32 нормально.


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
Alfa
сообщение Nov 29 2010, 03:53
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 9-02-06
Из: Челябинск
Пользователь №: 14 160



Цитата(Danis @ Nov 28 2010, 22:45) *
Может Вам 6-ю версию прошивки попробовать? Могу скинуть схему 6-го MT-LINK и прошивку если надо? У меня есть MT-LINK v6.0 шьет STM32 нормально.


Приму с благодарностью и схему и прошивку.... Написал вам письмо...
Go to the top of the page
 
+Quote Post
Alfa
сообщение Dec 3 2010, 03:47
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 9-02-06
Из: Челябинск
Пользователь №: 14 160



Проблема решена. были перепутаны tms и tck ноги jtag....
mt-link версии 5.0 работает с контроллерами st32...

Сообщение отредактировал Alfa - Dec 3 2010, 03:49
Go to the top of the page
 
+Quote Post
Serj78
сообщение Dec 4 2010, 11:43
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499



Наткнулся на одну непонятную вещь в таймере общего назначения (2-4) STM32F103.

Работаю с таймером 2. 3-й канал сконфигурирован как вход. Направление счета как up-counter.
Цель- измерять период импульсов на ноге - входе 3-го канала).

3-й канал настроен на Input Cupture, по факту захвата вызывается прерывание. (CC3IE=1)
В обработчике регистр таймера обнуляется, и регистр захвата переписывается в переменную. Все банально.
В идеальных условиях все работает.

Но есть особенность- не понятно, как к этой конфигурации относится ARR ? Опытным путем установлено что его надо устанавливать в 0xFFFF, для полного диапазона измерений.
Предполагаю, что после перезагрузки таймера туда запишется это число?.

Также, после старта программы, таймер должен хоть один раз переполнится до возникновения первого прерывания. Иначе в регистре захвата какие-то числа, не соответствующие периоду возникновения прерываний, сильно превышающие его. (контролирую прерывание, дергая в обработчике ножкой и смотрю осциллографом).

Логика обнаружения этой особенности работы- надо или подавать импульсы на вход после старта программы или включать прерывание через некоторое время после старта программы.

Пока обошел это, поставив включение прерывания по захвату в конец загрузочных операций, чтобы после инициализации таймера проходило времени больше чем период таймера.

Но мне это не нравится. Очевидно, есть какое-то событие, происходящее по переполнению таймера, приводящее к корректной работе. Но какое?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Dec 4 2010, 20:44
Сообщение #10


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Serj78 @ Dec 4 2010, 16:43) *
Очевидно, есть какое-то событие, происходящее по переполнению таймера, приводящее к корректной работе. Но какое?

Это событие называется "update event". По нему ARR и прескалер грузятся из предварительного в теневой регистр. То есть, начинают действовать новые значения. Для генерации update event вручную надо сделать так:
Код
TIM2->EGR |= TIM_EGR_UG;

И ещё совет: не надо каждый раз сбрасывать таймер. Это расточительно (практически таймер занят только под один канал захвата), и к тому же страдает точность (вы теряете тики, прошедшие за время входа в прерывание). Просто запоминайте предыдущее значение регистра захвата, и вычитайте его из вновь захваченного. Это даст длительность импульса. А таймер пусть работает в свободном режиме (от 0 до 0xFFFF).


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Serj78
сообщение Dec 5 2010, 10:08
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499



Цитата(AHTOXA @ Dec 4 2010, 23:44) *
Это событие называется "update event". По нему ARR и прескалер грузятся из предварительного в теневой регистр. То есть, начинают действовать новые значения. Для генерации update event вручную надо сделать так:
Код
TIM2->EGR |= TIM_EGR_UG;

И ещё совет: не надо каждый раз сбрасывать таймер. Это расточительно (практически таймер занят только под один канал захвата), и к тому же страдает точность (вы теряете тики, прошедшие за время входа в прерывание). Просто запоминайте предыдущее значение регистра захвата, и вычитайте его из внования не запрещать ь захваченного. Это даст длительность импульса. А таймер пусть работает в свободном режиме (от 0 до 0xFFFF).


Спасибо! Про то что таймер можно не сбрасывать, я подумал, но извечная привычка экономить переменные и память на них пересилила.. (пока мне нужен только один канал захвата)..

Теперь пытаюсь понять- я что же происходит при старте программы если прерывание разрешено и есть импульсы на входе? ? пробовал смотреть в отладчике содержимое регистров- все работает корректно- значения ARR не меняется.. меняется ли прескалер, вот не посмотрел.. sad.gif ..
При приходе прерывания выполняется обработчик, таймер сбрасывается, потом начинает увеличиваться.. но при приходе следующего импульса значение регистра захвата и самого таймера не 400-500мкс , как ожидалось, а 14-15 тысяч. Величина прескалера- 71, частота счетчика получается 1 Мгц.
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Dec 5 2010, 19:11
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



Нет ли у кого примера по работе с USB-HOST MassStorage для 105й - 107й серии STM32 ?


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Dec 5 2010, 19:54
Сообщение #13


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Их не существует в природе - похоже, что индусы из ST не осилили USB host sad.gif
Даже в комплекте с отладочной платой от ST идут бинарники (!), собранные с использованием платного стека USB.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Ivan Kuznetzov
сообщение Dec 9 2010, 09:44
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798



у ST есть аппноут IAP бутлодера, я его переделал чтобы тот грузил прошивку не по UART, а с SD карты.
Но, бутлодер располагается с адреса 0x08000000, программа с адреса 0x08003000
Чтобы войти в бут - необходимо выключить питание МК и включить снова
Вопрос: можно ли перепрыгнуть на 0x08000000 адрес из основной программы без перезапуска?
Или лучше врубить ватчдог и дождаться пока он сбросит проц?


--------------------
Разработчик
Go to the top of the page
 
+Quote Post
KnightIgor
сообщение Dec 12 2010, 11:57
Сообщение #15


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(Serj78 @ Dec 5 2010, 11:08) *
...пробовал смотреть в отладчике ...
При приходе прерывания выполняется обработчик, таймер сбрасывается, потом начинает увеличиваться.. но при приходе следующего импульса значение регистра захвата и самого таймера не 400-500мкс , как ожидалось, а 14-15 тысяч.


Ключевое слово: "под отладчиком". В STM32F по умолчанию периферия продолжает "тикать" в реальном времени, пока происходит останов под отладчиком или пошаговые прохождения по программе. Чтобы остановить периферию (в твоем случае - Таймер), необходимо установить при инициализации системы нужный бит в узле отладки, что можно сделать либо библиотечной функцией:

Код
DBGMCU_Config (DBGMCU_TIM3_STOP, ENABLE);  // stop timer3 while debugging


либо на "регистровом" уровне программирования:

Код
DBGMCU->CR |= DBGMCU_TIM3_STOP;


Конечно, внешний измеряемый сигнал остановить нельзя, но под отладчиком, по крайней мере, не будет выбега таймера.
Go to the top of the page
 
+Quote Post

33 страниц V   1 2 3 > » 
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th April 2024 - 21:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01543 секунд с 7
ELECTRONIX ©2004-2016