Темы о stm32 на русском языке.

Ссылки под катом.
Микроконтроллеры STM32.Барьер 4
radio-hobby.org/uploads/journal/radioamator/2012/ra_12_06.pdf

Микроконтроллеры STM32. Барьер 3
radio-hobby.org/uploads/journal/radioamator/2012/RA_12_05.pdf

Микроконтроллеры STM32. Барьер 2
radio-hobby.org/uploads/journal/radioamator/2012/ra-12-04.djvu

Микроконтроллеры STM32. Барьер 1
radio-hobby.org/uploads/journal/radioamator/2012/ra_12_03.djvu

www.stepwood.com/avrsuite/2012/03/17/stm32-konfigurirovanie-taymera/

www.robocraft.ru/blog/ARM/
mycontroller.ru
  • 0
  • 25 февраля 2012, 23:18
  • sasha85ru
  • 1

Комментарии (54)

RSS свернуть / развернуть
Меня постоянно терзает дилема на базе каких микроконтроллеров стоит шагать в изучении микроконтроллерной техники. Валяется LPCXpresso и пару пробных наборов (aka халява) с помощью которых было повторено много уроков из курса от angel5a. Базовой тонкой информации на русском для LPC микроконтроллеров как известно не много, за исключением того же курса от angel5a и пары сайтов со скудными статьями. Напротив стоят STM микроконтроллеры, для которых очень много разжёванных статей на русском. Я понимаю, что умные дяди пошлют со словами «учи английский», но факт есть факт, что на родном языке информация усваивается лучше и больше понятны нюансы.
Если кто-нибудь представит сайты со статьями для LPC микроконтроллеров, желательно на русском, то это было бы замечательно. Например, mcucpu.ru
0
А играет ли это роль? По большому счету все они одинаковы.
0
По большому счёту именно для Вас, профи своего дела) По моему мнению, для таких как я, новичков, важно наличие доступной информации на родном языке, хоть и ядра этих микроконтроллеров одинаковы.
В любом случае, конечно, имеет место желание, но всегда хочется идти по меньшему пути сопротивления, как в случае большей распространённости информации и готовых проектов для повторения для STM микроконтроллеров.
0
Освоив что угодно, потом несложно разобраться во всех остальных вариантах. Я вообще x86 осваивал. Так что без разницы на базе чего начинать — было бы достаточно инфы по этой базе.
Впрочем, английский язык — необходимая вещь для программистов и тех, кто желает работать с буржуйскими детальками. Благо, технический английский быстро заучивается при чтении документации.
+1
Было бы желание) Значит иметь сегодня на руках LPCXpresso — это синица в руках, нежели журавль в небе в виде того же STMDiscovery c огромным количеством информации об этой платформе?..

кто желает работать с буржуйскими детальками
Да тут, в сообществе, 95% проектов на буржуйских детальках)
0
Да тут, в сообществе, 95% проектов на буржуйских детальках)
Вот именно. Поэтому радиолюбителям нынче технический английский столь же необходим, как и программистам.
Значит иметь сегодня на руках LPCXpresso — это синица в руках, нежели журавль в небе в виде того же STMDiscovery c огромным количеством информации об этой платформе?..
Честно говоря, не вижу большой разницы между этими платформами. Ну, разумеется, если есть возможность прочитать официальную документацию (а она на английском).
У самого у меня все подряд МК есть. C51, AVR, PIC, MSP430, STM8, STM32, LPC, и еще демоплатка от Renesas с V850. И большой разницы в работе с, например, C51, AVR или STM32 я не вижу.
0
У меня, скорее всего, другое понятие о работе с микроконтроллерами или точнее сказать необходимая степень знаний, чтобы говорить, что я освоил данный тип микроконтроллеров. Для меня это знать досконально структуру, вплоть до пошаговой работы ядра, происходящих процессов при каждом такте генератора, как я и осваивал PIC микроконтроллеры в университете на лабораторных занятиях. Или это ошибочное мнение? Достаточно ли знать необходимые библиотеки и принципы работы вложенных в них функций для того, чтобы сказать: «Да, я освоил этот микроконтроллер»?
0
В 95% случаев настолько глубоко знать работу МК не требуется (а для половины перечисленных — бессмысленно, например, растактовка выполнения кода из флеша на STM8 практически непредсказуема) — достаточно ознакомиться с необходимой начальной инициализацией и требуемыми для задачи блоками.
В оставшихся же случаях эти тонкости и изучаются по мере необходимости.
знать досконально структуру, вплоть до пошаговой работы ядра, происходящих процессов при каждом такте генератора
Гм, а разве эта информация вообще доступна кому-то, кроме команды инженеров, разрабатывающих МК? Во первых, это врядли нужно, а во вторых — секрет разработчика МК. В документации же он описан как черный ящик — кушает на вход такие-то команды, они делают такие-то действия и выполняются за такое-то время.

Кроме того, все эти детали достаточно схожи, и зная как работает один МК — понять работу другого будет просто.

А так, разумеется, в такой детальности все эти МК я не знаю. Какие-то глубже, какие-то хуже (V850 например вообще не изучал еще), какие-то детали вообще знаю «в общем».
0
Таким образом, насколько я понял, основополагающее — это знание имеющихся регистров и заложенных в них параметров — битов?..

Гм, а разве эта информация вообще доступна кому-то, кроме команды инженеров, разрабатывающих МК?
Ну, думаю да) Например, PIC микроконтроллеры, которые мы изучали в университете. В дополнение я изучал книгу «PIC-микроконтроллеры. Все, что вам необходимо знать» Сида Катцена. Там описано как при каждом такте происходят различные процессы в ядре, как происходит на уровне железа сложение, вычитание, короче говоря всё и досконально. Это конечно не требовалось по программе курса, но мы должны были знать работу микропроцессора по блоковой диаграмме (может я уже ошибаюсь в названии), где нужно описать откуда и каким образом берутся адреса и как они передаются по шинам, как происходит их выборка, как работает стек и т.д.
0
Таким образом, насколько я понял, основополагающее — это знание имеющихся регистров и заложенных в них параметров — битов?..
Скорее даже знание как все это в целом устроено и работает. Конкретную информацию всегда можно прочитать в даташите (или мануале по программированию). Собственно, если ты настолько глубоко знаком с PIC'ами, все необходимые знания у тебя уже есть, и чтобы успешно воспользоваться другим МК много изучать не потребуется.
Ну, думаю да) Например, PIC микроконтроллеры, которые мы изучали в университете.
Возможно, мы несколько разные уровни под этим понимаем) Ну и даже в такой детализации эта информация нужна для понимания как в общем устроен и работает МК. Знать эти детали в точности для каждого МК обычно не требуется (хотя именно их и придется покурить, чтобы понять, например, почему скорость исполнения кода из флеша у СТМ8 малопредсказуема, а из ОЗУ — предсказуема, но низка).
0
Это конечно не требовалось по программе курса, но мы должны были знать работу микропроцессора по блоковой диаграмме (может я уже ошибаюсь в названии), где нужно описать откуда и каким образом берутся адреса и как они передаются по шинам, как происходит их выборка, как работает стек и т.д.
Ну и я имел в виду несколько более низкий уровень — как работает процессор на уровне его составляющих, более мелких, чем показанные на приведенной в даташите диаграмме.
0
Знаком с PIC, но не плаваю в море микроконтроллеров от MicroChip. Подвергся влиянию, что PIC — не хорошо, а AVR — это классно. А заполучив LPCXpresso и узнав, что одной функцией из библиотеки можно запустить космический корабль, так вообще ринулся вспоминать язык С и пробовать повторять проекты для LPC. В итоге, ни того, ни другого. В любом случае, спасибо за формирование сознания в области МК. Нужно хорошенько подумать, стоит ли сейчас дальше браться за LPC или всё-таки, имея уже опыт, подкреплённый знаниями структуры, возвратиться к PIC МК.
Я верно понимаю, что для PIC также можно найти кучу библиотек для работы с периферией, различными протоколами передачи данных, типа UART, и т.д. причём на языке С? Например, для IDE MPLAB?
Заранее извинюсь, если я достаю такими, для Вас назойливыми и простыми, вопросами…
0
Полно примеров… Скачайте с офф. сайта микрочипа — Microchip Application Library, там тонны примеров с исходным кодом.
0
Спасибо за наводку, посмотрю.
0
Насколько я понял, там библиотеки только от PIC18 и выше, но нашёл достаточно информации о моём вопросе про PIC на других сайтах) Спасибо)
0
У самого у меня все подряд МК есть. C51, AVR, PIC, MSP430, STM8, STM32, LPC, и еще демоплатка от Renesas с V850.
Есть к чему стремиться)
0
Может, быть У Вас проблема несколько иная? Скажем, непонимание некоторых выкрутасов в языке С, связанных с указателями, структурами, объединениями, какие библиотеки лучше, а что лучше, KEIL, IAR или свободные среды и компиляторы и т.д.? Вот в этом разнообразии вопросов, начинающему действительно трудно сориентироваться.
+1
А вот это и правда общее для всех МК.
0
Да, думаю вы смотрите в корень насчёт сред разработки, но выбора у меня нет с LPC) LPCXpresso работает только с IDE LPCXpresso… Для этого у меня есть базовые знания языка С и уж извольте, нюансы и выкрутасы пока для меня далеки) Опять же приведу пример на PIC МК, программированием которых мы занимались на Ассемблере и было всего 33 команды, 8-битные числа и работа сводилась к пониманию более работы железа, чем программирования как такового.
Может у Вас есть на примете статьи, которые могут помочь разобраться? Например, я поверхностно понимаю слова «Keil в привязке с GCC» или «Eclipse + GCC + GDB». Буду признателен.
0
Keil и IAR это среды разработки в составе которых есть их собственные компиляторы кода. Но они платные, как Вы понимаете. GCC, это свободно распространяемый компилятор с своим синтаксисом, но к нему нужен инструментарий для написания кода, коими являются такие как Eclipse, SlickEdit и т.п. Отсюда и связка Eclipse + GCC. Но и Keil с IAR тоже понимают этот синтаксис, о чем их предупреждают, настраивая свойства проекта. Меня может быть поправят, но используя синтаксис GCC можно быть уверенным, что проект будет подхвачен любой средой разработки, поддерживающий его.
0
Благодарен за разъяснение… Так будет намного проще разобраться в море информации, нежели искать по словам «что такое GCC». Спасибо…
0
Если хотите осваивать АРМы, то тут уже больше надо вникать в тонкости Си, а работу контроллера достаточно представлять в виде функциональных периферийных модулей. Конкретные настройки регистров все равно в голове не удержать, их слишком много. Вся конкретика всегда берется из даташита во время работы. Главное не забывать включать такты на нужный модуль, Ну и представлять, чего же Вы хотите от МК. А дальше проблем обычно не возникает…
0
Вот если бы статьи начинались с ваших слов, как общий смысл происходящих вещей, то было бы меньше проблем у новичков в освоении вообще любой вещи. Это, конечно, не осуждение авторов. Опытным разработчикам это всё понятно, т.к. за плечами огромный опыт, но тем, кто хочет повторить проект в целях образования, многие вещи сразу же непонятны и получается стопор.
Спасибо! По крайней мере, на первых парах это избавляет от дотошного поиска информации для понятия принципа работы с МК конкретного типа.
0
Вообще процесс разработки происходит примерно следующим образом:
1. Хочу устройство с LCD, клавиатурой, ethernet'ом, кучей лампочек, блэкджеком и шлюхами.
2. Расписываем все по количеству требуемых для управления ног, сразу выделяя однотипные интерфейсы управления и тому-подобное.
3. Смотрим доступные нам камни, которые подходят по количеству ног, наличию нужных интерфейсов, цене, наличию.
4. Рисуем принципиальную схему и желательно параллельно собираем все это на макетке.
5. Занимаемся программированием вводя в действие один модуль за другим поэтапно. Иногда при сложном модуле стоит отладить работу с ним в отдельном проекте, поэкспериментировать по полной программе, а потом уже переносить код в финальный проект. Попутно идет детальное курение даташитов.
6. Отработанные модули окончательно объединяются в общий проект, вылизывается общая структура проекта и взаимодействие между модулями.
7. Тестирование устройства
8. Разводка печатной платы
9. Тестирование готового устройства.
+1
Еще забыл добавить: в пункте 2, когда расписываются ноги и интерфейсы уже намечается некая логическая структура, как все это должно между собой взаимодействовать, в каком порядке. И эта структура уже учитывается в пункте 5.
+2
Этот план для разработки конкретного устройства, весьма, с моей точки зрения, рациональный. Обязательно возьму на заметку! У меня немного другое положение — есть что изучать: LPC на LPCXpresso или прикупить что-нибудь из STM, вследствие большего разнообразия информации. Да или «скатиться» на более изученный мной PIC МК. Но выбор, исходя из бурного обсуждения и переписки с опытными радиолюбителями, сделан в пользу того, что есть — LPC. Только было бы желание и… время)
Спасибо за обмен опытом)
0
Главное — желание. Тогда и время найдется ;)

