Список ядер в настоящее время доступен

Rogerclark
Пт, 8 мая 2015 г., 4:46 утра
Arduino STM32
https: // github.com/rogerclarkmelbourne/arduino_stm32

Это основное репо, которое люди на этом сайте используют. Однако это всего лишь один из различных «ядер», которые позволяют Arduino IDE компилировать для STM32.

Преимущества
  • Работает с Maple Mini, включая совместимость с загрузчиком Maple / USB
  • Работает с IDE 1.6.3 +
  • Имеет долгую историю, и большинство ошибок были разобрались.
Недостатки
  • Оригинальный код был написан примерно в 2011 году и не использует собственные стандартные заголовки STM и стандартную периферийную библиотеку. Это означает добавление новых аппаратных функций e.глин. Может ли автобус или i2s сложнее, так как их нужно кодировать с нуля. (Собственный код STM не был доступен для F103 до начала 2015 года)
  • Труднее переносить в другие процессоры, такие как STM32F4, потому что весь код должен быть написан, а не способен использовать код, написанный STM


Arduino STM32 является производным либмапла (https: // github.com/lefflabs/libmaple), который был впервые разработан Leaflabs для их Maple и Maple Mini Boards. Libmaple был написан в 2012 году и поддерживает только API Arduino 0022 (Pre Arduino 1.0).

Libmaple и, следовательно, Arduino STM32 поддерживают только серию процессоров STM32F103, однако различные другие группы создают модифицированные версии, в том числе команда Aeroquad, которая сделала порт первоначального либмапла для процессора STM32F4
Это порт Либмапл, который находится в репозиции Arduino STM32

В Libmaple было много других портов / обновлений, но, насколько я знаю, Arduino STM32 - единственный, который активен в это время и поддерживает Arduino 1.0 API

MakerLabme

https: // github.com/makerlabme/stm32_arduino_cores

Похоже, что это полностью независимая реализация ядра STM32 для Arduino IDE.
Я пытался связаться с автором в декабре 2014 года, но не получил ответа.
Но в этом репо, похоже, есть недавняя работа.

Этот код, похоже, использует код из Arm Holdings, а не код из STM.
Лицензия на эти файлы неясна

Одним из преимуществ, которое я вижу, является то, что, возможно, ядро ​​F4 обеспечивает Arduino 1.0 Поддержка API


К сожалению, похоже, что последняя загрузка нацелена на Arduino 1.5.8, и единственные доски STM32F103, которые перечислены, производятся MakerLabme

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


Кодуино

https: // github.com/avikde/koduino

Кодуиндо написан Авиком де. Это еще одно независимое ядро, но вызывает некоторые идеи из Libmaple.

Преимущества
  • Использует заголовки и код C от самих STM (CMSIS и Периферийные либерации STD)
  • Должно быть легче переносить в другие процессоры STM32 и добавлять новое оборудование E, G, CAN, I2S и т. Д
Недостатки
  • В настоящее время поддерживает только одну пользовательскую плату STM32F103, построенная Avil
  • API не кажется абсолютно стандартным (см. Ниже о проблемах компиляции)

Я попытался создать некоторые стандартные примеры наброски с использованием Koduino, однако я нашел ряд проблем, и многие вещи не компилируются из -за небольших различий в API, которые использует Кодуино и API Arduino, это, кажется, в основном, это в основном быть типами споров, но на данный момент дела вроде

DigitalWrite (PA0,!DigitalRead (PA0));

не компилируется

Обновлено в июне 2017 года

STM Core Boards
https: // github.com/stm32duino

STM произвел Arduino Core, которое теперь поддерживает несколько MCU в семействе продуктов STM32.

Видеть https: // github.com/stm32duino/arduino_core_stm32

Ядро основано на STM HAL и может быть установлено либо с использованием файлов из GitHub, либо через пакет Manager Boards Manager


Преимущества
  • Использует STM HAL, поэтому он должен переносить в большинство MCU STM32
  • Использует STM HAL, поэтому добавление библиотек для продвинутых функций, таких как SDIO, должно быть проще, чем писать с нуля
  • Построенный профессиональными разработчиками (Wi6labs), против последней спецификации Arduino
Недостатки
  • Вероятно, использует больше RAM и Flash, чем ядра без HAL (я.E намного больше, чем Libmaple)
  • Недоступно для досок GD32 из -за лицензии на использование на STM HAL (хотя может работать на практике)

STM32 Generic от @danieleff

https: // github.com/danieleff/stm32generic
Общая реализация Arduino для плат STM32 Это ядро ​​также использует STM HAL, но структура и архитектура ядра отличается от реализации STM.

Rogerclark
Пт, 8 мая 2015 г., 6:29
Ребята,

Чтобы сохранить неприятности, я загрузил zip -файл из репо MakerLabme и практически ничего не собирает :-(

Открытие F407, на которое я заинтересовался, не компилируется, но не большинство других досок в их списке. Ну, если компиляция, они, кажется, получают предупреждения линкера, которые мне не нравится :-(

КСТАТИ. Похоже, он работает только на Windows, нет инструментов загрузки или сценариев для других платформ...
Я должен добавить это как преимущество для моего репо ;-)

Редактировать.
Я попытался решить проблемы, которые заставляли F407 не компилировать, но даже после того, как я избавился от ошибок компиляции, были некоторые тревожные предупреждения.

Я добавил код для загрузки через STLINK (из Arduino STM32 Repo), и сумел загрузить, но удивление даже GPIO, похоже, не работает.

У них, кажется, нет пин -номер определяет E.глин. PD12 не был определен.
В их варианте.CPP выглядит так, как будто он сопоставлен с «PIN» 4, но, похоже, не приведет к тому, что светодиод на моей плате прикреплен к PD12, чтобы что -то сделать

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

Drakelive
Пт, 05 июня 2015 12:51
Привет

Вещи очень интересны.

Мне нужна информация. Почему бы не использовать Cubemx Core, предлагаемое ST? Их пакеты содержат все необходимое для этого оборудования.
Мне бы очень хотелось, чтобы наш основной поддерживал основное ядро ​​и обнаружение основных досок ST:

Доски ---> MCU
------------------------------------------------
Nucleo-F103RB ---> STM32F103RB
Nucleo-F401re ---> STM32F401RE
Nucleo-F411RE ---> STM32F411RE
Discovery-32F401C ---> STM32F401VC
Discovery-32F411E ---> STM32F411VE
Discovery-32F429i ---> STM32F429ZI
Discovery-STM32F4 ---> STM32F407VG

К сожалению, я не знаю механизмов достижения уровня совместимости Arduino, но я, безусловно, могу изучить.



Дрейк

Sheepdoll
Пт, 05 июня 2015 г., 17:39
Drakelive написал:Привет

... Почему бы не использовать Cubemx Core, предлагаемое ST? ...
Дрейк

Rogerclark
Пт, 05 июня 2015 г., 21:18
Дрейк

Я думаю, вы должны посмотреть на репо Авик де под названием Koduno. Он использует файлы STMCube для своего ядра.

Однако, просмотрев все доступные в настоящее время ядра, я не думаю, что использование STMCube является особенно простым способом достижения поддержки с несколькими процессорами.

Как сказал @sheepdoll... Файлы, созданные STMCube, технически велики, но то, что он вывод, по -видимому, предназначен для компиляции в одно целевое решение.

Когда вы меняете настройки E.глин. переходить с F103CB на. F103RB, STMCube, по -видимому, выводит полностью отдельные наборы заголовков.

С Koduino я попытался добавить поддержку F103CB, но было трудно включить правильные заголовки, хотя я знаю, что Avik намеревался Koduino поддержать несколько процессоров.

Возможно, когда Авик закончил свою докторскую степень, у него будет время документировать именно то, как добавить процессоры в Кодуино, используя файлы из STMCube

Drakelive
Пн, 08 июня 2015 12:04
Привет, Рогеркларк

Несколько недель назад я посмотрел на Cubemx, чтобы использовать свои доски Nucleo. Я помню, что есть FALGS, чтобы генерировать вывод с отдельными заголовками.
Но Cubemx Использование пакетов для конкретного семейства MCU (F1, F3, F4) и добавляет поддержку аппаратных устройств, инициализирует PIN -код и настраивает всю часть часов, которые позволил пользователь (опустите часть энергосбережения на данный момент ).

Теоретически не должно быть так сложно извлекать файлы из пакета ST. Работа с исходными ST -файлами позволяет нам всегда иметь последние обновленные версии, и это хорошо.

Я думаю, это лучший способ.


Доктор.

Mrburnette
Пн июня 08, 2015 12:36
Работа с исходными ST -файлами позволяет нам всегда иметь последние обновленные версии, и это хорошо. @Drk.

Я работаю с Cypress PSOC, и их система сборки «подключена» для обновлений. Для некоммерческого или даже лабораторного использования это хорошая функция, чтобы гарантировать, что все системы обновляются, и все классы компонентов имеют последнюю VHDL.

Тем не менее, на мельнице корпоративного кода SDLC потребует идентифицировать палку в песке, и все разработки за пределами этой точки были на наборе инструментов, которые являются идентичными; Автоматическое обновление может быть катастрофическим. Где -то кто -то на корпоративной лестнице должен быть привратником для инструментов; Их работа, работа с командой разработчиков - это анализировать проблемы и инструменты «исправления» и общее влияние на проект. Команда Freak-Fix для приложения (не разработка) должна рассматривать долгосрочные версии инструментов и последствия для договорных требований для поддержания приложения, как только оно пойдет на рынок. Команда Break-Fix также является вероятной (но не всегда) группой, которая будет иметь дело с улучшениями приложений в будущем; Таким образом, версии инструментов и время для введения падают на их плечи, если не обнаружится дефект разработки, что обновление инструмента «исправить».

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

Луча

Drakelive
Пн июня 08, 2015 13:56
Привет


@Ray

Да, ты прав ...... Я, наверное, был слишком поспешно в письменной форме.
Я имел в виду, что перед лицом официальных выпусков может потребоваться время для обновления. Я не имел в виду, что это автоматически.
Но с небольшим временем и с помощью сообщества, я думаю, что это возможно.

Что ты об этом думаешь?

Drakelive
Пн июня 08, 2015, 14:14
Привет

Я попытался сделать тест с cubemx. Я создал проект под названием TEST_F401, основанный на Nucleo-F401RE
Я включил следующие параметры:

1) Инаализация всего IP с помощью режима по умолчанию
2) Digtal ввод/вывод
3) IDE на инструментальных инструментах ---> SW4STM32
4) Генератор кода --> «Скопировать все использованные библиотеки в папку проекта»
--> "Генерировать периферическую инициализацию как пара .C/.H файлы на IP

