День добрый. Пока жду комплектующих из Китая, для основного проекта. Начал заниматься, второстепенными. Моя попытка сделать акустическую мишень потерпела фиаско, но пока ее пытался сделал познакомился с 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-ой.
Жизнь заставляет, хотя и интересно. Спасибо! P.S. Увы среда разработки mbed не поддерживает мою плату. А так идея очень интересная, пусть еще не все реализовано, но проект молодой. По сути люди пытаются сделать данные контролеры, такими же популярными как и ардуина, за счет простоты кода. Для нас одни плюсы.
... и гладя на все это, приобрел STM32 Nucleo F401RE поиграться. Правда, когда руки дойдут... Вижу, подсветку лестницы на ней прикольно будет сделать. И ног много, и как я понял, PWM в избытке. А подсветка - по сути чуть сложнее чем диодами мигать.
Все начинается с простого любопытства. А дополнительный инструмент еще ни кому не помешал. К тому же на этой плате можно сделать, то, что на Ардуине или не возможно или на гране возможностей. В самой среде 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 мне нужен как воздух. Хотя в большинстве проектов, он не нужен.
Странно что до сих пор нет раздела для Nucleo. Много вопросов, которые надо-бы обсудить. Кстати ни Kiel ни CooCox до сих пор не поддерживают Nucleo F411RE. Да и MBED не мешало-бы пообсуждать...
Платой Nucleo, еще не обзавелся. Так как просто нет текущих проектов, для которых требуется STM32F4. Поэтому остановился с STM32. На странице указано, что поддерживает - http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847/PF260320 Версия Keil 5.12 В CooCox 2.0 вроде то же поддерживается. Есть даже примеры для 411xE информация тут - http://www.coocox.org/forum/viewtopic.php?f=2&t=5105&hilit=411re. Возможно кому-то она приглянется, но для меня это шаг на зад. К тому же с такой документацией, почти любой сможет разобраться со стандартными библиотеками от производителя.
Сам чип да, поддерживается тут вопросов нет. Не не поддерживается сама Nucleo F411RE. То-есть нет нативной поддержки самой Платы в плане GPIO, Lib и т.д... И по поводу CooCox - STM32F411 chip is not support in current version of CoIDE. P.S. да конечно можно подключить библиотеки из Cube, но как-то не по фен-шую это.
А что еще надо, по поводу библиотек они есть, та же DSP_StdPeriph. В сети есть библиотеки. Там 63 библиотеки для периферии поддерживающие Сам сомневался, теперь буду знать. Фен-шуй у всех свой, сам Cube лично для меня не феншунистый. Конечно Cube проще, но вместе с тем и ограничивающий Ваши возможности. Когда-то смотрел его, много ли там библиотек для работы с периферией? А если понадобится какой-то датчик, которого нет среди библиотек, прерывания, DMA и т.д., то есть Вы сознательно ограничиваете себя Cube. И как только Вы упретесь, придется идти по пути DSP_StdPeriph. Может сразу начать? UPD. Впрочем все зависит от Ваших задач. Если просто познакомится с новой платой (у самого порой появляется желание, попробовать, что-то новое ), то вполне пойдет Cube. Если требуются возможности/производительности данной платы в реальных проектах, то я бы не тратил время на Cube. Вот пример кода, чтобы Вы не думали, что там прямая работа с регистрами - http://forum.amperka.ru/threads/stm32f4discovery-uart-dma.3852/. Ни чего сложного там нет, но как и везде требуется время и желание.
Скорее, использовать параллельно + дружить с регистрами. Читать даташит довольно тяжело. Есть вещи которые вначале не упоминаются, а потом натыкаешься на это, страниц через 50. Благодаря CubeMX можно найти сразу отличия (в своем коде и в коде, который генерит CubeMX), а потом разбираться в чем проблема. Тогда читаешь даташит на датчик, настраиваешь пины, выбираешь интерфейс. Все. С помощью CubeMX можно быстро настроить пины (без косяков) и никаких ограничений. Никто не заставляет использовать CubeMX от корки до корки. CubeMX полезная штука.
Со временем я изменил свое отношение к 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. Пайка самих плат для меня не доступна.