ali00ff 0 22 мая, 2015 Опубликовано 22 мая, 2015 · Жалоба Ну да конечно же 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а. (см. видео) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 22 мая, 2015 Опубликовано 22 мая, 2015 · Жалоба то даже думать не чего! Чирикнул пару строчек и готов аудио плеер дописал еще пару строк будет и видео, подравил пару символов и опа - все уже на прерываниях подправил еще пару и поперло через DMA Да да, а вместе с этим получаем ининциализацию всех портов в одной куче, а клоков в другом, подсос в проект кучи файлов, так что перебилд занимает несколько долгих секунд, функции которые внутри содержат кучу перевызовов друг друга, с while и таймаутами по несколько секунд. И отслеживанием состояния модуля, такое что иногда он не стартует, потому что не завершил прошлый обмен. И вот тут начинается, не перенести часть кода в другой проект, не перекинуть ножки удобно. Начинаешь править конечные функции, они цепляются за средние, и в какой-то момент все заходит в идиологический тупик, что тянешь за собой кучу кода, а половину из него переписал, а другую не тронул только потому что устал... Так что думать и правда нечего:) Я с новым процом начинаю по модульно писать файлы - библиотеку. UART, SPI, и так далее, к 3-4 проекту уже можно из кубиков собирать, сначала может чуть дольше (но не сильно, адаптация куба тоже требует изысканий в мануале, и потому иногда быстрее биты поставить сразу, чем искать их определения), но зато предсказуемо и без тупиков... Это все, конечно, мое личное мнение! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 22 мая, 2015 Опубликовано 22 мая, 2015 (изменено) · Жалоба Я с новым процом начинаю по модульно писать файлы - библиотеку. UART, SPI, и так далее, к 3-4 проекту уже можно из кубиков собирать, сначала может чуть дольше (но не сильно, адаптация куба тоже требует изысканий в мануале, и потому иногда быстрее биты поставить сразу, чем искать их определения), но зато предсказуемо и без тупиков... Это все, конечно, мое личное мнение! Поддерживаю полностью! В таких "кубиках" по крайне мере знаешь, что с чем связано, а в таком аля-cube "программировании" потом черт ногу сломает, неделю назад принесли проект чей-то доработать - так там накубили такого, что пришлось все переделать, увеличить цену заказчику в 2 раза, благо согласился, или отдал бы все обратно - нафиг надо... Изменено 22 мая, 2015 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
inventor 0 23 мая, 2015 Опубликовано 23 мая, 2015 · Жалоба А я посмотрел. Очень плохо. Хотя бы то, что эта библиотечка использует SPL! А SPL даже сами STM забросили, т.к. такое количество быдлокода превратить в конфетку просто невозможно! Взамен SPL они придумали другой образец быдлокодинга: HAL. А чтобы скрыть от пользователя этот ужас, еще и кодогенератор предлагают... не видил что бы они SPL пользовали - они все это переписали заново Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Slash 0 23 мая, 2015 Опубликовано 23 мая, 2015 · Жалоба Спасибо за варианты. Пока остановлюсь на том, что генерит STM32CubeMX. Вопрос к тем, кто им пользуется - вы оставляете структуру папок и в файлах комментарии (USER CODE BEGIN), чтобы добавлять изменения в проект через Cube? Пока думаю проект, сгенерированный Cube класть под контроль версий, копировать файлы в свой проект со своей структурой. Если меняю Cube-проект, смотрю на изменения в файлах и руками вношу в свой проект. Насколько я понял, Mbed - это С++ обертка над STM32Hal. Думаю, как взять нужные части API из Mbed и использовать их. К примеру, класс Thread не тянет за собой ничего, можно пользоваться. Правда придется немного переписать реализацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Corvus 1 23 мая, 2015 Опубликовано 23 мая, 2015 · Жалоба Вопрос к тем, кто им пользуется - вы оставляете структуру папок и в файлах комментарии (USER CODE BEGIN), чтобы добавлять изменения в проект через Cube? Да. Как раз, чтоб можно было вносить изменения через Cube. Пока думаю проект, сгенерированный Cube класть под контроль версий, копировать файлы в свой проект со своей структурой. Если меняю Cube-проект, смотрю на изменения в файлах и руками вношу в свой проект. Можно и так, конечно. Только хлопотно. :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SSerge 6 23 мая, 2015 Опубликовано 23 мая, 2015 · Жалоба не видил что бы они SPL пользовали - они все это переписали заново Используют. Там под ворохом классов и темплейтов скрываются вызовы функций из SPL. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 23 мая, 2015 Опубликовано 23 мая, 2015 (изменено) · Жалоба а может проще под SPL положить слой заглушек для выполнения на РС, чтобы они в конце концов генерили правильный текст, но уже для кросс-компиля? Как в анекдоте "... и вот я снова на Дерибасовской..." :rolleyes: Изменено 23 мая, 2015 пользователем _Pasha Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 23 мая, 2015 Опубликовано 23 мая, 2015 · Жалоба Используют. Там под ворохом классов и темплейтов скрываются вызовы функций из SPL. Насколько я понял, вы о разных либах говорите. Вы (и Эдди) - про STM32Plus, а inventor - про libopencm3. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 23 мая, 2015 Опубликовано 23 мая, 2015 · Жалоба А если не брезгаете пираткой, очень любите потоки и графику то конечно Keil5 + Midleware PRO + Keil_RTX Но к сожалению с CubeMX не идеально совместим Keil5, частично ручкам и копипастом придеться инициализацию ваять. С помощью Кейловской Middleware я не смог создать проекта с USB ни под какую из плат Discovery, вечно чего-то не хватает. А Кубом с его Middleware и HAL - запросто. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться