реклама на сайте
подробности

 
 
> Какие есть "библиотеки всего" для STM32 вроде Mbed?, Включая RTOS, HAL
Slash
сообщение May 20 2015, 09:14
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 10-04-05
Из: Санкт-Петербург
Пользователь №: 4 011



Здравствуйте!

Какие еще есть библиотеки для работы с микроконтроллерами STM32 вроде MBED?
Легкое подключение RTOS, абстракция IO и периферийных блоков.

Есть библиотека STM32Plus https://github.com/andysworkshop/stm32plus
Кто нибудь пользовался?
Смущает, что ее тянет один человек - надоест ему и бросит ее.

Сообщение отредактировал Slash - May 20 2015, 09:15
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 24)
ViKo
сообщение May 20 2015, 10:29
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Ну, вы, блин, даете! (с)
STM32Cube от самой STMicroelectronics.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 20 2015, 13:00
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Slash @ May 20 2015, 12:14) *
Какие еще есть библиотеки для работы с микроконтроллерами STM32 вроде MBED?
Легкое подключение RTOS, абстракция IO и периферийных блоков.


"библиотеки всего" это видимо библиотека без мануалов и запутанная настолько чтобы нельзя было понять что она содержит.
Так на Github таких море. biggrin.gif
Go to the top of the page
 
+Quote Post
Эдди
сообщение May 20 2015, 14:00
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Не нужно такое дерьмо. Чем больше универсальности, тем оно тупее и жирнее!!!
Берите libopencm3 в качестве базы, а остальное уже самостоятельно пишите.
Go to the top of the page
 
+Quote Post
SSerge
сообщение May 20 2015, 15:31
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



На первый взгляд выглядит интересно.
Хотя без внятного описания "что делается, каким образом, и почему именно так" читать и разгадывать эти загадки можно долго.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение May 20 2015, 18:07
Сообщение #6


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Вот мой велосипед. Использую вместе с scmRTOS.
(Хотя до "библиотеки всего" пока далековато sm.gif )


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
inventor
сообщение May 21 2015, 06:13
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Цитата(Эдди @ May 20 2015, 17:00) *
Не нужно такое дерьмо. Чем больше универсальности, тем оно тупее и жирнее!!!
Берите libopencm3 в качестве базы, а остальное уже самостоятельно пишите.

вчера скачал ее - на вид совсем неплохо.
к сожалению жду новый комп, на старом не получается
ее откомпились (в помойку пора)
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение May 21 2015, 06:42
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(ViKo @ May 20 2015, 13:29) *
STM32Cube от самой STMicroelectronics.


Это ж не библиотека, а просто графический визард для построения стартового кода. А дальше - CMSIS...
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 21 2015, 06:52
Сообщение #9


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Непомнящий Евгений @ May 21 2015, 09:42) *
Это ж не библиотека, а просто графический визард для построения стартового кода. А дальше - CMSIS...

Что там сначала, что потом... спорить не буду. CMSIS - это же, типа, стандарт, не более.
В проекте, созданном в CubeMX, есть каталоги:
Drivers\CMSIS\...
Drivers\STM32F2xx_HAL_Driver\...
Inc\...
Middlewares\...
Srs\
И это только каталоги верхнего уровня. А внутри еще куча папок.

Я сам противник любых чужих библиотек. Но, чтобы разобраться с USB, вынужден изучать чужие проекты, библиотеки. Вот, сделал Кубом пример USB CDC, ни одной своей функции не написал.
Go to the top of the page
 
+Quote Post
Эдди
сообщение May 21 2015, 09:03
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(inventor @ May 21 2015, 09:13) *
вчера скачал ее - на вид совсем неплохо.

А я посмотрел. Очень плохо. Хотя бы то, что эта библиотечка использует SPL! А SPL даже сами STM забросили, т.к. такое количество быдлокода превратить в конфетку просто невозможно!
Взамен SPL они придумали другой образец быдлокодинга: HAL. А чтобы скрыть от пользователя этот ужас, еще и кодогенератор предлагают...
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение May 21 2015, 09:37
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(ViKo @ May 21 2015, 09:52) *
Drivers\CMSIS\...
Drivers\STM32F2xx_HAL_Driver\...
Inc\...
Middlewares\...
Srs\
И это только каталоги верхнего уровня. А внутри еще куча папок.


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

Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 21 2015, 10:54
Сообщение #12


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Непомнящий Евгений @ May 21 2015, 12:37) *
Надо будет посмотреть. USB я кстати тоже брал у стм-овцев, но не из cube, а отдельно качал. Мне казалось, что cube - просто визард, который генерит стартовый код для запуска кучки библиотек и инцииализации перефирии