Удачи.
+2
А какие настройки следует сделать в Иар чтоб он понял GCC?
Я так понял что они находятся тут
Project Options -> C/c++ Compiler -> Language
Там что?
И Misra тоже надо настраивать?
0
Не, это я погорячился )) Не подцепить GCC к IAR-у. MISRA не ставьте.
0
STM получила большее распространение среди любителей, отсюда и делаем вывод что по стм32 быдет больше информации. Так же на данный момент старт для стм32 является более дешёвым (сама плата дискавери стоит дешевле и появилась бесплатная среда разработки с поддержкой отладчика. Плюс вертикальная совместимость.
С другой стороны перейти с лпц на стм будет не так сложно (помоему), по этому смотрите по текущему своему положению.
0
Да, соглашусь, лучше синица в руках, чем журавль… Желание осваивать должно быть превыше всего, но ведь всегда хочется идти по меньшему пути сопротивления)
0
ziblog.ru/category/stm32/
но кажется где-то тут уже встречалось
0
Политика NXP для масс начинающих оказалась не на высоте. При выигрышном продукте, бог их знает почему, не пошли путем STMicroelectronics. Наверно, дела неплохо идут и без этого.
0
  • avatar
  • DVF
  • 26 февраля 2012, 02:26
Наверно, дела неплохо идут и без этого.
Возможно.
Чего не скажешь о ST:
Финансовое положение ST вызывает опасения
0
С чего бы у NXP заведомо выйгрышный вариант? пожалуй у них самые перспективные по сравнению с ST это из серии cortex-M0 и M4+M0
0
толку от таких сайтов для начинающих не много — банальный переведенный ДШ, описание модулей, регистров… что уже давно сделано и доступно в сети. Начинающим интересны статьи типа пошаговые руководства по работе с софтом, создание первых программ, например, как у меня или Дихальта we.easyelectronics.ru/PIC/programmirovanie-pic-na-s-ccs-pic-c-compiler.html, easyelectronics.ru/arm-uchebnyj-kurs-iar-ewarm-sozdanie-proekta.html.
0
  • avatar
  • Flash
  • 26 февраля 2012, 06:06
*поправкм — у rtxonair, easyelectronics.ru/arm-uchebnyj-kurs-iar-ewarm-sozdanie-proekta.html
0
У NXP есть чипы Cortex M-0 в очень удобных корпусах SO и даже DIP (послать нах STM8 и AVR можно). И ваще, NXP рулит — инфы по ним не меньше на оф.сайте и в тырнете и библиотеки свои есть — на Западе он очень популярен. Ну и у нас, в рассеи, есть Миландр Cortex M-3 в дешевом LQFP. Так что, не stm32 единым — тем паче, что это просто одна из реализаций ARM Cortex.
0
У NXP они, может быть, и есть. У дистрибьюторов только их что-то не видно. Вот где конкретно можно их купить? Вот так сразу: заплатить и взять, а не через полгода. Напр, LPC1112FD20.
0
набрёл на сайт про асм для стм32, пост отредактировал.
0
Сайт ориентирован на язык программирования Ассемблер, т.к. это единственный язык, на котором возможно писать программы для микроконтроллеров.
Чё за нах? Как на такой сайт вообще можно давать линк?
+1
А я это даже не заметил. С асмом пока не разбирался, но ссылки складирую на всякий случай.
0
Полистал сайт. Нда…
Как на такой сайт вообще можно давать линк?
Поддерживаю.
0
Для начала создайте новый чистый проект. Затем подрыгайте ножкой.
0
А тех.информация на нём хоть на 50% достоверна?
0
Ну, тех.информация — громко сказано. Сайт умер при рождении, т.е. не обновляется более полугода.
0
Что-то правильное есть. Но лучше не заглядывать на сайт ближайший год, т.к. толку там…
0
Лучше почитать psv на этом сайте, ИМХО.
0
Можно ещё добавить статьи С.М. Рюмика в журнале Радиоматор за этот год (кажется с третьего номера) «Микроконтроллеры STM32».
0
  • avatar
  • ZiB
  • 09 августа 2012, 12:29
Добавил ссылок.
0
добавил ссылку
0
mycontroller.ru/stm32-vosproizvedenie-wav-faylov/
сайт стремительно пополняется однако.
0
Добавил PDF нарытую где-то в гугле. См прикреплённый файл. (Пакова с помошью 7z)
0
Последняя ссылка в посте не фунциклирует уже, однако…
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.