Я создал пакет; Следующие файлы были просто скопированы из пакета Cubemx без применения изменений...

...\ Test_f401 \ drivers \ cmsis \ device \...
...\ Test_f401 \ drivers \ cmsis \ dsp_lib \...
...\ Test_f401 \ Drivers \ cmsis \ include \...
...\ Test_f401 \ drivers \ cmsis \ rtos \...
...\ Test_f401 \ Drivers \ STM32F4XX_HAL_DRIVE \...


Единственная разница в:

...\ Test_f401 \ inc \STM32F4XX_HAL_CONF.час
...\ Test_f401 \ inc \STM32F4XX_IT.час

...\ Test_f401 \ src \основной.в
...\ Test_f401 \ src \STM32F4XX_HAL_MSP.в
...\ Test_f401 \ src \STM32F4XX_IT.в

...\ Test_f401 \ sw4stm32 \ test_f401 Конфигурация \.cProject
...\ Test_f401 \ sw4stm32 \ test_f401 Конфигурация \.проект
...\ Test_f401 \ sw4stm32 \ test_f401 Конфигурация \STM32F401RETX_FLASH.лд

...\ Test_f401 \ sw4stm32 \Syscalls.в

...\ Test_f401 \.MxProject
...\ Test_f401 \Test_f401.МОК