Так оно и есть.
Еще в довесок они приплюсовали знаменитую троицу - FATFS, FreeRTOS и LwIP. Но это как бы стандарт, это у всех и так есть.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 21 2015, 11:04
Сообщение #13


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(AlexandrY @ May 21 2015, 13:54) *
Так оно и есть.
Еще в довесок они приплюсовали знаменитую троицу - FATFS, FreeRTOS и LwIP. Но это как бы стандарт, это у всех и так есть.

В добавок к троице в Cube еще есть и USB_Device всех классов и USB_Host. Middleware - разве ж это не библиотека?
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение May 21 2015, 11:45
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(ViKo @ May 21 2015, 14:04) *
В добавок к троице в Cube еще есть и USB_Device всех классов и USB_Host. Middleware - разве ж это не библиотека?


Библиотечка usb у них отдельная. Cube по ходу таки просто связывает все это вместе.

Качество библиотечки кстати очень так себе. Ожидал много большего, все ж разработчик - крупная контора sm.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 21 2015, 11:54
Сообщение #15


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Непомнящий Евгений @ May 21 2015, 14:45) *
Библиотечка usb у них отдельная. Cube по ходу таки просто связывает все это вместе.
Качество библиотечки кстати очень так себе. Ожидал много большего, все ж разработчик - крупная контора sm.gif

Отошлю к создателям.
http://www.st.com/web/en/catalog/tools/FM1...c=stm32cube-pr8
Да, очень запутанная, на мой, не слишком опытный, взгляд. Универсальность не идет на пользу компактности.
Но пользоваться какими-то левыми библиотеками не вижу смысла.

Дополню. Случайно набрел, ищу про USB в Cube. Типа, реклама.
http://microsin.net/programming/ARM/stm32cubef4.html
Go to the top of the page
 
+Quote Post
ali00ff
сообщение May 22 2015, 02:35
Сообщение #16





Группа: Участник
Сообщений: 9
Регистрация: 21-05-15
Пользователь №: 86 817



Ну да конечно же HAL + Midleware !
Если не планируете портировать проекты на каконибудь LPC / Samsung и.т.д
то даже думать не чего!

Чирикнул пару строчек и готов аудио плеер
дописал еще пару строк будет и видео,
подравил пару символов и опа - все уже на прерываниях
подправил еще пару и поперло через DMA sm.gif

В CubeMX 1.4 мышкой RTOS настраиваеться
ну да freeRTOS конечно, ну кто мешает пропачить...

Кстати ! под копеечные L0 сделаи HAL !
Случайно наткнулся в Cube под блютус плату для Nucleo

d:\_ST_\NUCLEO-F401RE\x-cube-ble1\X-CUBE-BLE1\Drivers\STM32F4xx_HAL_Driver\Inc\stm32f4xx_hal.h
и тут же под дешевку
d:\_ST_\NUCLEO-F401RE\x-cube-ble1\X-CUBE-BLE1\Drivers\STM32L0xx_HAL_Driver\Inc\stm32l0xx_hal.h

Плюс по заявлению инжинеров ST на форуме e2e
- SPL больше поддерживаться не будет, так что или битмасами по голому CMSIS или HAL !

А если не брезгаете пираткой, очень любите потоки и графику то конечно Keil5 + Midleware PRO + Keil_RTX
http://www2.keil.com/mdk5/learn/usb_host/
Но к сожалению с CubeMX не идеально совместим Keil5, частично ручкам и копипастом придеться инициализацию ваять.
Хотя настраивать потоки, сложную переферию и графику одно удовольствие даже без MXа. (см. видео)
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение May 22 2015, 04:26
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата
то даже думать не чего!

Чирикнул пару строчек и готов аудио плеер
дописал еще пару строк будет и видео,
подравил пару символов и опа - все уже на прерываниях
подправил еще пару и поперло через DMA


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

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

Так что думать и правда нечегоsm.gif

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

Это все, конечно, мое личное мнение!

Go to the top of the page
 
+Quote Post
mantech
сообщение May 22 2015, 06:45
Сообщение #18


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Golikov A. @ May 22 2015, 07:26) *
Я с новым процом начинаю по модульно писать файлы - библиотеку. UART, SPI, и так далее, к 3-4 проекту уже можно из кубиков собирать, сначала может чуть дольше (но не сильно, адаптация куба тоже требует изысканий в мануале, и потому иногда быстрее биты поставить сразу, чем искать их определения), но зато предсказуемо и без тупиков...

