Перейти к содержанию
    

Какие есть "библиотеки всего" для STM32 вроде Mbed?

Ну да конечно же HAL + Midleware !

Если не планируете портировать проекты на каконибудь LPC / Samsung и.т.д

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

 

Чирикнул пару строчек и готов аудио плеер

дописал еще пару строк будет и видео,

подравил пару символов и опа - все уже на прерываниях

подправил еще пару и поперло через DMA :)

 

В 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а. (см. видео)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Чирикнул пару строчек и готов аудио плеер

дописал еще пару строк будет и видео,

подравил пару символов и опа - все уже на прерываниях

подправил еще пару и поперло через DMA

 

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

 

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

 

Так что думать и правда нечего:)

 

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

 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я посмотрел. Очень плохо. Хотя бы то, что эта библиотечка использует SPL! А SPL даже сами STM забросили, т.к. такое количество быдлокода превратить в конфетку просто невозможно!

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

не видил что бы они SPL пользовали - они все это переписали заново

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за варианты. Пока остановлюсь на том, что генерит STM32CubeMX.

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

 

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

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

 

Насколько я понял, Mbed - это С++ обертка над STM32Hal.

Думаю, как взять нужные части API из Mbed и использовать их.

К примеру, класс Thread не тянет за собой ничего, можно пользоваться. Правда придется немного переписать реализацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

Можно и так, конечно. Только хлопотно. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не видил что бы они SPL пользовали - они все это переписали заново

Используют.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Как в анекдоте "... и вот я снова на Дерибасовской..." :rolleyes:

Изменено пользователем _Pasha

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Используют.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если не брезгаете пираткой, очень любите потоки и графику то конечно Keil5 + Midleware PRO + Keil_RTX

Но к сожалению с CubeMX не идеально совместим Keil5, частично ручкам и копипастом придеться инициализацию ваять.

С помощью Кейловской Middleware я не смог создать проекта с USB ни под какую из плат Discovery, вечно чего-то не хватает. А Кубом с его Middleware и HAL - запросто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...