Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: Stm32 с чего начать изучение...

Сб авг 13, 2016 21:03:03

SashaN123 писал(а):озможно Виринг это некое и подмножество того же С++, зато адаптировано для начинающих.
В чем заключается эта адаптация? Какими были плюсы, теми и остались. :)

SashaN123 писал(а):домашний программист
Бывают еще и дикие (не прирученные) программисты? :shock: :)

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

Re: Stm32 с чего начать изучение...

Сб авг 13, 2016 22:43:38

Домашний- это не профессиональный.

Стянуть написанные для другого процессора из Ардуны? И заработает?

Все это шаманство. Нужен нормальный проект типа Ардуино для АРМов...

Re: Stm32 с чего начать изучение...

Сб авг 13, 2016 22:49:40

Мурик писал(а): В сети можно найти можно различных библиотек для железок.


В сети много чего валяется работающего и не работающего. Где нормально организованное сообщество АРМистов , работающих по единым правилам?

Re: Stm32 с чего начать изучение...

Сб авг 13, 2016 23:36:52

SashaN123 писал(а):В сети много чего валяется работающего и не работающего. Где нормально организованное сообщество АРМистов , работающих по единым правилам?

Для создания чего то посложнее "помигать светодиодами на МК, при этом даже не используя паяльник", то в любом случае придется разбираться с регистрами, флагами, и прочим, будь то AVR, PIC, STM, или чтото еще.

Есть официальный форум ST, где очень хорошо описано множество проблем, если "домашний программист" не желает в этом всем копаться, может тогда лучше купить уже готовое изделие, что сэкономит много времени, нервов и возможно денег

Что Вы имеете ввиду под "едиными правилами"? Есть SPL где очень хорошо самодокументированы все регистры и возможные значения к ним, вот пример:
Код:
ADC1->CR2 |= ADC1_ALIGN_RIGHT;         //output data as Right alignment
ADC1->CR1 |= ADC1_PRESSEL_FCPU_D10;     //prescaler selection as 10, 500kHz/10 = 50kHz
ADC1->CR1 |= ADC1_CR1_ADON;         //Turn ADC on.

что делает этот код, догадатся думаю не сложно уже только с названий переменних

Re: Stm32 с чего начать изучение...

Сб авг 13, 2016 23:49:19

Нагуглил http://www.stm32duino.com/index.php

Похоже где то там за бугром думают о том, что я говорил.
Что скажите?

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 03:15:35

scorpi_0n писал(а):
SashaN123 писал(а):Чего такого для дома на СТМ32 есть разработанного, чего на ардуино нельзя было б сделать?

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


Одна плата Raspberry Pi заменит 100 микроконтроллеров STM32F0xx и что? Согласен, что для дома STM32 даром не нужны, ПО для экспертов электронщиков, часто платное, слабое сообщество, мало литературы. Нужны микроконтроллер - Atmega, нужно воспроизводить Full HD или вычислять что-то сложно берем Raspberry Pi, STM вообще ни где не к месту. Худший выбор разве что PIC 16-битные, Paralax propeller, ПЛИС, только для узкоспециализированных профессионалов.

Если нужно что-то среднее, есть Arduino Due (ARM 32 bit процессор), нужно еще мощнее Arduino Yún (Линукс на борту STM32F0xx нервно курит в сторонке), неожиданно прокаченные такие Ардуины. Последняя может по WiFi прошивку обновлять, иногда удобно. По цене 10$ и 20$.

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 03:19:19

SashaN123 писал(а):Все это шаманство. Нужен нормальный проект типа Ардуино для АРМов...



Arduino Due, уже лет 5 как такая плата, просто улучшенная Arduino, Atmel SAM3X8E ARM. Если нужно больше мощности Arduino Yún
https://geektimes.ru/post/255802/

Как раз там развитое сообщество, соответственно отлаженное ПО и много примеров.

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 07:49:42

Sim, я смотрю логика до сих пор хромает.
Тот же F0 в поделках DIY намного. Лучше и Малинки и авр. Но чтоб это осознать нужны мозги.
У тебя их как не было так и не будет.

SashaN123, выше сказанное относится и к вам. Использовать аурдунью могут только особи не способные кодить.

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 08:37:57

SIM31 писал(а):Одна плата Raspberry Pi заменит 100 микроконтроллеров STM32F0xx и что?

Пример привести сможете?
Согласен, что для дома STM32 даром не нужны,

Наоборот. STM32 для дома даже очень хороши, во всех отношениях.
ПО для экспертов электронщиков, часто платное,

Угу, так сразу и поверил.
слабое сообщество,

Самое слабое сообщество - ардуина. Варятся в собственном соку, без перспектив развития.
мало литературы.

Да куда же ещё больше?
Нужны микроконтроллер - Atmega,

О да! Они даже Атмэлу уже не нужны. И причём уже давно.
нужно воспроизводить Full HD или вычислять что-то сложно берем Raspberry Pi,

Это уже другая песня.
STM вообще ни где не к месту. Худший выбор разве что PIC 16-битные, Paralax propeller, ПЛИС, только для узкоспециализированных профессионалов.

Сымый худший выбор сегодня это заброшенная и забытая Атмэлом мега. Её ущербность просто поражает.
Если нужно что-то среднее, есть Arduino Due (ARM 32 bit процессор), нужно еще мощнее Arduino Yún (Линукс на борту STM32F0xx нервно курит в сторонке), неожиданно прокаченные такие Ардуины. Последняя может по WiFi прошивку обновлять, иногда удобно. По цене 10$ и 20$.

Смешно! Вместо АРМа предлагаете взять АРМ. :)))

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 09:57:17

А что, http://ru.aliexpress.com/item/mini-Stm3 ... Title=true ардуиновской средой быстрого программирования не поддержана? И что мешает этому?

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 10:06:35

SashaN123, зачем под эту плату кодить в ардуиноИДЕ если есть EmBitz + SPL или HAL? Или хотите сказать что под эту плату в ардуиноИДЕ доступна отладка через ST-LINK или J-LINK, а так же есть возможность использовать SPL или результат экспорта куба?

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 10:18:15

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

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 10:24:34

Вы же сами написали что ардуина не для программистов. Вот напишет такая "домохозяйка" кривой код и не поймет почему он не работает. А пошаговая отладка покажет "домохозяйке" где ошибка.
Так что отсутствие поддержки отладки это огромный минус!

SashaN123 писал(а):Отладками на таком уровне пусть системные программисты занимаются в соответствующих средах
Вы когда-нибудь что-то отлаживали (не важно, для компа или для МК)? Видимо нет, раз пишите такое не понимая преимуществ отладки.

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 10:43:03

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

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 13:26:37

SashaN123 писал(а):Отладками на таком уровне пусть системные программисты занимаются в соответствующих средах, а не прикладники, которым надо думать над функционалом изделия, а не в кишках процев копаться. Для них нужна среда с большим количеством уже отлаженных драйверов и функций.

И кто для вас это всё писать будет? А то на ардуинофорумах всё чаще возникают темы "Напишу скетч за деньги" и ответы на вопросы "Гугл вам в помощь". И хотя я догадывался, что на ардуине "всё очень плохо", но устойчивое "всё просто отвратительно" просто поражает своими масштабами.
SashaN123 писал(а):Когда то я программировал объекты народного хозяйства в специальных технологических языках для контроллеров. Весьма успешно и внутренностями контроллеров не заморачивался. Этим занимались системные программисты, которые различные периферийные железки к стандартной процессорной плате прикручивали , отлаживали и в мою среду программирования интегрировали. А, я этим пользовался уже в своих программах.

Прогание соковыжималок и кофемолок не имеет ничего общего с кодингом на МК. Вы явно что-то путаете и совсем не в теме.

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 14:40:55