Доктор

Mrburnette
Пн июня 08, 2015, 16:53
Drakelive написал:<..>
Я имел в виду, что перед лицом официальных выпусков может потребоваться время для обновления. Я не имел в виду, что это автоматически.
Но с небольшим временем и с помощью сообщества, я думаю, что это возможно.

Что ты об этом думаешь?

Rogerclark
Пн июня 08, 2015, 22:26
Привет, Дрейк

Я согласен, что STMCube теперь дает нам файлы HAL для использования.

Я не уверен, что это обсуждалось в этой теме, но поддержка F103 в STM32Cube является недавним дополнением за последний месяц или два, до этого мы не могли использовать STMS HAL из -за ее ограничительной лицензии

В любом случае.

Я не уверен, что вы предлагаете.

Вы имеете в виду, что мы должны вручную создавать проекты для поддерживаемых устройств и вывести файлы из STM32Cube?

Есть 12 типов процессоров F103, на которые мы в настоящее время нацелены. Я не уверен, что STM32Cube генерирует разные файлы для каждого варианта, E.глин. Даже если единственной разницей был размер вспышки

Можете ли вы попробовать вывести F103C8 и F103CB и посмотреть, сколько файлов отличается (я.E разные контенты и или разные имена)

Тогда будет ли следующий шаг, чтобы включить код для всех вариантов в репо ?

Я не уверен, как мы переключались с варианта на вариант в IDE. Я не думаю, что исполнительный директор IDE - это что -либо при переключении параметров меню.

Единственное, что он делает, что было бы полезно в этом случае, это изменить используемую папку варианта. Поэтому я полагаю, что код STM32Cube может быть помещен в папки варианта

Конечно, нам также нужно было бы внести некоторые серьезные изменения в код в Libmaple и удалить весь прямой доступ к оборудованию, потому что в настоящее время Libmaple пытается действовать как HAL (но Afik он никогда не справлялся с этим - следовательно Порты F3 и F4 в конечном итоге не пытались сохранить поддержку F1)

Нам также нужно будет переместить некоторый код в настоящее время в Libmaple в варианты, E.глин. Все векторные таблицы находятся в Libmaple, а не в своих соответствующих папках, потому что на данный момент все векторные таблицы будут одинаковыми, и, следовательно, кошмар поддержки, если бы было несколько копий.

Кроме того, я думаю, что во многих файлах Libmaple есть много предположений о количестве таймеров. В текущем коде он используется #ifdefs для обработки, например, например, сколько обратных вызовов таймера необходимо, но все это должно быть изменено, чтобы поддержать F4, либо, возможно, вся структура изменилась для использования кода STM HAL, сгенерированного Cube.

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

Я бы порекомендовал вам посмотреть на ядра Kudiono и MakerLabme, чтобы увидеть, будет ли кто -нибудь из них легче обновить на STM32Cube. Я знаю, что Кудуино уже использует файлы STM32Cube, а Авик говорит, что у него есть версия для F4, но он еще не сделал эти файлы в своем репо, так как он слишком занят.
MakerLabme также имеет порт F4, но он не компилируется, и я сказал мне, что у него нет планов по исправлению, поскольку он делает другие вещи.

Большая проблема с Кудионо и MakerLabme заключается в том, что они оба неизвестны. я.e Мы не знаем, какие проблемы с их структурой или операцией.
Ни один не имеет USB -серийной поддержки E.G для использования с загрузчиком.

Libmaple - это «дьявол, которого мы знаем»

Mrburnette
Втюд 09 июня 2015 12:03
Libmaple - это «дьявол, которого мы знаем» Это все так плохо - ИМО.

Сейчас ужасное время, чтобы заново изобрести колес.

Как (в отставке) ИТ -архитектор, всегда есть ничья для нового, лучшего, быстрее; Но реальность должна включать Delta-T, чтобы сделать переход. Решение существует, любой из нас может искать его. Мы также могли бы перейти к Visual Studio или прыгнуть в командную строку и Makefiles (есть полная поддержка для Arduino Bare-Metal Arduino.)

Но, Мы начали эти усилия, чтобы поддержать STM32 через Arduino 1.5.x gui и я думаю, что большинство здесь бегут 1.6.3 или более. Я хотел бы увидеть параллельное усилие/побочный пункт, сбрасывая текущее ядро ​​и внедрение BIOS.

Есть, ИМО, законная необходимость продолжать взломать Libmaple, поскольку он удовлетворяет непосредственной потребности. 6 Монг с этого момента мы, возможно, потеряли интерес к STM32 и перешли на более зеленые пастбища. Таким образом, хотя интерес отличный, а необходимость немедленная, я говорю, что позвольте двигаться вперед с текущим инженерным дизайном.

Технология завтра может сделать это усилие скучным; Но давайте оставим эти усилия в гораздо лучшем состоянии, чем мы нашли! Другие, приходящие позади нас, выиграют от нашей настойчивости.

Луча

Rogerclark
Вт, 09 июня 2015 12:20 утра
Привет, Рэй,

Я думаю, возможно, мне следовало сказать: «Лучше, дьявол, ты знаешь»

я.Э это то, что я имел в виду, я.E Libmaple не идеален, но и что -то еще

Я думаю, что единственное, что стоит сделать для парней F4, - это дублировать код F1 и заменить конкретный код низкого уровня F1 на код низкого уровня F4.

Я думаю, что это было бы гораздо проще, чем попытка повторно информировать все это с нуля, чтобы использовать другой HAL

Куб STM32 по -прежнему полезен, как я могу дать код для таких вещей, как SDIO на более крупных чипах E.глин. F103ret или лучше, но я не планировал заменить Libmaple на Teh STM32 HAL, я просто собирался извлечь код низкого уровня и вставить в новые функции в Libmaple