Это все, конечно, мое личное мнение!


Поддерживаю полностью! В таких "кубиках" по крайне мере знаешь, что с чем связано, а в таком аля-cube "программировании" потом черт ногу сломает, неделю назад принесли проект чей-то доработать - так там накубили такого, что пришлось все переделать, увеличить цену заказчику в 2 раза, благо согласился, или отдал бы все обратно - нафиг надо...

Сообщение отредактировал mantech - May 22 2015, 06:45
Go to the top of the page
 
+Quote Post
inventor
сообщение May 23 2015, 06:38
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748



Цитата(Эдди @ May 21 2015, 13:03) *
А я посмотрел. Очень плохо. Хотя бы то, что эта библиотечка использует SPL! А SPL даже сами STM забросили, т.к. такое количество быдлокода превратить в конфетку просто невозможно!
Взамен SPL они придумали другой образец быдлокодинга: HAL. А чтобы скрыть от пользователя этот ужас, еще и кодогенератор предлагают...

не видил что бы они SPL пользовали - они все это переписали заново
Go to the top of the page
 
+Quote Post
Slash
сообщение May 23 2015, 11:33
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 202
Регистрация: 10-04-05
Из: Санкт-Петербург
Пользователь №: 4 011



Спасибо за варианты. Пока остановлюсь на том, что генерит STM32CubeMX.
Вопрос к тем, кто им пользуется - вы оставляете структуру папок и в файлах комментарии (USER CODE BEGIN), чтобы добавлять изменения в проект через Cube?

Пока думаю проект, сгенерированный Cube класть под контроль версий, копировать файлы в свой проект со своей структурой.
Если меняю Cube-проект, смотрю на изменения в файлах и руками вношу в свой проект.

Насколько я понял, Mbed - это С++ обертка над STM32Hal.
Думаю, как взять нужные части API из Mbed и использовать их.
К примеру, класс Thread не тянет за собой ничего, можно пользоваться. Правда придется немного переписать реализацию.
Go to the top of the page
 
+Quote Post
Corvus
сообщение May 23 2015, 11:42
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



Цитата(Slash @ May 23 2015, 14:33) *
Вопрос к тем, кто им пользуется - вы оставляете структуру папок и в файлах комментарии (USER CODE BEGIN), чтобы добавлять изменения в проект через Cube?

Да. Как раз, чтоб можно было вносить изменения через Cube.

Цитата(Slash @ May 23 2015, 14:33) *
Пока думаю проект, сгенерированный Cube класть под контроль версий, копировать файлы в свой проект со своей структурой.
Если меняю Cube-проект, смотрю на изменения в файлах и руками вношу в свой проект.

Можно и так, конечно. Только хлопотно. rolleyes.gif
Go to the top of the page
 
+Quote Post
SSerge
сообщение May 23 2015, 12:01
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(inventor @ May 23 2015, 13:38) *
не видил что бы они SPL пользовали - они все это переписали заново

Используют.
Там под ворохом классов и темплейтов скрываются вызовы функций из SPL.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение May 23 2015, 12:58
Сообщение #23


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



biggrin.gif а может проще под SPL положить слой заглушек для выполнения на РС, чтобы они в конце концов генерили правильный текст, но уже для кросс-компиля?
Как в анекдоте "... и вот я снова на Дерибасовской..." rolleyes.gif

Сообщение отредактировал _Pasha - May 23 2015, 12:59
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение May 23 2015, 13:41
Сообщение #24


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(SSerge @ May 23 2015, 17:01) *
Используют.
Там под ворохом классов и темплейтов скрываются вызовы функций из SPL.

Насколько я понял, вы о разных либах говорите. Вы (и Эдди) - про STM32Plus, а inventor - про libopencm3.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 23 2015, 14:25
Сообщение #25


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(ali00ff @ May 22 2015, 05:35) *
А если не брезгаете пираткой, очень любите потоки и графику то конечно Keil5 + Midleware PRO + Keil_RTX
Но к сожалению с CubeMX не идеально совместим Keil5, частично ручкам и копипастом придеться инициализацию ваять.

С помощью Кейловской Middleware я не смог создать проекта с USB ни под какую из плат Discovery, вечно чего-то не хватает. А Кубом с его Middleware и HAL - запросто.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 03:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01606 секунд с 7
ELECTRONIX ©2004-2016