dosikus писал(а):Sim, я смотрю логика до сих пор хромает.
Тот же F0 в поделках DIY намного. Лучше и Малинки и авр. Но чтоб это осознать нужны мозги.
У тебя их как не было так и не будет.

SashaN123, выше сказанное относится и к вам. Использовать аурдунью могут только особи не способные кодить.


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

STM32 остается для фанатов задротов

- освоим убийцу Atmega из принципа, чтобы быть круче всех на форуме
- сэкономю 0.5$ и потрачу месяц свободного времени

Так же STM32 для узко специализированных кодеров, ни разу не творческих людей, которым ставят задачу, они кодят без понимания сути. Потому что слишком сложно, у STM32 один таймер сложнее всего микроконтроллера Atmel.

Осваивать STM32, ПЛИС, SoC можно и нужно, но не для дома, за счет работодателя в рабочее время, используя платные курсы которые оплатит работодатель и отладочные платы за сотни долларов.

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 14:45:33

Кофемолками не занимался. Это были объекты нефтедобычи и цеха пищевой промышленности. А контроллеры - на базе РСсовместимых промышленных процессорных плат. Трешки и выше...
АРМы по производительности те трешки, думаю, уже обогнали...
Значит те технологии вполне применимы.

Что толку, что железо АРМовских китайских плат по деньгам дешевое, зато затраты на программирование во много раз больше. Если хотите что бы товар пошел в массы, делайте массово доступную среду. На базе Ардуиновской, например...

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 15:12:26

Смысл спорить? Если не хотите осваивать STM32 и применять их на практике при разработке устройств, что вы забыли в этом разделе форума? Или все ради холивара?
Хватает AVRов для решения задач - отлично. Используйте их дальше. :)

Задачи бывают разные и далеко не все их можно решить используя AVR/ардуино. Простейший пример. Нужен скоростной обмен по SPI (допустим работа с дисплеем) или USART. На AVR или ардуино как решают такие задачи? В лучшем случае настраивается прерывание в котором забирают или загружают данные в периферию. Но если МК прерывать десятки, а то и сотни тысяч раз в секунду у него больше ни на что не останется времени. :))) В STM32 эта задача решается элементарно. Совместно с нужной периферией настраиваем DMA и мере необходимости загружаем или выгружаем данные в буфер памяти. :) Процессор не занимается загрузкой/выгрузкой данных из периферии. Это задача DMA. И вместо тысяч прерываний в секунду, получаем скажем 10 прерываний (зависит от размера буфера). :)
И это не единственный пример того как почти нереальная задача для AVR8 просто решается используя STM32. :)
А еще в STM32 имеется приоритетный контроллер прерываний, позволяющий на аппаратном уровне реализовать прерывание внутри прерывания. :)

Наверное те кто тут яростно утверждают что ардуино это круто, а STM32 не нужен, видимо даже не пытались изучать предмет вопроса считая что STM32 для них нереально сложный! :)))

Можно всю жизнь прокататься на велике думая что получить права на вождение мотоцикла или автомобиля это нереально сложно. :)))

SashaN123 писал(а):Что толку, что железо АРМовских китайских плат по деньгам дешевое, зато затраты на программирование во много раз больше.
Это вы так предполагается или реально пробовали изучать STM32? Или после ардуины ничего другого изучить не получается? :facepalm:
Затраты на программирование не больше чем для AVR. :)

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 15:58:53

Мурик писал(а):Смысл спорить? Если не хотите осваивать STM32 и применять их на практике при разработке устройств, что вы забыли в этом разделе форума? Или все ради холивара?


Вопрос был о удобной платформе для дома, для проектов выходного дня. Не для разработки автопилота для Боинг 747, или управления атомным экспериментальным реактором. Давайте подходить объективно. Типичная задача для дома управлять светом например, имитировать проходной выключатель, когда забыли кабель проложить и т.п. Поэтому и разумно, в зависимости от требований, обратить внимание на другие платформы, как и более простые и дружественные к новичкам, так и более мощные, и тоже дружественные.

Задачи бывают разные и далеко не все их можно решить используя AVR/ардуино.


И не все можно решить на STM32, некоторые задачи решит ПЛИС или SoC типа платы Raspbery Pi 3.

Простейший пример. Нужен скоростной обмен по SPI (допустим работа с дисплеем) или USART. На AVR или ардуино как решают такие задачи? В лучшем случае настраивается прерывание в котором забирают или загружают данные в периферию.


В голове возникает автопилот для Боинга 747, что опрашивает 10 000 датчиков в реальном времени. Разработчик сидит с Ардуино UNO :) Конечно выгонят такого, и возьмут программиста для системы SoC или ПЛИС, слишком много данных для одноядерного процессора. Для работы с экраном уже желательны к применению более мощные платформы.

В STM32 эта задача решается элементарно. Совместно с нужной периферией настраиваем DMA


DMA уже не кажется элементарным ни разу, снесет всё память и не поймешь в чем дело. Элементарно DigitalRead(), SerialPrintLn().

Элементарно на SoC на Питоне написать скрипт, что заберет объемы данных в 1000 раз больше, чем на STM32, обработает сложным фильтром и выведет данные на Full HD экран используя аппаратный Open GL.

STM32 завис меж двух огней, не такой простой и дубово живучий как Atmel (да и PIC), и не такой мощный как дешевеющие SoC (типа Raspbery Pi 3, многоядерный с Линуксом на борту, аналоги уже от 5$, но Raspbery команда что делает великолепный код, стабильный, быстрый, всё продумано).

Вот пример платы с Линуксом на борту за 5$
https://geektimes.ru/company/dadget/blog/279418

Согласитесь, что порог вхождения ниже, чем для STM32 - не нужны никакие DMA.

И это не единственный пример того как почти нереальная задача для AVR просто решается используя STM32. :)


Можно еще в пример ПЛИС привести, чип Spartan с 10 миллиардами логических элемнтов. Можно аппаратно умножать 10000 битные числа за 1 наносекунду тысячью потоков параллельно. Круто же! Но это же не домашнее применение, это разработка уровня программистов Боинга 747, что-то вроде обработки радиосигналов в реальном времени без аналоговых преобразований.

А еще в STM32 имеется приоритетный контроллер прерываний, позволяющий на аппаратном уровне реализовать прерывание внутри прерывания. :)


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

Re: Stm32 с чего начать изучение...

Вс авг 14, 2016 16:07:44

SIM31 писал(а):Включите пожалуйста мозги сами. Тезис был - Ардуино для дома (домашних поделок).

Для дома лучще STM32, а не ардуина. Даже если вам это и не нравится, но это факт.
STM32 остается для фанатов задротов

- освоим убийцу Atmega из принципа, чтобы быть круче всех на форуме
- сэкономю 0.5$ и потрачу месяц свободного времени

Никто мегу не убивал, кроме самого Атмэла.
Так же STM32 для узко специализированных кодеров, ни разу не творческих людей, которым ставят задачу, они кодят без понимания сути. Потому что слишком сложно, у STM32 один таймер сложнее всего микроконтроллера Atmel.

Что-то у вас не сходится. Если у STM32 сложный таймер, то там и найдётся место для творчества. А откуда творчество на ардуине, если УАРТ и тот софтовый? Это как пытаться нарисовать картину тремя мелками одного цвета.
SashaN123 писал(а):Что толку, что железо АРМовских китайских плат по деньгам дешевое, зато затраты на программирование во много раз больше. Если хотите что бы товар пошел в массы, делайте массово доступную среду. На базе Ардуиновской, например...

Вы что-то путаете. Доступных сред хватает, в том числе и на ардуино. Да и многие задачи на STM32 решаются проще и быстрее чем на ардуине по причине убогости ресурсов меги.
Последний раз редактировалось scorpi_0n Вс авг 14, 2016 16:10:57, всего редактировалось 1 раз.
Ответить