Полезные ссылки для STM32F4 на русском

Тема в разделе "Флудилка", создана пользователем Alex19, 7 окт 2014.

  1. Alex19

    Alex19 Гуру

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

    В так, как в Амперке появился в продаже http://amperka.ru/product/stm32-nucleo-f401re, решил скинуть полезные ссылки по STM32F4, по которым сам делал робкие шаги, может кому-то будет полезно.

    Прежде всего, это замечательные видео 37 уроков (ссылка на канал
    http://www.youtube.com/watch?v=Qqk81seMlHA&list=PL8OgDYWys_b6XtOjCejd37aVv0ic24jqV)
    Начинать надо с Stm32 Урок 7: Заливка прошивки в плату, автор пропустил, его в начале. После с 1 по последнего. Рассказывает он, как мне показалось предельно ясно. Для решения моей задачи, мне хватило этих уроков. Среда Keil μVision.

    Видео обзор документации на stm32.




    То что еще не читал, а пробежался.

    Лабораторный практикум
    http://www.compel.ru/wordpress/wp-content/uploads/2013/09/Laboratornyiy-praktikum_STM32F4.pdf
    Там вкратце рассматриваются разные среды разработки. Среда CooCox CoIDE.
    В конце, есть Список использованных источников.

    Лабораторные работы.
    http://www.compel.ru/wordpress/wp-content/uploads/2011/12/Labs.pdf
    Среда Keil μVision

    Лабораторные работы.
    http://www.adcomlogod.narod.ru/anton/z2/Lab1.pdf
    http://www.adcomlogod.narod.ru/anton/z2/Lab2_3.pdf
    Среда Keil μVision

    STM32F4 family – Практические занятия
    http://www.emcu.it/STM32F4xx/Exe1/EXE1_stm32f4example_russian_ed.pdf

    Книги на русском по stm32
    http://amberclan.clan.su/load/stm32/knigi_na_russkom_po_stm32f/3-1-0-44
    Хотя книги, лучше всего иметь в печатном варианте, но не для всех доступно (такие книги можно только в крупных городах), да и авторы должны получать зарплату. Но если книги, будут полезны надо покупать оригиналы, это будет справедливо.

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

    Вот мое скромное мнение по STM32F4Discovery, сравнивал с Mega, Due.
    Плюсы для меня.
    1. Они производительнее.
    2. Гибкость, вы все навастриваете сами (он же минус:)).
    3. Большие возможности подключению и встроенная периферия.
    4. Наличие DMA
    https://ru.wikipedia.org/wiki/Прямой_доступ_к_памяти
    Видео на русском в контексте STM32F4


    5. Цена, меньше чем у оригинальной Mega, Due.

    Минусы для меня.
    1. Сложность (когда разбирался, не знал о среде разработки mbed, возможно это ответ)
    2. Меньше готовых примеров/библиотек для работы с периферией (решается хорошим знанием английского, но пока это проблема).
    Их меньше, но для меня они большие.

    И в заключении, ни коем образом не агитирую переходить на STM32, они сложнее в программировании. Но чем больше у Вас будет инструментов, тем лучше.

    Мой основной проект уже переехал на STM32F4Discovery, а как все хорошо начиналось с Mega-ой:(.
     
    shtunder, Megakoteyka и ИгорьК нравится это.
  2. vvr

    vvr Инженерище

    Значит растёшь, удачи!
     
  3. Alex19

    Alex19 Гуру

    Жизнь заставляет, хотя и интересно:).
    Спасибо!

    P.S. Увы среда разработки mbed не поддерживает мою плату.
    А так идея очень интересная, пусть еще не все реализовано, но проект молодой. По сути люди пытаются сделать данные контролеры, такими же популярными как и ардуина, за счет простоты кода. Для нас одни плюсы.
     
    Последнее редактирование: 7 окт 2014
  4. ИгорьК

    ИгорьК Гуру

    ... и гладя на все это, приобрел STM32 Nucleo F401RE поиграться. Правда, когда руки дойдут... Вижу, подсветку лестницы на ней прикольно будет сделать. И ног много, и как я понял, PWM в избытке.
    А подсветка - по сути чуть сложнее чем диодами мигать.
     
  5. Alex19

    Alex19 Гуру

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

    В самой среде mbed, есть примеры для начала, в том числе для PWM.

    Если, кто-то будет работать в обычных средах Keil и т.д.
    Тогда для Вас могут быть полезны библиотеки для NUCLEO-F401RE, STM32F429-Discovery, STM32F4Discovery увы на английском.
    http://stm32f4-discovery.com/2014/05/all-stm32f429-libraries-at-one-place
    Но качество материала, отличное, примеры, описание, распиновка и т.д.

    Данные библиотеки требуют CMSIS.

    Для STM32F4Discovery (STM32F407VG)
    К видео урокам на русском, идут примеры, скачать их можно от сюда
    http://amberclan.clan.su/load
    Keil μVision 4 и выше.

    После распаковки и открытии проекта, нужно настроить соединение. Это описано в Stm32 Урок 7: Заливка прошивки в плату.

    Среда от Keil отличная, но увы в бесплатном варианте имеет ограничение на размер программы для заливки. Благо есть бесплатный аналог CooCox CoIDE.

    А вот среда mbed оставила смешанные чувства, минусы для меня.
    1. Она в интернете, там где иногда приходится отлаживать решения, его нет или он посредственный.
    Решается экспортом в оффлайн среду разработки.
    http://developer.mbed.org/handbook/Exporting-to-offline-toolchains
    2. В документации не нашел пункт DMA
    3. Не понятно, что с дебагом.
    Это не вариант.
    http://developer.mbed.org/handbook/Debugging
    Раньше на Ардуине было достаточно, но после Keil, уже нет:).
    Тоже, решается экспортом
    http://developer.mbed.org/handbook/CMSIS-DAP-MDK
    4. Ограниченный список платформ, не всегда их можно найти в продаже.

    Плюсы
    1. Простота разработки
    2. Наличие готовых библиотек, которые используются целым сообществом, то есть баги будут отлавливаться моментом.

    Почти все минусы решаемы и плюсы хороши, но сейчас DMA мне нужен как воздух. Хотя в большинстве проектов, он не нужен.
     
    ИгорьК нравится это.
  6. vodyanov

    vodyanov Нуб

    Странно что до сих пор нет раздела для Nucleo. Много вопросов, которые надо-бы обсудить.
    Кстати ни Kiel ни CooCox до сих пор не поддерживают Nucleo F411RE.
    Да и MBED не мешало-бы пообсуждать...
     
  7. Alex19

    Alex19 Гуру

    Платой Nucleo, еще не обзавелся. Так как просто нет текущих проектов, для которых требуется STM32F4. Поэтому остановился с STM32.

    На странице указано, что поддерживает - http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF260320

    Версия Keil 5.12
    [​IMG]

    В CooCox 2.0 вроде то же поддерживается.
    Есть даже примеры для 411xE информация тут - http://www.coocox.org/forum/viewtopic.php?f=2&t=5105&hilit=411re.

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

    vodyanov Нуб

    Сам чип да, поддерживается тут вопросов нет. Не не поддерживается сама Nucleo F411RE. То-есть нет нативной поддержки самой Платы в плане GPIO, Lib и т.д...
    И по поводу CooCox - STM32F411 chip is not support in current version of CoIDE.

    P.S. да конечно можно подключить библиотеки из Cube, но как-то не по фен-шую это.
     
  9. Alex19

    Alex19 Гуру

    А что еще надо, по поводу библиотек они есть, та же DSP_StdPeriph.

    В сети есть библиотеки.
    Там 63 библиотеки для периферии поддерживающие
    Сам сомневался, теперь буду знать.

    Фен-шуй у всех свой, сам Cube лично для меня не феншунистый:).

    Конечно Cube проще, но вместе с тем и ограничивающий Ваши возможности. Когда-то смотрел его, много ли там библиотек для работы с периферией? А если понадобится какой-то датчик, которого нет среди библиотек, прерывания, DMA и т.д., то есть Вы сознательно ограничиваете себя Cube. И как только Вы упретесь, придется идти по пути DSP_StdPeriph. Может сразу начать?

    UPD. Впрочем все зависит от Ваших задач.
    Если просто познакомится с новой платой (у самого порой появляется желание, попробовать, что-то новое ), то вполне пойдет Cube.
    Если требуются возможности/производительности данной платы в реальных проектах, то я бы не тратил время на Cube.

    Вот пример кода, чтобы Вы не думали, что там прямая работа с регистрами - http://forum.amperka.ru/threads/stm32f4discovery-uart-dma.3852/.

    Ни чего сложного там нет, но как и везде требуется время и желание.
     
    Последнее редактирование: 14 июл 2015
  10. shtunder

    shtunder Нуб

    Скорее, использовать параллельно + дружить с регистрами. Читать даташит довольно тяжело. Есть вещи которые вначале не упоминаются, а потом натыкаешься на это, страниц через 50. Благодаря CubeMX можно найти сразу отличия (в своем коде и в коде, который генерит CubeMX), а потом разбираться в чем проблема.

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

    CubeMX полезная штука.
     
    Последнее редактирование: 19 дек 2015
  11. Alex19

    Alex19 Гуру

    Со временем я изменил свое отношение к CubeMX. И если использовать его параллельно с пониманием кода, который он генерирует, то да я с Вами согласен, это очень полезный инструмент.

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

    Кстати у данного пользователя появились новый канал по работе с HAL - https://www.youtube.com/playlist?list=PL8OgDYWys_b6s8BhISvA-yY1NXlYFgnn2.

    UPD. Так же мне очень жаль, что нет маленьких отладочных плат, сопоставимый по размерам с Arduino Nano c STM32F4. Есть на STM32F0/3, самый известный Leaflabs Maple Mini (проект скорее мертв, чем жив), есть редкие платы на STM32F4 у европейцев - http://www.mikroe.com/mini/stm32/ и столь же редкие на STM32F4 у китайцев к примеру такие - http://world.taobao.com/item/45320108886.htm?spm=a312a.7700714.0.0.YmhYSS#detail.

    Пайка самих плат для меня не доступна.
     
    Последнее редактирование: 19 дек 2015