Mrburnette
Вт. 09 июня 2015 г. 12:36 утра
Rogerclark написал: <...>
Куб STM32 по -прежнему полезен, как я могу дать код для таких вещей, как SDIO на более крупных чипах E.глин. F103ret или лучше, но я не планировал заменить Libmaple на Teh STM32 HAL, я просто собирался извлечь код низкого уровня и вставить в новые функции в Libmaple

Rogerclark
Вт. 09 июня 2015 12:43
Луча

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

В трубопроводе все еще есть множество вещей, которые необходимо действовать, e.глин. Рикс исправить для предупреждений из -за __always_line определение макрос столкновения с __always_inline gcc внутреннее имя

Но я пытался сначала сделать самые важные вещи, которые включают в себя сортировку ISRS.S Проблемы с аппаратными таймерами и получение линии выбора чипа, работая на PA4 (NSS) и т. Д

Беспокойство о других вещах-это долгий путь в моем списке, но я знаю, что некоторые люди, кажется, предварительно заняты желанием использовать STM32Cube, так как теоретически, используя STM HAL, звучит отличная идея, но на практике я думаю, что это другая банка неизвестного черви !

Sheepdoll
Вт, 09 июня 2015 г., 1:52
Rogerclark написал: Беспокойство о других вещах-это долгий путь в моем списке, но я знаю, что некоторые люди, кажется, предварительно заняты желанием использовать STM32Cube, так как теоретически, используя STM HAL, звучит отличная идея, но на практике я думаю, что это другая банка неизвестного черви !

Mrburnette
Вт, 09 июня 2015 12:48
Я чувствую себя немного неуместно, будучи здесь только несколько недель. Ах, ты вписываешься прямо в!

Луча

Drakelive
Ср 10 июня 2015 г., 10:49
Всем привет

Только сейчас я могу написать несколько слов. Я, наверное, увлекся энтузиазмом, и я, вероятно, не очень хорошо выразил свою общую точку зрения.
Хорошо, я пытаюсь сделать это сейчас.
На мгновение мы забываем Cubemx.
Здесь мы говорим о «Arduino для STM32», а затем «ядро», которое должно позволить нам запланировать MCU STM32, используя Arduino IDE. (Это правильно?)
Это «ядро» должно быть установлено в Arduino IDE (просто), позволяя нам использовать классический синтаксис и код C Arduino.
Обычно Arduino IDE размышляет о спецификациях совета директоров: Selezioando Плата автоматически мы все определяем и все характеристики для нее.
Мы можем начать с этого подхода. Мы добавляем поддержку в доску Nucleo и Discovery:
...
Ядро-STM32F1XXXXXXXX
Nucle-STM32F4XXXXXXXX
.....
Discovery-Stm32f1xxxxxxxx
Discovery-STM32F4XXXXXXXX
....

Мы можем добавить поддержку для пользовательского BORAD Dulle MCU:
...
"Generic STM32F1XXXXXXXX"
"Generic STM32F4XXXXXXXX"
...

Теперь вопрос cubemx.

Когда "Arduino для STM32" будет готова и работает, я не буду использовать Cubemx, чтобы написать мой эскиз. Все должно быть прозрачным.
У Cubemx есть все официальные пакеты ST MCU, которые позволяют нам иметь определения отображения PIN -кода, интерьера устройства и всех функций, готовых к использованию. Теперь я не знаю, действительно ли эти файлы усложняют жизнь, но я, конечно, могу нам помочь. Очевидно, что мы должны использовать обязательные пакеты Cubemx, но я боюсь, что в будущем может стать стандартом. Тем не менее, этот аргумент должен решить вместе здесь, на форуме.


Доктор

Mrburnette
Ср 10 июня 2015 г. 13:34
Drakelive написал: <...>
Теперь вопрос cubemx.

Когда "Arduino для STM32" будет готова и работает, я не буду использовать Cubemx, чтобы написать мой эскиз. Все должно быть прозрачным.
У Cubemx есть все официальные пакеты ST MCU, которые позволяют нам иметь определения отображения PIN -кода, интерьера устройства и всех функций, готовых к использованию. Теперь я не знаю, действительно ли эти файлы усложняют жизнь, но я, конечно, могу нам помочь. Очевидно, что мы должны использовать обязательные пакеты Cubemx, но я боюсь, что в будущем может стать стандартом. Тем не менее, этот аргумент должен решить вместе здесь, на форуме.
Доктор

Rogerclark
Ср 10 июня 2015 г., 22:08
Я думаю, что люди недооценивают, насколько сложно написать ядро, чтобы поддержать API Arduino.

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

Я свяжусь с Авиком и попрошу его опубликовать свои файлы F4 в его репо, чтобы все пользователи F4 здесь могли попробовать другое ядро. я.e Тот, который использует куб.

КСТАТИ. @sheepdoll разместил в другую ветку F4 о кубе, и из того, что я понимаю, могут возникнуть проблемы с лицензированием в сценариях ликера, которые он генерирует.
Хотя @sheepdoll, возможно, также имел в виду Workbench OpenStM32, и я не уверен, где он получает свои файлы.

Sheepdoll
Ср 10 июня 2015 г., 11:12
Rogerclark написал:
КСТАТИ. @sheepdoll разместил в другую ветку F4 о кубе, и из того, что я понимаю, могут возникнуть проблемы с лицензированием в сценариях ликера, которые он генерирует.
Хотя @sheepdoll, возможно, также имел в виду Workbench OpenStM32, и я не уверен, где он получает свои файлы.

Rogerclark
Ср 10 июня 2015 г. 11:24
@sheepdoll

Спасибо за разъяснение.

Re: Koduino

ХОРОШО.
Я пытался создать вариант F103 для Koduino некоторое время назад, но увязли, с которым заголовки, от куба, должны были быть включены, где и в конце концов через 3 или 4 часа я сдался, когда я никуда не получал :-(

Авик утверждает, что имеет F4 версию Koduino Work, но не выдвинул свой код. Но поскольку в настоящее время Koduino работает только на собственной плате F3 Aviks, нет никакого способа оценить даже его самые основные операции.

Я придумываю Авика, чтобы подтолкнуть любой код F4, который у него есть, даже если он только частично работает

Редактировать. Похоже, он продвинул доску F4 на прошлой неделе

Я буду тянуть и проверить

Sheepdoll
Чт 11 июня 2015 г., 4:45 утра
Я только что провел последний час или около того, играя с Кодуино.

Что я вижу после получения Cubemx для компиляции, так это то, что для реализации 401 Nucleo будет много работы. Авик, кажется, пытается сделать один размер подходит всем. Много файлов было перемещено с дерева, которое генерирует куб. Документы говорят не делать этого. То, как у меня есть его, - это указать Cubemx в папку варианта. Cubemx предоставляет логику, чтобы дать IDE то, что ей нужно.

Многие заглушки Koduino F4 просто вырезаны и вставьте из F3. Основная библиотека, похоже, будет получена из клена, поэтому в HAL все еще много структур низкого уровня, а не обратные вызовы в HAL. Не копался слишком глубоко.

Я посмотрел на некоторые из ардуино.CC Core. Это может быть лучшей отправной точкой для работы с. Ничего из этого не будет красивым.

Rogerclark
Чт 11 июня 2015 г., 4:52 утра
@sheedoll
Много файлов было перемещено с дерева, которое генерирует куб. Ах...

Это много объясняет.

Я предполагал, что я мог просто скопировать папки, сгенерированные кубом в папку варианта, и в гостях это.

Но, конечно, это не.

Интересно, почему Авик решил начать реструктуризацию папок. Я предполагаю, что ему также пришлось изменить некоторые из заголовков, чтобы они включили с правильного пути, или, возможно, ему удалось справиться с этим, используя директивы «Включить в командную строку».



Может случиться так, что гляние папки Arduino Sam может быть одной линией атаки, но, вероятно, стоит связаться с Avik, потому что я понимаю, что я понимаю, он оценил Libmaple, и Makerlabme и несколько других ядер, прежде чем решить это снова с нуля.
Так что, я думаю, у него есть логические причины делать то, что на первый взгляд кажется плохой идеей (я.e Реструктуризация вывода из куба)

Sheepdoll
Чт 11 июня 2015 г., 5:30 утра
Rogerclark написал:
Я предполагал, что я мог просто скопировать папки, сгенерированные кубом в папку варианта, и в гостях это.

Rogerclark
Чт 11 июня 2015 г., 6:02
Re: Cubemx

Ах.. Снова.. Это не то, с чем я знаком.

Я скачал STM32Cube и получил из него экспортируемые файлы, но это обо всех.

Другой Dev Env, который я пытался для STM32, некоторое время назад,-это Coocox, которая, кажется, имеет свою собственную систему HAL типа, которая очень похожа на Cube HAL, но я подозреваю, что предварительно датируется STM32Cube, так как была поддержка F103 в Coocox в течение довольно долгого времени я.E до того, как F103 станет частью STM32Cube.
Следовательно, я подозреваю, что лицензия на файлы coocox будет проблематичной - не то, что я думаю, что стоит попытаться использовать их файлы.

Есть также их: блоки, но я только очень кратко смотрел на это и не получил так далеко, даже как составление программы мигания, поэтому я понятия не имею, какие файлы они используют


Re: Poison Pill

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

Однако я задавал вопросы о лицензии на старых файлах HAL (на форуме сообщества STM32) и не получил ответа, так как STM, кажется, только укомплектован BBS с техническими людьми («Клайв»), а не с кем -либо, кто знает о лицензиях

Однако у вас есть что -то вроде преимущества, так как я думаю, что в Беркли есть офис STM ? Я заметил рекламу «евангелиста» некоторое время в прошлом году, когда я искал кого -то, с кем мог бы связаться. Таким образом, вы можете получить некоторую информацию от местного представителя, которую вы не получите от STM Central (Китай)

Rogerclark
Солнце 21 июня 2015 г. 11:34
Ребята,

Я наткнулся на недавнюю публикацию на старом форуме Leaflabs, ссылаясь на то, что активное развитие Libmaple теперь происходит под проектом Rambutan

https: // github.com/rambutan32/librambutan

http: // rambutan.cc/

http: // форумы.Рамбутан.cc/


Похоже, что недавние модификации происходят в этом репо, но с марта этого года нет занятий на этом форуме.

Это просто похоже на один парень, Брайан Ньюболд, который работает с этим. Поэтому я думаю, что могу связаться с ним, потому что я сомневаюсь, что это стоит его усилий, чтобы передать то, что мы уже в основном сделали, и если он хочет использовать CMSIS или HAL, тогда ему будет лучше взглянуть на то, что есть @sheepdoll сделанный.

Рик Кимбалл
Солнце 21 июня 2015 г., 13:55
Похоже, он не заинтересован в Arduino, используя протирку. Вы можете прочитать его пост в дорожной карте на его форумах. http: // форумы.Рамбутан.CC/T/Roadmap и Priorities/56 Он не очень любит загрузчики или USB -сериал :)

-рик

Rogerclark
Солнце 21 июня 2015 г., 21:12
Рик,

Я прочитал «дорожную карту», ​​но это не имело большого смысла.

Если он не суетится в отношении API Arduino, то Libmaple не является хорошей отправной точкой.

Не использовать нативный USB на STM32, кажется немного странным. STM предоставьте свой собственный USB -код, если ему не нравится то, что написал Leaflabs.

КСТАТИ.
Re: Bootloader
Похоже, что парня (ы) Blacksphere написал свой собственный загрузчик DFU с использованием LiboPencm3.

Если у меня появится шанс, я сделаю это, чтобы снять его, чтобы увидеть, лучше ли это, чем модифицированный загрузчик Maple Bootloader.
Но как бы я ни видел, это не меньше, и я сомневаюсь, что это быстрее (так как большая часть времени загрузки, по -видимому, является задержкой, в то время как STM32 стирает страницы Flash)

victor_pv
Пн 27 июля 2015 г. 14:42
Вчера смотрит на что -то в SeedStudio, я обнаружил, что у них есть еще одно ядро ​​для MCUS STM32.
У них есть эта доска под названием UF0, которая имеет Cortex M0 STM32F051.
Их основные библиотеки здесь:
https: // github.com/bestu/stm32_for_arduino_bsp

У меня был быстрый взгляд, и, кажется, они использовали CMSIS и стандартную периферийную библиотеку.

Тогда есть MakerLab.мне ядро, которое я не помню, если он был связан здесь раньше, так что на всякий случай:
https: // github.com/makerlabme/stm32_arduino_cores

Насколько я вижу, он предназначен для F103 и F4XX, опять же на основе CMSIS и периферийной библиотеки STD, по -видимому, по -видимому.
Ядро было обновлено около 3 месяцев назад, но, похоже, в то время как они добавили поддержку менеджера совета директоров, и это было обновлено недавно:
https: // github.com/makerlabme/stm32_arduino_board_index

Публиковать их на случай, если они полезны для всех.

Rogerclark
Пн 27 июля 2015 г., 21:26
Виктор,

Я почти уверен, что парень, занимающийся MakerLabme, сказал, что больше не занимается активным развитием. (Я перечислил это в предыдущей публикации)

Единственное ядро, о котором я не знал, - это SeeedStudio One.
Я быстро посмотрел на GitHub, и CMSIS восходит к декабре 2014 года, и когда я выполнил поиск Хэла на репо, было только несколько комментариев.

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

Итак, на данный момент я думаю, что наш лучший вариант - продолжить отличную работу @Sheepdoll

victor_pv
Вт 28 июля 2015 г. 14:48
Rogerclark написал:Виктор,

Я почти уверен, что парень, занимающийся MakerLabme, сказал, что больше не занимается активным развитием. (Я перечислил это в предыдущей публикации)

Единственное ядро, о котором я не знал, - это SeeedStudio One.
Я быстро посмотрел на GitHub, и CMSIS восходит к декабре 2014 года, и когда я выполнил поиск Хэла на репо, было только несколько комментариев.

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

Итак, на данный момент я думаю, что наш лучший вариант - продолжить отличную работу @Sheepdoll

Дхармендра
Солнце 30 августа 2015 г., 10:14
Как работать над STM32F401RE с Arduino? пожалуйста, помогите мне

Mrburnette
Солнце 30 августа 2015 12:22
Дхармендра написал:Как работать над STM32F401RE с Arduino? пожалуйста, помогите мне

Martinayotte
Солнце 30 августа 2015 г. 14:34
Если у вас еще нет аппаратного обеспечения F401, я бы посоветовал пойти с F405, так как это уже доказано.

Но если у вас есть какое -то оборудование F401, возможно, вам следует начать с добавления нового варианта в STM32F4/POARD.TXT, который бы соответствовал вашему аппаратному обеспечению.
Размер оперативной памяти, размер вспышки необходимо настраивать, а также f_cpu.

Кроме того, проверьте частоту кристаллов вашей платы, так как, возможно, вам придется настраивать это тоже в STM32F4/Cores/Maple/Libmaple/RCCF2.в

Затем начните медленно с простого наброска миганий и постепенно нарастать с большим количеством таких вещей, как сериал, USB и т. Д.

Sheepdoll
Солнце 30 августа 2015 г. 20:36
Martinayotte написал:Если у вас еще нет аппаратного обеспечения F401, я бы посоветовал пойти с F405, так как это уже доказано.

Martinayotte
Солнце 30 августа 2015 г., 21:01
Sheepdoll написал:Как отмечалось, ядра не F1 основаны на более старой версии Lib Maple, которая не поддерживает некоторые из более поздних функций Arduino, таких как серийный поток.

Сжимать
Чт 24 марта 2016 г., 11:36
Core на основе MX - это кошмар, чтобы поддержать его....
MX на самом деле является генератором кода для конкретного устройства и для конкретной конфигурации, для общего использования огромного количества IFDEF было бы очень сложным.
Единственная жизнеспособная альтернатива Maple Lib - OpenCM3. Он стабилен и поддерживает многие устройства.

Sheepdoll
Чт 24 марта 2016 г. 18:10
Я не думаю, что это вопрос, который является проблемой.

С Arduino и STM есть базовые процессоры, MEGA328 и STM32F103. Вот как можно ожидать кошмара слишком большого количества вариантов с новым, анонсированным каждый день.

Я очень с радостью использую инструмент Cubemx, чтобы узнать больше о STM32. Это также помогло мне понять вещи с моей дневной работой, которую я могу производить быстрее и с большей надежностью на платформе AVR. В то же время я продолжаю делать небольшие постепенные вещи с вещами STM.

Где выброс находится в загрузке. Я предпочитаю использовать программу -ключ. Это то, что я узнал с. STM32 не поддается универсальному загрузочному погрузку, как AVR делает. Я до сих пор помню, что когда вышел AVR, это может быть запрограммирован с параллельным портом и некоторыми скрепками.

Теперь у нас есть погрузчики DFU и системы управления кодом, такие как GIT.

Сжимать
Чт 24 марта 2016 г. 22:16
Можете ли вы сказать больше о статусе вашего ядра Cubemx?
Cubemx - это официальный способ поговорить с чипом, а ST очень активен, чтобы поддержать его. Это большой плюс, конечно.
Я использовал путь Cubemx для некоторых небольших проектов, но я люблю использовать STM32Duino в качестве быстрых способов сделать вещи специально тестирование нового оборудования, используя библиотеки.

Rogerclark
Пт 25 марта 2016 г., 3:23
@slammer

Использует ли OpenCM3 стандартный периферический LIB / CMSIS от STM, или использует ли он внедрение чистой комнаты

Единственный недостаток, который у нас есть, с использованием ядра Libmaple (первоначально написанный Leaflabs, еще в 2012 году), поскольку они разработали свой собственный API для функций низкого уровня.

Таким образом, невозможно добавить вызовы функций SPL или HAL в код Arduino, поэтому мы не можем использовать какой -либо пример, в котором используются эти вызовы :-(

Кроме того, мы не получаем выгоды от обновлений / исправлений ошибок в CMSIS / HAL, которые могут быть выпущены STM.

Глядя на LiboPencm3, похоже, что он также не использует код STM; Таким образом, хотя у него гораздо больше людей поддерживают его, чем Libmaple, похоже, что у него все равно будут те же проблемы с тем, чтобы не получать обновления прямо из кода STM, а также вы не можете использовать примеры, написанные с использованием SPL или HAL - вы можете вы???? )

Sheepdoll
Пт 25 марта 2016 г., 4:54 утра
Сламмер написал:Можете ли вы сказать больше о статусе вашего ядра Cubemx?

Mrburnette
Пт 25 марта 2016 г. 13:20
Sheepdoll написал: <...>
В то же время я также узнаю больше о мире Arduino. Как продвинутый программист AVR, я отклонил Arduinos. Теперь я начинаю понимать некоторые мышления, стоящие за этим.

Testato
Ср 21 сентября 2016 г. 15:49
Можете ли вы обновить первое сообщение, добавив ядро ​​ST ?

Rogerclark
Пн 26 сентября 2016 г., 4:50 утра
Testato написал:Можете ли вы обновить первое сообщение, добавив ядро ​​ST ?

Мики
Солнце 26 февраля 2017 г. 15:33
Я не могу согласиться больше.
Мне нравится использовать такую ​​же очень простую среду настройки для компиляции в нескольких кликах с Arduino IDE.
Недавно я попытался сделать несколько взломов в коде Betaflight и попытаться настроить Eclipse, чтобы построить его в Windows.
OMG Иногда мне хотелось снимать себя в голове, так много настроек настройки, добавление Java JDK, загрузку/установку конкретной сборки Eclipse (никто работает), установите gcc arm chedded change, добавьте плагины Gnu eclipse, установите openocd, установите Qemu, скачивание /Установите MSYS или Cygwin, добавьте их в путь, настройте Eclipse (путь, настройки компиляции, настройки линкера),. асо...ооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо.Крайный опыт.Я думаю, что новичок не может сделать это даже с руководством, как перед их глазами..

Для сравнения I скомпилирован Multiprotocol_stm32 в Arduino IDE 1.6.12 с несколькими щелчками.Действительно не идеально, но быстрое компиляция/тестирование для меня неоценимо для меня . Это сэкономило мне так много времени.
Я делаю то же самое с библиотеками Arduino, я быстро проверил некоторые наброски, используя некоторые библиотеки Arduino, и в реальной сделке я люблю работать напрямую с регистрами.
Я также работал с AVR раньше, и Ардуино был/не был очень популярен среди многих AVR Purists.Но, может быть, это чувство изменится при переходе в чипсы STM32.


Mrburnette написал:Sheepdoll написал: <...>
В то же время я также узнаю больше о мире Arduino. Как продвинутый программист AVR, я отклонил Arduinos. Теперь я начинаю понимать некоторые мышления, стоящие за этим.

Стивестронг
Солнце 26 февраля 2017 г. 15:54
Это все правильно.
В Arduino Ide отсутствует только одна огромная вещь: интерфейс отладки...

Rogerclark
Солнце 26 февраля 2017 г. 9:08 вечера
Стивестронг написал:Это все правильно.
В Arduino Ide отсутствует только одна огромная вещь: интерфейс отладки...

vitor_boss
Сб 8 июля 2017 г. 5:29 утра
STM32Generic

Преимущества
  • Использует гораздо меньше оперативной памяти, чем Maple Core
  • Уже включено FPU
  • Генерировать меньший код 8 ~ 15% на ОС
Недостатки
  • Сложные инициализация GPIO и HAL не дружелюбны

Дэнниф
Сб 8 июля 2017 г. 13:21
Было бы интересно посмотреть, сколько места обычная работа занимает под различными ядрами.

с моим Armduino: мигающий компилирован 3 до 3.5 КБ, немного меньше с -os и больше с -O0 на F1 и 2 -3 КБ на F0.

Интересно, насколько это компилируется на других ядрах.

РЕДАКТИРОВАТЬ: Еще одна точка данных - Blinky компилируется на 13 КБ в рамках STM32Duino / Arduino 1.6.

Дэнниф
SAT 8 июля 2017 г. 13:25
Сложные инициализация GPIO и HAL не дружелюбны это зависит от того, как вы к нему подходите. У большинства пользователей есть несколько ограниченных «режимов», в которых они получают доступ к GPIO. Если вы упаковываете эти режимы в простые в использовании процедуры / макросы, настройка не так уж и важно. ака-ардуино в стиле.

vitor_boss
Сб 8 июля 2017 г. 22:56
Наиболее сложным для меня является инициализация таймеров, я был перенесен код Speeduino для STM32, я должен использовать до 16 компараторов, чтобы сделать все инжекторы, катушки, VVT, IDLE и другие PWM -каналы. Это большое дело для меня

Дэнниф
Солнце 9 июля 2017 г. 13:21
Наиболее сложным для меня является инициализация таймеров Я думаю, если вы посмотрите на то, что вы делаете с таймерами, большинство из них могут быть стилизованы. Поэтому вместо того, чтобы делать x y и z, вы можете просто сделать, что сделает x y и z для вас.

Это в основном то, что такое модульное программирование / библиотеки.

Chismicro
Солнце 9 июля 2017 г., 17:38
Я думаю, что Arduino Framework бесполезна без многих простых для понимания примеров кода.
Вот почему я сделал много для STM32Generic.

victor_pv
Чт 14 сентября 2017 г., 21:22
Роджер, я думаю, вы должны вывести эту линию из недостатков официального ядра STM: Недоступно для досок GD32 из -за лицензии на использование на STM HAL (хотя может работать на практике) И, возможно, переместите его по меньшей мере над сердечником MakerLabme, так как это не активно или не очень полезно. Если вы согласны, вы можете просто удалить этот пост.

Rogerclark
Чт 14 сентября 2017 г. 11:23
Виктор

Где этот текст?

Я думаю, что ссылки на GD32 должны быть полностью удалены

AG123
Ср 24 января 2018 г. 10:22
Привет, Роджер,
Я думаю, что мы могли бы обновить первое сообщение «Движение ядра» и STM32 Generic от @danieleff вверх сразу после Arduino STM32 - Libmaple Core
Тогда остальные станут «старыми вещами»
:)

йотнод
Солнце 15 апреля 2018 13:37
@Admin просто хотел узнать статус "официального" https: // github.com/stm32duino/arduino_core_stm32 против более популярного https: // github.com/rogerclarkmelbourne/arduino_stm32 в 2018 году

Zoomx
Пн, 16 апреля 2018 г., 14:10
Если я не ошибаюсь, если ваша доска поддерживается официальным ядром, лучше использовать это. Если нет, вы должны использовать Roger Core или один из других.

Мадиас
Пн, 16 апреля 2018 г. 15:32
[йотнод - Солнце 15 апреля 2018 13:37] - @Admin просто хотел узнать статус "официального" https: // github.com/stm32duino/arduino_core_stm32 против более популярного https: // github.com/rogerclarkmelbourne/arduino_stm32 в 2018 году
«Официальное» ядро ​​растет и находится в активной разработке, но он не включает ни одного из индивидуальных пользовательских библиотек в Rogers Repo (например, Superb ILI9341 TFT LIB). Я не знаю, будут ли они работать с «официальным» ядром. Но вы можете прочитать все проблемы и привлечь запросы на GitHub для получения обзора.

йотнод
Пн, 16 апреля 2018 г., 17:02
И все же есть еще одно «ядро», с которым я столкнулся: https: // github.com/bsfrance/bsfrance-stm32 Смотрите здесь, есть поддержка аппаратного HAL. Поддержка STM32F103

Rogerclark
Пн, 16 апреля 2018 г. 20:45
Похоже, они скопировали все инструменты из репозитория Libmaple, но основные файлы, похоже, являются HAL, поэтому, вероятно, скопированы официальные ядра STMS

Не уверен, почему они удосужились сделать это, так как я бы подумал, что разветвление stm32 Generic было бы лучшим вариантом

Похоже’S для поддержки конкретного оборудования

йотнод
Вт 17 апреля 2018 г. 2:03
Да, это для какого -то конкретного оборудования. Вот где я нашел дискуссию: https: // www.TheThingsnetwork.орг/форум/ ... Opic/13391

Это страница оборудования:
https: // bsfrance.FR/58-Lora-Long-Drange?Page = 1

fpistm
Вт 17 апреля 2018 г. 5:08
Кажется, это основано на STM32Generic.

IOTNODE, сети различия в отношении ядра Роджера, а ядро ​​STM - это ядро ​​STM предназначено для поддержки всех семейств STM32 MCU (F0/F1/F2/F3/F4/F7/H7/L0/L1/L4). H7 скоро появится ;).
Роджер предназначен в основном для платы на основе F1 (ориентированная на F103 для BP и MM), а также F4 с активной поддержкой Stevestrong ;).
По сути, если вы планировали поработать над BP или MM, я советую вам использовать ядро ​​Роджера, которое чудесно поддерживает все функции этих досок и очень хорошо задокументировано и поддерживается на этом форуме.
STM Core молод и по -прежнему требуется некоторая разработка /улучшение и документации.

