как это вывести через ST-link com порт в среде Ардуино, я не знаю
Заменить среду Ардуино на другую поддерживающую отладку не вариант?
Я только месяц с Ардуино ковыряюсь, и ни разу не программист, если wire еще как-то немного понятен, то поставив Coocox и посмотрев кучу окошек, понял, что я это не скоро освою, меня хватило только откомпилить готовый пример
Как выполняется разгон в ардуино? Путем управления умножителем у меня получалось разгонять STM32F103 до 140 МГц, точно не помню. Дальше начиналась нестабильная работа с появлением ошибки HardFault.
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
Как выполняется разгон в ардуино? Путем управления умножителем у меня получалось разгонять STM32F103 до 140 МГц, точно не помню. Дальше начиналась нестабильная работа с появлением ошибки HardFault.
А ты latency флешу повышаешь? Точно не помню сколько ставил чтоб F103 на 144 MHz работал, наверно 3. У F407 при разгоне до 260 приходится его задирать до 6-ти.
Как выполняется разгон в ардуино? Путем управления умножителем у меня получалось разгонять STM32F103 до 140 МГц, точно не помню. Дальше начиналась нестабильная работа с появлением ошибки HardFault.
А в Ардуино как это сделать? Я бы попробовал максималку для GD найти. Всякие CMSIS для меня слишком сложно.
И заменить RCC_CFGR_PLLMULL9 на на другой параметр с нужным коэффициентом умножения. Допустим если нужно умножить частоту на 16 (8*16=128МГц) то необходимо использовать RCC_CFGR_PLLMULL16.
Другой способ разгона (или замедления) "на лету" с применением библиотеки SPL.
Код:
voidOverclocking(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); // Выбираем источником тактирования умножитель.
И заменить RCC_CFGR_PLLMULL9 на на другой параметр с нужным коэффициентом умножения. Допустим если нужно умножить частоту на 16 (8*16=128МГц) то необходимо использовать RCC_CFGR_PLLMULL16.
Другой способ разгона (или замедления) "на лету" с применением библиотеки SPL.
Код:
voidOverclocking(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); // Выбираем источником тактирования умножитель.
В общем, открыл 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
То есть надо менять кварц на 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
При этом подозрительно ведёт себя USB-UART на СР2102(а может сама плата?) Flash demonstrator обнаруживает плату после нескольких десятков ресетов. Спасибо.
У меня такое было. После подтяжки 100к резисторами RX и TX на 3.3В стало определяться с первого раза.
Что это за маркетинг такой.? "Мама,мама! Я кондуктора обманул, за проезд заплатил, а сам не поехал".
вас же не удивляет, что в китайских stlink стоят камни, у которых в даташите не заявлена поддержка юсб?
режется все с одного кристалла. а то, что подешевле - тестируется только половина памяти, не тестируется незаявленная периферия (типа помянутого юсб) и т.п.
к слову, платки вполне себе кошерные, как за свои деньги, блоха-LDO не смотря на свои размеры вполне себе ENC28J60 тянет, RTC - так и должен долго инититься, грабля CMSIS (дуплит пока частота стабилизируется а надо это делать уже в процессе исполнения кода). ну это если RTC надо. единственный минус - pull-up резистор жестко затянут на +3.3, а надо навешать его на какую-то лапу МК (можно через ключ можно напрямую), чтобы при ресете МК не передергивать юсб шнурок.
еще бы туда китайцы какую-нить EEPROM припаяли, хоть на 128 байт - вообще цены плате не было бы. а так - приходится из внутренней флэши еепром соображать...
Заголовок сообщения: Re: Схема STM32F103 Minimum System Development Board
Добавлено: Сб июн 10, 2017 07:07:33
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2708 Откуда: г. Чайковский
Рейтинг сообщения:0 Медали: 1
NiTr0 писал(а):
вас же не удивляет, что в китайских stlink стоят камни, у которых в даташите не заявлена поддержка юсб?
Свой не разбирал. В инете, схемы которые видел на него, камень stm32f103, в нем есть USB. Опять же можно спросить, а Вас не удивляет что USBASP на Atmegа собран, в которой точно нет USB?
Попробую как-нибудь на досуге, что-нибудь записать в "расширенную" область памяти.
Откуда у Вас такая информация по поводу тестов?
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
В инете, схемы которые видел на него, камень stm32f103, в нем есть USB.
Схемы обычно взяты с оригинального ST-Link, а китайцы ставят 101.
Z_h_e писал(а):
Опять же можно спросить, а Вас не удивляет что USBASP на Atmegа собран, в которой точно нет USB?
Сравнение некорректно. Вот если в ATmega8 залить код скомпилированный для ATmega8U2 и на простой меге заработал аппаратный модуль USB, тогда сравнение было бы корректным.
В ATmega8 по документации нет USB и его эмулируют программно. В STM32F101 по документации нет USB, но в него заливают код от STM32F103 и все работает в т. ч. USB.
Заголовок сообщения: Re: Схема STM32F103 Minimum System Development Board
Добавлено: Сб июн 10, 2017 11:27:22
Собутыльник Кота
Карма: 29
Рейтинг сообщений: 651
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2708 Откуда: г. Чайковский
Рейтинг сообщения:0 Медали: 1
Мурик писал(а):
тогда сравнение было бы корректным
Если бы NiTr0 указал, что прошивка ST-LINK одна и таже для разных камней и она использует именно аппаратный USB, то я бы само собой не приводил бы таких сравнений.
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Схемы обычно взяты с оригинального ST-Link, а китайцы ставят 101
И обычно залитая в них штатная прошивка не работает. То есть работа USB в них реализована не как в 103. У меня такой и обновлять прошивку в нём я не рискую.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения