HALMX ROADMAP.

Sheepdoll
Пн сентября 07, 2015 2:50 утра
Вот простая дорожная карта скелета, где я планирую пойти с HALMX
• Клейский код, чтобы поплачивать ARDUINO API через API HAL через доски.TXT/платформы.TXT - концепция доказана в основном • Цифровой выход - базовый эскиз мигания, работа над F0, F1 и F4 • Простой серийный поток печати, работа на F0 (внешнее оборудование), F1 и F4 • Цифровой ввод GPIO - TBW - может быть унаследован непосредственно от HAL • Аналоговый вход GPIO - TBW - необходимо настроить обратные вызовы прерывания через HAL • Выходы ШИМ - TBW - Некоторая грязь с отображающимися функциями с эмуляцией AVR - Требуется обратные вызовы прерываний. • Тайм -ауты таймера USECONT - TBW - возможно, потребуется быть частью эскиза. -- Периферийные устройства высокого уровня • USB -- Серийный CDC -- Миди • SPI - (SPI с DMA) • i2c • Контроллер TFT - согласно STM429I -Discovery • Canbus - низкий приоритет, но в основном уже находится в HW -- -- Библиотеки высокого уровня • Fatfs - (есть также библиотеки Arduino Fat, но Fatfs хорошо поддерживаются и стабильны) • USB-OTG-не уверен, где это разместить
ПРИМЕЧАНИЕ 1: Существует множество щитов и устройств, таких как контроллеры Ethernet, Wi-Fi, Bluetooth, MEMS Gyros, Zigbee Radios, GPS и т. Д. Что все требуют библиотек высокого уровня, чтобы сделать работу. Многие из них являются устройствами «регистрации», которые общаются через регистры смены или DMA. Каждое из этих устройств лучше вписывается в отдельную дорожную карту.
ПРИМЕЧАНИЕ 2: Существуют также устройства, такие как вездесущий LCD -контроллер Hitachi HD44780, и всегда присутствующий интерфейс MMC/SD Card, который в основном получает для «бесплатного» после того, как GPIO не работает и работает. HD44780 требует дополнительного негативного снабжения при использовании при 3V для генерации отрицательного смещения на контроле контрастности. Это может быть легко реализовано с помощью заряженного насоса, либо из штифта ШИМ, либо внешнего источника с фиксированной частотой.

Rogerclark
Пн, сентябрь 07, 2015 3:18 утра
Спасибо за дорожную карту.

Просто мысль, но мы можем много позаимствовать у Кодуино (https: // github.com/avikde/koduino) E.глин. Уже есть библиотеки и целая множество других функциональности, которые мы можем извлечь в пользу.

Примечание. K0duino использует старую стандартную периферийную библиотеку, а не HAL One, поэтому нам нужно обновить ее, чтобы использовать версию HAL, и я не уверен, как сильно Avik изменил SLP самостоятельно, из того, что я помню, это определенно не только Случай использования старых файлов библиотеки SPL прямо из STM, необходимо, по крайней мере, какая -то реструктуризация организации файла и, возможно, гораздо больше изменений
Но это все еще стоит взглянуть на.

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

ZMEMW16
Пн сентября 07, 2015 8:46 утра
Sheepdoll написал: HD44780 требует дополнительного негативного снабжения при использовании при 3V. Это может быть легко реализовано с помощью заряженного насоса, либо из штифта ШИМ, либо внешнего источника с фиксированной частотой.

Sheepdoll
Пн, сентябрь 07, 2015, 16:46
ZMEMW16 написал:Sheepdoll написал:
HD44780 с расширенным температурным диапазоном также требует отрицательного снабжения с 5 В, я получил два через упс неправильно :-)
С запасением 3V3 я не знаю, но я предполагаю, что да.

Стивен

Стевех
Вторник 08 сентября 2015 3:23
Использование устаревшего SPL (стандартная периферийная библиотека ST) - имеет большую ловушку, на которой ST сосредоточен на/поддерживает HAL, скорее, SPL. Они не объявили SPL как амортизированный или в EOL, но у них есть много веб -страниц, призывающих людей не использовать SPL для новых дизайнов. И новые типы чипов, вероятно, не будут иметь поддержки SPL, но будут, в Hals.

Кроме того, HAL, по моему опыту, как все три варианта режима для большинства каждого периферического: опрошенного ввода-вывода (блокировка), управление прерыванием (без блокировки) и DMA (не блокировка). Только DMA-управляемый для высокоскоростных вещей, таких как SDIO на 48 Мбит / с. DMA для ADC, ЦАП, цепные DMA для этих двух, DMA Даже для изменений в булавках и сбора таймера. И так далее.

Это важное решение... API -интерфейсы обертки, чтобы упростить эти. Используйте Cubemx, чтобы автоматически генерировать все вариант драйверов и инициализации для определенного проекта и доски/MCU.

Сегодняшние пользователи, многие из которых привыкли к ПК и RPI/Linux, борются с блокировкой ввода-вывода и ограничениями медленных событий. Они могут не знать о DMA и так далее, но они действительно удивляются, почему их визит API.

Хуже того, они разочарованы и уходят, если они поражают такие вещи, как отсутствие общего использования Ардуино. Все, что я видел, это драйвер транзакций PJRC SPI, чтобы решить эту проблему. Это хорошо для пользователей Arduino. Не так хорошо для многопоточной среды, такой как Freertos, приносит ST32F. Что RTO, сделанные правильно для точки зрения новичков, может устранить разочарование многих пользователей, не являющихся инженерами, по поводу MCU.

Rogerclark
Вторник 08 сентября 2015 3:54
@stevech

Спасибо за понимание HAL, я не понял, что было несколько вариантов даже для GPIO.

Единственное, что я заметил, поскольку мы должны быть осторожны при написании кода API ARDUINO, что он не использует варианты HAL, которые не доступны на всех устройствах, которые мы собираемся поддержать. эн.глин. Из того, что я помню с настройками часов/скорости GPIO, у F4 есть больше вариантов, я думаю, что в начальном коде @SheepDoll использовался опция только F4 Speed, которая не собирается на F1 (я думаю, что теперь это может быть исправлено).

Но это заставляет меня задуматься, сколько других различий между F4 HAL и F1 HAL и т. Д

Sheepdoll
Вторник 08 сентября 2015 г. 6:41
Rogerclark написал:
Но это заставляет меня задуматься, сколько других различий между F4 HAL и F1 HAL и т. Д

Mrburnette
Вторник 08 сентября 2015 г. 11:58 утра
Sheepdoll написал: Я исправил ОП, чтобы включить несколько слов, которые, как я думал, я напечатал, но забыл, как я писал это поздно ночью.

Стевех
Ср. 09 сентября 2015 г., 2:59
Rogerclark написал:@stevech

Спасибо за понимание HAL, я не понял, что было несколько вариантов даже для GPIO.

Единственное, что я заметил, поскольку мы должны быть осторожны при написании кода API ARDUINO, что он не использует варианты HAL, которые не доступны на всех устройствах, которые мы собираемся поддержать. эн.глин. Из того, что я помню с настройками часов/скорости GPIO, у F4 есть больше вариантов, я думаю, что в начальном коде @SheepDoll использовался опция только F4 Speed, которая не собирается на F1 (я думаю, что теперь это может быть исправлено).

Но это заставляет меня задуматься, сколько других различий между F4 HAL и F1 HAL и т. Д

Стевех
Ср. 09 сентября 2015 г., 3:08
Sheepdoll написал: Вы, вероятно, правы, связанные с пользователями, привыкшими к ПК и RPI/Linux. Я научился программировать почти 40 лет назад. Я заметил, что технические работники даже больше не называют их программистами «я», теперь они кодеры и разработчики API.

Sheepdoll
Ср. 09 сентября 2015 г. 5:35 утра
Стевех написал:
Многие специалисты прыгают, изучая его, посещая учебные занятия и семинары. Я сделал это без таких.

монсонт
Сб 19 сентября 2015 г. 15:40
Sheepdoll & Все,

Я посещаю курс STM32F7XX HAL в Кембридже (Великобритания) в этот четверг. Бесплатно для посещения, и они дают вам открытие STM32F7, чтобы забрать домой :)

Мне действительно нужно перейти на образ мышления, потому что, хотя до сих пор использование стандартных периферийных библиотек работало для M3 и M4, они не поддерживаются на M7.

Atmel имеет волдырь 300 МГц M7, доступный в 144 PIN LQFP. http: // www.атмель.com/продукты/микроконт ... такой же.aspx

Я предполагаю, что это хороший кандидат на будущее потомкам Ардуино.


Кен

Jonr
Солнце 8 мая 2016 г. 14:31
Еще пара сайтов для просмотра:

Много полезных процедур с использованием HAL:

https: // github.com/majerle/stm32fxxx_hal_libraries

Следует в ближайшее время выпустить поддержку STM32L4 (не знаю, будут ли они использовать HAL):

https: // www.Тинди.com/продукты/Onehors ... выездной/

Предположительно, код MBED использует HAL.

STM32L476G-Disco составляет всего 19 долларов.50.

Стевех
Солнце 8 мая 2016 г. 11:08
Монсонит написал:Sheepdoll & Все,

Я посещаю курс STM32F7XX HAL в Кембридже (Великобритания) в этот четверг. Бесплатно для посещения, и они дают вам открытие STM32F7, чтобы забрать домой :)

Мне действительно нужно перейти на образ мышления, потому что, хотя до сих пор использование стандартных периферийных библиотек работало для M3 и M4, они не поддерживаются на M7.

Atmel имеет волдырь 300 МГц M7, доступный в 144 PIN LQFP. http: // www.атмель.com/продукты/микроконт ... такой же.aspx

Я предполагаю, что это хороший кандидат на будущее потомкам Ардуино.


Кен

Стевех
Солнце 8 мая 2016 г. 11:15 вечера
Монсонит написал: Atmel имеет волдырь 300 МГц M7, доступный в 144 PIN LQFP. http: // www.атмель.com/продукты/микроконт ... такой же.aspx

Я предполагаю, что это хороший кандидат на будущее потомкам Ардуино.


Кен

Сжимать
Пн, 09 мая 2016 г., 12:59
Политика микрочипа против линейки продуктов Atmel - это загадка. Я думаю, основная уборка будет сделана в 8 -битном мире, так как слишком много чипсов с аналогичными спецификациями. В 32 -битном Portofolio Microchip не имеет продуктов ARM, нет причин убивать Arm Business. С другой стороны, я считаю, что Microchip улучшит цепочку поставок чипсов Atmel... (По крайней мере, для выбора вишни...) :рулон:

Grumpyoldpizza
Пн, 09 мая 2016 г., 1:54
Джонр написал:А
Следует в ближайшее время выпустить поддержку STM32L4 (не знаю, будут ли они использовать HAL):

https: // www.Тинди.com/продукты/Onehors ... выездной/

Графалекс
Ср 17 мая 2017 г. 14:38
Всем привет,

Порт жив?

Я вижу 3 отдельных ветви:
- Rogerclarkmelbourne's One кажется слишком оригинальным. Имеет USB -серийные, I2C и SPI -модули. Работа в основном случается вокруг F103CB (что меня интересует)
- Форк Шелдолла имеет более поздние CMCIS для NucleOF103
- Филиал Ekawahyu сосредоточена на NodinoF072. Имеет ряд примеров и модуля тонального ядра. CMCIS расположен на рычаге HALMX/Drivers, а не в каждом каталоге варианта. То же самое для библиотек устройств USB.

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

Я также нашел https: // github.com/danieleff/stm32generic который кажется довольно хорошим структурированным.

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

Любое понимание планов на будущее для проекта HALMX?

Sheepdoll
Ср 17 мая 2017 г. 16:45
Этот порт был заменен «официальным» портом STM и портом STM32Generic.

Это было скорее доказательством концепции, что можно было объединить библиотеки HAL и Arduino.

Есть еще одна часть на моем GitHub https: // github.com/sheepdoll/xstmscrips.git который является одним из сценариев, которые я создавал для создания новых вариантов. Я использую PostScript PostScript для сценариев принтера для сценариев общего назначения, так как PostScript имеет некоторые мощные параметры анализа.
Порт STM взял эту идею и изменил сценарии на использование Python для создания необходимых отображающихся файлов непосредственно из файлов Cubemx XML и настройки.

Что касается ветвей. Это была попытка, чтобы иметь несколько досок разработки в меню «Инструменты» Arduino.

Я как бы переехал больше своих усилий к кодированию непосредственно в Eclipse, не используя Arduino IDE.

Графалекс
Чт 18 мая 2017 г., 17:59
Спасибо за ответ.
Что вы имеете в виду под «официальным» портом STM?