Руководство для недооценки и переосмысления, необходимых для синего цвета

Стивестронг
Солнце 08 января 2017 10:32
Дорогие эксперты,

Мне понадобилось бы пошаговое руководство для переоценки и недостатка.
Хотя я нашел здесь и здесь Некоторая соответствующая информация, но это только частично, у меня нет полной картины:
- где изменить часы процессора? Являются ли флэш-государства, участвующие в окончательной рабочей скорости процессора? Как?
- где изменить периферийное устройство (SPI, GPIO?) часы? Связано ли это с изменением часов процессора? Как?
- Могу ли я уменьшить состояние ожидания вспышки (может?
- При каких обстоятельствах (какими комбинациями процессора/периферических часов) USB все еще работает?

Пример:
- Можно ли поднимиться до 48 МГц, уменьшить состояния вспышки (до нуля?), установить SPI на 24/48 МГц ?

Я очень признателен, если бы кто -то мог собрать и опубликовать это (и больше?) информация здесь и/или на вики.

Rogerclark
Солнце 08 января 2017 10:42
@stevestrong,

Смотрите мой другой пост на ваш вопрос.

USB будет только на 72 МГц и 48 МГц (и вам нужно изменить разделитель USB)

Посмотрите GD32 для того, чтобы установить частоту процессора, и все еще иметь тик и т. Д

SPI и т. Д. - это другое дело, так как они являются просто подразделениями основных часов.

Ожидание состояний... Зависит от того, как тяжело вы хотите подтолкнуть. Но я не думаю, что он гарантированно будет работать с меньшим количеством состояний ожидания, чем уже используется на 72 МГц

Стивестронг
Солнце 08 января 2017 11:13
Хорошо, вот что я узнал до сих пор:

Частота PLL CPU настроена в "/variants/[your_board]/wirish/boards_setup.CPP ".
Для BP это https: // github.com/rogerclarkmelbourne/ ... _настраивать.CPP.

Кстати, я думаю, что в строка 74: Разделитель для USB на 48 МГц Основные часы должны быть RCC_USB_SYSCLK_DIV_1, справа?

Ценность F_cpu введен платформа.текст, как параметр сборки Serial.begin(, bool blocking = 1 or 0); // 0 per default

Racemaniac
Солнце 08 января 2017 12:50
Я не знаю, использовали ли вы STM32Cubemx, но если вы этого не сделали, вы должны его скачать :).
Он не только полезен для генерации кода, но и дает отличные обзоры микроконтроллеров. Интерфейс имеет отдельный экран только для всей конфигурации часов микроконтроллера, который вы выбрали, и вы можете поиграть со значениями, и он покажет, где существуют конфликты, но также показывать последствия выбранных вами значений (например, как Периферические часы меняются и т. Д..)
Это значительно облегчает изучение вариантов Over/hooplocking STM32 :). А потом вы также знаете, какой настройка часов вы должны установить для достижения результата, который вы настроили в Cubemx :).

Пито
Солнце 08 января 2017 12:55
Мой 103Zet6 (по умолчанию WS): Запуск эталона Whetstone...
Петли: 1000Therations: 1duration: 20366 Millisec.
C преобразованный двойной точность Whetstones: 4.91 MIPS <<< 72 МГц

Петли: 1000Trations: 1duration: 15250 миллисек.
C конвертировали двойные точность WHETSTONES: 6.56 MIPS <<< 96 МГц

Петли: 1000Trations: 1duration: 12201 Millisec.
C преобразованный двойной точность Whetstones: 8.20 MIPS <<< 120 МГц

Петли: 1000Trations: 1duration: 11438 Millisec.
C преобразованный двойной точность Whetstones: 8.74 MIPS <<< 128 МГц

Христовый тест, версия 2.1 (язык: c) <<< 128 МГц
Запускается исполнение, 300000 пробегает через Dhrystone

Исполнение заканчивается
Микросекунд для одного пробега через Дхристон: 7.28
Дристоны в секунду: 137397.93
Vax mips rating = 78.20

Стивестронг
Солнце 08 января 2017 14:32
Если состояния ожидания вспыхивают, влияют на скорость переключения GPIO?
Потому что я попытался переключить один штифт GPIO в разных состояниях ожидания вспышки (0, 1 и 2) здесь.
Результат: Нет изменений!

Это нормально?
Что я делаю не так?

Пито
Солнце 08 января 2017 16:42
Это может произойти, когда ядро ​​использует кэш или многоэтапный пироптур и ваши переключатели.
Не уверен, что это происходит с 103, однако

Стивестронг
Солнце 08 января 2017 г., 17:24
Я предполагаю, что GPIOS напрямую управляется сердечником процессора, так как я не мог обнаружить какую -либо группу часов, которая должна была управлять выводами GPIO. И до тех пор, пока процессор выполняет инструкции, зависящие от основных часов и состояний ожидания, я ожидаю, что у меня будут разные периоды переключения GPIO для разных состояний ожидания.
Но почему -то моя теория кажется неверной.

Пито
Солнце 08 января 2017 18:34
Интересные картинки
https: // vjordan.Info/Log/FPGA/STM32-BAR ... скорость.HTML

Стивестронг
Солнце 08 января 2017 18:58
Да, это обсуждает переключение в Нет настройки и 2 состояния Flash Wait. Разница составляет около 20%.

Я, я не могу наблюдать какую -либо разницу в поведении между состояниями ожидания 0, 1 и 2, я всегда получаю ~ 12 МГц в процессоре 48 МГц, это моя проблема здесь...
Я сомневаюсь теперь, действительно ли состояния ожидания вспышки, как я ожидаю.

Рик Кимбалл
Солнце 08 января 2017 г., 19:12
Вы действительно должны посмотреть на код ассемблера, который настраивает GPIO, чтобы определить, будет ли он другим.

victor_pv
Солнце 08 января 2017 г., 19:22
Стивестронг написал:Дорогие эксперты,

Мне понадобилось бы пошаговое руководство для переоценки и недостатка.
Хотя я нашел здесь и здесь Некоторая соответствующая информация, но это только частично, у меня нет полной картины:
- где изменить часы процессора? Являются ли флэш-государства, участвующие в окончательной рабочей скорости процессора? Как?
- где изменить периферийное устройство (SPI, GPIO?) часы? Связано ли это с изменением часов процессора? Как?
- Могу ли я уменьшить состояние ожидания вспышки (может?
- При каких обстоятельствах (какими комбинациями процессора/периферических часов) USB все еще работает?

Пример:
- Можно ли поднимиться до 48 МГц, уменьшить состояния вспышки (до нуля?), установить SPI на 24/48 МГц ?

Я очень признателен, если бы кто -то мог собрать и опубликовать это (и больше?) информация здесь и/или на вики.

Стивестронг
Солнце 08 января 2017 г., 19:46
victor_pv написал: На переключающих штифтах на GPIO не влияет состояния ожидания, ни ОЗУ, ни какое -либо другое периферическое, только флаки, но, если код переключал штифт, он может быть медленнее, когда вы добавляете состояния ожидания, но опять же, с помощью вспышки готовы 128Bits одновременно, если это очень плотный петлей, который попадает в 4 инструкции, вы можете получить одну прочитавную вспышку каждые 4 инструкции. С другой стороны, если вы прыгаете назад и вперед, и заставите прочитать Flash 1 для каждых 1 или 2 инструкций, состояния ожидания повлияют на вас.

Rogerclark
Солнце 08 января 2017 8:09 вечера
@stevestrong

Да. Я думаю, что, вероятно, есть ошибка с настройкой разделителя USB на 48 МГц

Это должно быть установлено на div 1

На GD32 я фокусировался на более высоких скоростях и, возможно, не полностью протестировал вариант 48 МГц



Однако я не уверен, будет ли кто -нибудь использовать вариант 48 МГц.

Я сделал несколько тестов на проекте, который должен работать от батареи и сделать время импульса, используя Millis () .

Поэтому я попытался запустить Maple Mini при 48 МГц, чтобы увидеть, меньше текущего потребления, и оно примерно на 1/3 меньше, чем при 72 МГц.

Но это было недостаточно низко для меня, поэтому я в итоге упал вниз до 8 МГц и потерял USB, и это упало на поток примерно на 90%

Следовательно, я пришел к выводу, что вариант 48 МГц, вероятно, никому не будет использоваться, поскольку я не мог видеть никаких преимуществ; Потому что, если доска работает от USB, то сохранение 10MA вряд ли будет важным.

Что, вероятно, более важно, так это разгона, но когда он убивает USB, возможно, было бы лучше иметь функцию, чтобы установить скорость разгона и, возможно, принудительно сбросить USB при возвращении в 72 МГц

В целом, однако, поскольку платы F4 теперь становятся намного дешевле, а ядро ​​F4 от STM будет здесь некоторое время, я надеюсь ;-), Любой, кто хочет более высоких скоростей, будет лучше разгонять доску F4.

