Страница 3 из 5
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 13:21:06
PreezRack
Мурик писал(а):PreezRack писал(а):как это вывести через ST-link com порт в среде Ардуино, я не знаю
Заменить среду Ардуино на другую поддерживающую отладку не вариант?
Я только месяц с Ардуино ковыряюсь, и ни разу не программист, если wire еще как-то немного понятен, то поставив Coocox и посмотрев кучу окошек, понял, что я это не скоро освою, меня хватило только откомпилить готовый пример

Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 13:23:12
Мурик
ИМХО EmBitz проще для начала.
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 13:26:37
PreezRack
Reflector писал(а):PreezRack писал(а):У GD 120мгц штатка, а разогнать можно вроде и до 200.

108 MHz у него штатка, не 120 и не 128. До скольки разгоняется не знаю, ST-ый работает на 144.
Все верно, но плата на GD позволяет штатный разгон до 120 Мгц(в среде ардуино), а плата на STM32F103x не позволяет.
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 13:35:47
Мурик
Как выполняется разгон в ардуино? Путем управления умножителем у меня получалось разгонять STM32F103 до 140 МГц, точно не помню. Дальше начиналась нестабильная работа с появлением ошибки HardFault.
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 13:49:34
Reflector
Мурик писал(а):Как выполняется разгон в ардуино? Путем управления умножителем у меня получалось разгонять STM32F103 до 140 МГц, точно не помню. Дальше начиналась нестабильная работа с появлением ошибки HardFault.
А ты latency флешу повышаешь? Точно не помню сколько ставил чтоб F103 на 144 MHz работал, наверно 3. У F407 при разгоне до 260 приходится его задирать до 6-ти.
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 13:54:32
Мурик
Не повышал.
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 14:00:29
PreezRack
Мурик писал(а):Как выполняется разгон в ардуино? Путем управления умножителем у меня получалось разгонять STM32F103 до 140 МГц, точно не помню. Дальше начиналась нестабильная работа с появлением ошибки HardFault.
А в Ардуино как это сделать? Я бы попробовал максималку для GD найти. Всякие CMSIS для меня слишком сложно.
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 14:17:05
Мурик
PreezRack писал(а):Всякие CMSIS для меня слишком сложно.
А как насчет HAL и SPL?
Если разгонять по простому то необходимо в файле system_stm32f10x.c в функции SetSysClockTo72 найти строку
Код: Выделить всё
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 |
RCC_CFGR_PLLMULL9);
И заменить RCC_CFGR_PLLMULL9 на на другой параметр с нужным коэффициентом умножения. Допустим если нужно умножить частоту на 16 (8*16=128МГц) то необходимо использовать RCC_CFGR_PLLMULL16.
Другой способ разгона (или замедления) "на лету" с применением библиотеки SPL.
Код: Выделить всё
void Overclocking(void) // Разгон микроконтроллера.
{
RCC_HSICmd(ENABLE); // Включаем внутренний RC генератор.
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI); // Выбираем источником такторования внутренний RC генератор.
RCC_PLLCmd(DISABLE); // Выключаем умножитель.
RCC_PLLConfig(RCC_PLLSource_HSE, RCC_CFGR_PLLMULL12); // На сколько будем умножать частоту.
RCC_PLLCmd(ENABLE); // Включаем умножитель.
while ((RCC->CR & RCC_CR_PLLRDY) == 0); // Ждем запуска умножителя.
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // Выбираем источником тактирования умножитель.
SystemCoreClockUpdate(); // Вычисление тактовой частоты ядра.
}
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 14:49:08
PreezRack
Мурик писал(а):PreezRack писал(а):Всякие CMSIS для меня слишком сложно.
А как насчет HAL и SPL?
Если разгонять по простому то необходимо в файле system_stm32f10x.c в функции SetSysClockTo72 найти строку
Код: Выделить всё
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 |
RCC_CFGR_PLLMULL9);
И заменить RCC_CFGR_PLLMULL9 на на другой параметр с нужным коэффициентом умножения. Допустим если нужно умножить частоту на 16 (8*16=128МГц) то необходимо использовать RCC_CFGR_PLLMULL16.
Другой способ разгона (или замедления) "на лету" с применением библиотеки SPL.
Код: Выделить всё
void Overclocking(void) // Разгон микроконтроллера.
{
RCC_HSICmd(ENABLE); // Включаем внутренний RC генератор.
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI); // Выбираем источником такторования внутренний RC генератор.
RCC_PLLCmd(DISABLE); // Выключаем умножитель.
RCC_PLLConfig(RCC_PLLSource_HSE, RCC_CFGR_PLLMULL12); // На сколько будем умножать частоту.
RCC_PLLCmd(ENABLE); // Включаем умножитель.
while ((RCC->CR & RCC_CR_PLLRDY) == 0); // Ждем запуска умножителя.
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); // Выбираем источником тактирования умножитель.
SystemCoreClockUpdate(); // Вычисление тактовой частоты ядра.
}
Благодарствую, попробую поковыряться!

Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 15:01:54
dosikus
Мурик писал(а):Не повышал.
А делать сие обязательно надо...
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Вт ноя 22, 2016 15:19:36
Z_h_e
Мурик писал(а):По даташиту 64, но реально 128 КБ.
Что это за маркетинг такой.? "Мама,мама! Я кондуктора обманул, за проезд заплатил, а сам не поехал".
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Чт ноя 24, 2016 11:52:54
PreezRack
В общем, открыл board_setup.cpp и обнаружил это -
// Generic GD32 boards seem to have a 12Mhz crystal rather than the 8Mhz common on STM32 boards, hence the PLL multiplier settings are different.
// Additionally the GD32 has a 4 USB PLL divider settings, rather than the 2 settings in the STM32, which allow it to operate on frequencies of 48,72,96 and 120Mhz and still have USB functioning
#ifndef BOARD_RCC_PLLMUL
#if F_CPU==120000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_10
#elif F_CPU==96000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_8
#elif F_CPU==72000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_6
То есть надо менять кварц на 12 мегагерц, но что хорошо в GD32 это то, что при разгоне до 120 мегагерц usb полнофункционален, за счет бОльшего набора делителей.
Я могу добавить строчку?
#ifndef BOARD_RCC_PLLMUL
#if F_CPU==144000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_12
#if F_CPU==120000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_10
#elif F_CPU==96000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_8
#elif F_CPU==72000000
#define BOARD_RCC_PLLMUL RCC_PLLMUL_6
и
rcc_clk_disable(RCC_USB);
#if F_CPU == 144000000
rcc_set_prescaler(RCC_PRESCALER_USB, RCC_USB_SYSCLK_DIV_3);
#if F_CPU == 120000000
rcc_set_prescaler(RCC_PRESCALER_USB, RCC_USB_SYSCLK_DIV_2_5);
#elif F_CPU == 96000000
rcc_set_prescaler(RCC_PRESCALER_USB, RCC_USB_SYSCLK_DIV_2);
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Ср дек 21, 2016 23:31:07
MegaEvil
User_AVR писал(а):
При этом подозрительно ведёт себя USB-UART на СР2102(а может сама плата?) Flash demonstrator обнаруживает плату после нескольких десятков ресетов.
Спасибо.
У меня такое было. После подтяжки 100к резисторами RX и TX на 3.3В стало определяться с первого раза.
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Пт июн 09, 2017 23:35:58
NiTr0
[uquote="Z_h_e",url="/forum/viewtopic.php?p=2926374#p2926374"]
Мурик писал(а):По даташиту 64, но реально 128 КБ.
Что это за маркетинг такой.? "Мама,мама! Я кондуктора обманул, за проезд заплатил, а сам не поехал".[/uquote]
вас же не удивляет, что в китайских stlink стоят камни, у которых в даташите не заявлена поддержка юсб?
режется все с одного кристалла. а то, что подешевле - тестируется только половина памяти, не тестируется незаявленная периферия (типа помянутого юсб) и т.п.
к слову, платки вполне себе кошерные, как за свои деньги, блоха-LDO не смотря на свои размеры вполне себе ENC28J60 тянет, RTC - так и должен долго инититься, грабля CMSIS (дуплит пока частота стабилизируется а надо это делать уже в процессе исполнения кода). ну это если RTC надо. единственный минус - pull-up резистор жестко затянут на +3.3, а надо навешать его на какую-то лапу МК (можно через ключ можно напрямую), чтобы при ресете МК не передергивать юсб шнурок.
еще бы туда китайцы какую-нить EEPROM припаяли, хоть на 128 байт - вообще цены плате не было бы. а так - приходится из внутренней флэши еепром соображать...
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Сб июн 10, 2017 07:07:33
Z_h_e
NiTr0 писал(а):вас же не удивляет, что в китайских stlink стоят камни, у которых в даташите не заявлена поддержка юсб?
Свой не разбирал. В инете, схемы которые видел на него, камень stm32f103, в нем есть USB. Опять же можно спросить, а Вас не удивляет что USBASP на Atmegа собран, в которой точно нет USB?
Попробую как-нибудь на досуге, что-нибудь записать в "расширенную" область памяти.
Откуда у Вас такая информация по поводу тестов?
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Сб июн 10, 2017 08:26:13
Мурик
Z_h_e писал(а):В инете, схемы которые видел на него, камень stm32f103, в нем есть USB.
Схемы обычно взяты с оригинального ST-Link, а китайцы ставят 101.
Z_h_e писал(а):Опять же можно спросить, а Вас не удивляет что USBASP на Atmegа собран, в которой точно нет USB?
Сравнение некорректно. Вот если в ATmega8 залить код скомпилированный для ATmega8
U2 и на простой меге заработал
аппаратный модуль USB, тогда сравнение было бы корректным.
В ATmega8 по документации нет USB и его эмулируют программно. В STM32F101 по документации нет USB, но в него заливают код от STM32F103 и все работает в т. ч. USB.

Re: Схема STM32F103 Minimum System Development Board
Добавлено: Сб июн 10, 2017 11:27:22
Z_h_e
Мурик писал(а): тогда сравнение было бы корректным
Если бы
NiTr0 указал, что прошивка ST-LINK одна и таже для разных камней и она использует именно аппаратный USB, то я бы само собой не приводил бы таких сравнений.
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Сб июн 10, 2017 13:30:55
Serj_K
Мурик писал(а):Схемы обычно взяты с оригинального ST-Link, а китайцы ставят 101
И обычно залитая в них штатная прошивка не работает. То есть работа USB в них реализована не как в 103. У меня такой и обновлять прошивку в нём я не рискую.
Re: Схема STM32F103 Minimum System Development Board
Добавлено: Сб июн 10, 2017 13:42:52
Мурик
Serj_K писал(а):И обычно залитая в них штатная прошивка не работает.
Во сколько STM32F101 заливали штатную прошивку? Каков процент неработоспособности прошивки?
Serj_K писал(а):То есть работа USB в них реализована не как в 103.
А как?
Serj_K писал(а):У меня такой и обновлять прошивку в нём я не рискую.
Ни разу не пробовали обновлять прошивку в ST-Link с STM32F101?
Я во многих обновлял и все работают.

Re: Схема STM32F103 Minimum System Development Board
Добавлено: Пн мар 05, 2018 15:54:28
Varimon
У кого нибудь есть схема на такую отладочную плату STM32F103RET6? В сети поискал что-то не нашел.
Спойлер


Нашел все таки сам
https://github.com/mcauser/BLUE_BUTTON_F103RET6
STM32F103RET6 board подключение к ST LINK v2 по SWD
Спойлер