В любом случае, я увидел, что описание ядра STM должно быть обновлено, как сказано, чтобы быть ориентированным на нуклео, но это не больше всего.

Rogerclark
Вт 17 апреля 2018 г. 5:57 утра
Фредерик

Я продолжаю обновить это.

Можете ли вы напомнить мне, где это опубликовано, и я его изменю

fpistm
Вт 17 апреля 2018 г. 6:10
[Rogerclark - Вт 17 апреля 2018 г. 5:57] - Фредерик

Я продолжаю обновить это.

Можете ли вы напомнить мне, где это опубликовано, и я его изменю
В этой теме ;)

Rogerclark
Вт 17 апреля 2018 г., 6:28
ХОРОШО

Удаленные ссылки на нуклео

йотнод
Вт 17 апреля 2018 г. 6:33
Спасибо всем за ответ. Я думаю, что должна быть страница «вики», описывающая основные различия/сходства, по крайней мере, популярными ядрами STM32Official и замечательной работой, проделанной Роджером Кларком в Leaflabs. Я думаю, что любой человек из Arduino Founal (настоящий Arduino или ESP8266), будет ошеломлен. Конечно, содержимое вики может заселить в течение определенного периода времени всеми (в духе вики)

Мадиас
Вт 17 апреля 2018 г., 19:16
@iotnode: Проходит обсуждение, в котором ядра «Roger» дополнительно поддерживаются или сброшены (похоже, F3/будет отброшен), поэтому вики следует записано, когда результат определенным образом.
Но действительно, запись вики для разных ядер была бы полезна. (Кстати: вики STM32Duino в основном связано с Roger-Core!)

BlueJedi
Пн 18 июня 2018 г., 21:34
[fpistm - Вт 17 апреля 2018 г. 5:08] - Кажется, это основано на STM32Generic.
BSFrance-STM32, по-видимому, основан на этой вилке STM32GENERY: https: // github.com/huaweiwx/stm32generic

BlueJedi
Пн 18 июня 2018 г., 21:38
Вот еще одно ядро, не HAL для STM32L0 (он включает в себя хорошую библиотеку Лоравана):
https: // github.com/grumpyoldpizza/arduinocore-stm32l0

Сенсортильный