Стивестронг
Солнце 08 января 2017 21:34
Rogerclark написал: В целом, однако, поскольку платы F4 теперь становятся намного дешевле, а ядро ​​F4 от STM будет здесь некоторое время, я надеюсь ;-), Любой, кто хочет более высоких скоростей, будет лучше разгонять доску F4.

Martinayotte
Солнце 08 января 2017 21:49
Вы можете удалить пыль на своем F4, просто используя собственное ядро ​​F4 ... ;)

Rogerclark
Солнце 08 января 2017 11:04
Martinayotte написал:Вы можете удалить пыль на своем F4, просто используя собственное ядро ​​F4 ... ;)

Martinayotte
Солнце 08 января 2017 11:21
@Roger, у меня никогда не было проблем с DFU, может быть, это потому, что я на Linux.

Rogerclark
Пн, 09 января 2017 г. 12:25 утра
Мартин

Да. Linux, кажется, работает нормально, но Windows не работает, если вы не используете собственный инструмент GUI от STM и их специальные драйверы.

Martinayotte
Пн, 09 января 2017 1:11
Затем вы должны сделать то, что сделал Рэй год: переключитесь на Linux и забудьте дерьмовую MS Windows ... :ржу не могу:
Я все еще использую Winxp/Winvista/Win7, но внутри виртуальных машин, поэтому, если вам все еще нужны Windows для контрактов консультанта, возможно, это решение может соответствовать вашим потребностям. ;)

Эдогальдо
Пн, 09 января 2017 г. 8:22 утра
Rogerclark написал:[...] и у этой версии нет CLI или принять бинарные файлы (arrrgghhh)

Пито
Пн, 09 января 2017 г. 8:33 утра
Стивестронг написал:..Потому что я попытался переключить один штифт GPIO в разных состояниях ожидания вспышки (0, 1 и 2) здесь.
..

Пито
Пн, 09 января 2017 г. 8:37 утра
F407 - разгона - я делал в прошлом (F4Discovery), но шансы на такой разрыв, как F103 (1.77x) незначительны.
Макс, который я получил, было 210 МГц (1.25x). Надеюсь, у моей дискотеки есть дерьмовый чип 407, а другие работают выше :).
В то же время существует F4xx на уровне 200 МГц. Во втором квартале в этом году это
http: // www.ул.com/en/microcontrollers/s ... TID = SS1951
Должен быть доступен, 400 МГц.

Rogerclark
Пн, 09 января 2017 г. 8:50 утра
Эдогальдо написал:Rogerclark написал:[...] и у этой версии нет CLI или принять бинарные файлы (arrrgghhh)

Rogerclark
Пн, 09 января 2017 г. 10:09
Я обновил ядро ​​и натолкнул изменение, чтобы общий F103C и Maple Mini могли выбрать скорость процессора 72 МГц или 48 МГц, оба из которых все еще поддерживают USB.

Мы могли бы добавить больше вариантов для более высоких тактовых скоростей, но USB перестанет работать, поэтому я не знаю, стоит ли это добавить в ядро ​​/ доски.TXT, поскольку он добавляет еще больше сложности

Я полагаю, мы могли бы добавить больше #ifdef для более высоких скоростей процессора, и если кто -то захочет, им просто нужно изменить свои доски.Файл TXT, но я не знаю, какой множитель RCC PLL стоит добавить E.глин. Я не вижу особого смысла в добавлении настройки на 80 МГц или 88 МГц, так как это не дало бы большого увеличения скорости, так что это должно быть не менее 96 МГц

Стивестронг
Пн, 09 января 2017 г. 10:38 утра
Это была моя первоначальная идея: иметь место, где показано, что делать (пошаговый для манекенов, таких как я), если нужно пережить (/под) часы...
Это делает какое -либо дальнейшее изменение в репо устаревшим, даже больше, потому что тогда загрузка USB не будет функциональной, что вызывает большую головную боль, а затем решение проблем, как вы сказали.
Мы могли бы добавить собранную информацию на страницу вики.

Пито
Пн, 09 января 2017 г., 19:47
Я думаю, что для любителей было бы интересно иметь эти варианты разгона в меню, даже если USB -сериал не будет работать.
Скорость 96, 128.
Вы можете добавить в описание меню "(oclkd, nousb)" или что -то в этом роде.
Q - это то, сколько на самом деле используют USB Serial.

Rogerclark
Пн, 09 января 2017 г., 19:57
@pito

Проблема без USB заключается в том, что для загрузки нет сброса.

Я уверен, что, если разгона с сбросом не работает, в меню я получу всевозможные прямые электронные письма и отчеты об ошибках на GitHub, а также сообщения через YouTube.

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

Пито
Пн, 09 января 2017 г. 20:42
Проблема без USB заключается в том, что для загрузки нет сброса. Да, я тоже заметил - я хотел снять видео Utube по этому вопросу, но потом я вытащил/в USB -плате :ржу не могу:

Rogerclark
Пн, 09 января 2017 г. 20:48
Пито написал:Проблема без USB заключается в том, что для загрузки нет сброса. Да, я тоже заметил - я хотел снять видео Utube по этому вопросу, но потом я вытащил/в USB -плате :ржу не могу:

victor_pv
Пн, 09 января 2017 г., 21:38
Rogerclark написал: Таким образом, это безопаснее сделать, как предложил @stevstrong, и документировать, как разгонять, но не помещать его в меню, где могут выбрать неопытные пользователи, что делает их систему не функциональной.

Стивестронг
Ср 11 января 2017 г. 22:55
Ребята, у меня здесь странное поведение.
Я следую руководству, чтобы установить процессор на 80 МГц, Только используя разные настройки в досках.TXT, перезагружая IDE каждый раз, имея правильные множители для RCC begin(115200, 1);

Rogerclark
Ср 11 января 2017 г. 11:11
@stevstrong

Я думаю, тебе нужно проверить скорость каким -то другим способом, е.глин. Переключить GPIO в цикле или, возможно, запустите тест Dhrystone, чтобы подтвердить тактовую частоту процессора.

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

Стивестронг
Ср 11 января 2017 г. 11:22
Итак, частота процессора, кажется, единственный набор, бит -переключатель, проверенный с помощью области.
Частота SPI не. Самое смешное, что это сработало, прежде чем я попытался играть с состояниями флэш -ожидания.. таблетка устала?

Стивестронг
Ср 11 января 2017 г. 11:40
Хорошо, это я...
Я только забыл изменить частоту в SPI.начало транзакции () часть...
Так что мне лучше пойти спать сейчас, прежде чем я «изобрел» некоторые другие не существующие проблемы с самоогенерированными...

Пито
Чт 12 января 2017 г. 8:33 утра
Да, мой 103zet6 работал несколько дней 128 МГц штраф. Даже из Exram.
При изменении F_CPU часы SPI должны измениться, когда настройки SPI эскиза остаются нетронутыми.
Изумся, 36 МГц SPI уже "разгона". Таким образом, 64 МГц SPI с 128 МГц f_cpu, скорее всего, не будет работать - попробуйте.

Стивестронг
Чт 12 января 2017 12:40
36 МГц SPI_1 - это «нормальный», и он работает. Пито написал:Таким образом, 64 МГц SPI с 128 МГц f_cpu, скорее всего, не будет работать - попробуйте.

Пито
Чт 12 января 2017 г. 13:04
Фантастика :!: :!: :!:
Теперь, как заставить мою sdcard следовать :)

Racemaniac
Чт 12 января 2017 г. 14:17
Пито написал:Фантастика :!: :!: :!:
Теперь, как заставить мою sdcard следовать :)

Пито
Чт 12 января 2017 г. 20:21
Нет, в прошлом кнопка сброса решила все проблемы.. :)
Да, я тоже помню эту кнопку, не уверен, что моя SDCard делает..

Несколько месяцев назад у меня была хорошая дискуссия с Билгом (автором SDFAT), и я подтолкнул его представить команду cmd6 (переключение высокоскоростного режима) для новых SDCards (например, CL10, UHS-I), но в конце концов он Решил не делать, поскольку карты могут работать 50 МГц без CMD6 (кроме того, мы не видели, чтобы CMD6 действительно включался). Он также утверждал, что кто -то управлял SDCARD на 80 МГц с ESP8266..
Таким образом, мы должны уточнить, 64 МГц SPI с SDCARD может быть приятно иметь :)

1 PIN -коммуникация