#1 2016-05-11 12:13:37

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Кто использует STM32?

Не сочтите за флуд мое предисловие ( почему то всегда у меня получаются целые опусы  big_smile ). И так последнее устройство ( не люблю громкого "проект"  lol ) законченно, "допиленно" и работает smile , но осталось много "но". Чтобы было понятно причем здесь STM32 и какие "но", коротко о устройстве. Назначение устройства - управление инкубатором ( ну есть у меня еще одно хобби - разведение птицы  lol ). Попытаюсь вкратце о железе и ПО  wink . Железо: связка Arduino Mega2560 R3 ( китай CH340 ) и ESP8266-12f, дисплей 128х64, датчики DS18B20 и DHT22, реле обычные и твердотельные, актуатор, вентиляторы. ПО написано в Arduino IDE 1.6.5-rc5 в том числе и для ESP. Как работает ПО, основная работа выполняется на Mege (дисплей, термостат, управление периферией) данные о состоянии передаются через сериал (формат JSON) в ESP. В ESP работает WEB сервер и FS. Состояние и настройки можно делать через ВЭБ интерфейс, (есть обратная связь ESP -> Mega), кроме этого данные передаются на MQTT сервер ( сервер на роутере , это работает но пока не используется smile ) а также на thingspeak.com, из этого сайта берутся фреймы графиков для главной вэб страницы. Из этого сайта информация также поступает на мобильный (есть готовые приложения и виджеты в которых можно настроить Alarm). А теперь пришла очередь "но". В результате работы (уже в "боевых" условиях) и "допиливания" ПО,  через несколько суток работы возникли самопроизвольные перезагрузки, сначала были устранены возможные причины по питанию, после этого был тщательный анализ ПО в результате был сделан вывод причина - "сторож". Стало не понятно, почему вдруг он начал "гавкать", решил посмотреть временные интервалы процедур. И тут первый "сюприз" Mega вроде и живая но перезаписываться не хочет (не происходит проверка, нет "read" проблема описана в инете) то есть "сдох" boot. Мегу заменил на другую (покупал две, была запасная big_smile ), вот работает уже несколько дней все окей. На новой Меге был сделан анализ таймов процедур который и привел к неутешительным выводам. Коммуникация в архитектуре AVR - ахилесова пята (отсутствие DMA это ну очень большой минус), второе  это "тупые" прерывания. Как результат работы с прерываниями- трое убитых суток в попытках работы с актуатором по "взрослому" (с чтением датчика вращения), в результате плюнул на этот датчик, так и не понял то ли брак актуатора (хотя маловероятно) или у меня "лыжи не едут". Третье - "сторож" в моей задаче 8 сек это впритык для loop, тут опять же ничего не сделаешь 8 битовая архитектура. Да конечно соглашусь по поводу оптимизации кода и библиотек возможно не все гладко, но пришло наверное время смотреть в сторону STM32. Тем более что еще где то пол года назад (как в АrduinoIDE появилась  "поддержка" STM32) купил Maple mini (даже цена STM32 и ArduinoMega2560 это несомненный плюс). Вот и начал потихоньку "щупать" STM  и возникли первые вопросы в какое корыто садится ( IDE ) скачал кайл, кокос и смотрю как "баран на ворота" lol .

Неактивний

#2 2016-05-11 20:19:37

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Кто использует STM32?

Nefreemen, привет, попробуйте teensy, теже лыжи, но на кортексе М4 ) этот фрискейл довольно занимателен,
http://arduino-ua.com/prod977-teensy-3-1

могу первичный  ликбез провести по cortex`ам за бокалом пива ) когда по делам будете в городе, и так что б без машины? )

Неактивний

#3 2016-05-11 20:32:01

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Кто использует STM32?

Nefreemen посмотрите в сторону СooCox IDE + RTOS
не скажу что это привычно после loop от arduino но думаю что это правильно  для Вас
если не будет совместного доступа к железу с разных задач
СooCox среда немного глючная, но бесплатная, + плюшки от eclipse, писать проще
Keil и IAR - дорогие, и хороши  в отладке, спору нет,  раньше пользовался, но подустал покупать ключи на новые версии
бесплатные версии до 32к наверное подойдут, но я не рекомендую пользоваться ломанным ПО, а когда то наступит момент что 32к будет мало )
те варианты где нужно ручками компилятор прикручивать - сейчас настоятельно не рекомендую  использовать  )

Остання редакція NoName (2016-05-11 20:32:51)

Неактивний

#4 2016-05-11 20:50:53

lkj
Учасник
Зареєстрований: 2016-02-03
Повідомлень: 104

Re: Кто использует STM32?

Хорош и бесплатен СooCox IDE. В отладке тоже хорошо.
IAR в рекламе не нуждается.

Неактивний

#5 2016-05-11 22:55:16

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

NoName пише:

Nefreemen, привет, попробуйте teensy, теже лыжи, но на кортексе М4 ) этот фрискейл довольно занимателен,
http://arduino-ua.com/prod977-teensy-3-1

могу первичный  ликбез провести по cortex`ам за бокалом пива ) когда по делам будете в городе, и так что б без машины? )

Спасибо за предложение. Только когда буду в Киеве это еще тот вопрос. За 20 лет так надоел что теперь по приезду за пол дня от шума и людей так устаю... Да и на машине переть свой зад за  300  км дороговато  lol. Скачал куб от стм посмотрел более мене понятно, но это скорее инструмент а не ИДЕ, посмотрел кайл и кокос как то все не привычно и не понятно. Сегодня посмотрел видео по матлаб. Короче полный бардак в голове. По поводу кокоса, 2 версия полный абзац  roll, скачал 1.7.8 хоть "кнопочки работают" lol . И так у меня есть мапл мини на 103СВТ8 и ст-линк. Под линк дрова поставил. Информации по ST32 крайне мало и та уже на тех кто уже хоть что то понимает. Ох, чуйка подсказывает что будет как с АВРстудией до 5 версии все чудесно, а уже в 6 глаза "разбежались" и так и не сошлись lol, плюнул, тем более что перестала поддерживать мой СТК500 и житаг а в дракончике я подпалил резет sad в результате оказался я в ардуино. Но по видимому пришло время "наводить резкость"  lol . Спасибо за советы. Иногда заглядывайте сюда потому что точно будут глупые вопросы  lol .

Неактивний

#6 2016-05-11 23:15:41

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

NoName пише:

Nefreemen, привет, попробуйте teensy, теже лыжи, но на кортексе М4 ) этот фрискейл довольно занимателен,
http://arduino-ua.com/prod977-teensy-3-1

могу первичный  ликбез провести по cortex`ам за бокалом пива ) когда по делам будете в городе, и так что б без машины? )

Да забыл по поводу teensy, за такую цену mad...Нее, со спиной у меня серьезные проблемы но не с головой  smile . И по поводу "лыж" в ардуино ИДЕ есть поддержка моей платы (на 103СВ) это не вопрос smile и брать teensy ради ардуино я не стану ( это второй аргумент) . Если платить больше пол кило то я бы заплатил за http://aukro.ua/stm32f411e-discovery-st … 95910.html или хоть дороже то за http://aukro.ua/stm32f429i-discovery-co … 65746.html

Остання редакція Nefreemen (2016-05-11 23:27:31)

Неактивний

#7 2017-12-22 13:16:28

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

Есть у меня такие девайсы
20171222_114456.jpeg
Согласитесь что соединять их каждый раз надоедает (я обычно после работы все убираю или в коробки или в шухлядки smile ). Тем более что китайский донгл это вовсе не ST-link V2, а кастрат ("чувак" lol ).
Поэтому сегодня сделал вот такую штуку
20171222_114536.jpeg
Согласитесь что это удобней smile
20171222_114650.jpeg
Использовал материал изложенный в
https://bovs.org/post/107/programmator- … m8-i-stm32
и
http://we.easyelectronics.ru/STM32/sozd … nk-v2.html
Прошил. Определяется системой все ок. Теперь собственно вопрос  что за сигналы (у автора) T_NRST и T_JRST, где на колодке они должны быть согласно этому документу
http://www.st.com/content/ccc/resource/ … 026748.pdf

Остання редакція Nefreemen (2017-12-22 13:19:52)

Неактивний

#8 2017-12-22 13:54:24

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

Согласен. Туговато воспринимается. Но как говорится "вода камень точит".
lol Вот что значит холостякую lol (жена уехала в Киев wink  ). Искал коробку со шлейфами и вот что нашел lol . Реликвия  lol! Лет 12 назад собранная.
20171222_114727.jpeg
Во эта штука и AVR Studio 4.12 ляпота  smile .
Че то не въеду с этими сигналами, вернее с распиновкой  sad .

Неактивний

#9 2017-12-22 14:12:11

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

Я так понял что NoName хорошо шарит в ARM, может он просветит с этими сигналами.
По поводу "странностей" китайского донгла, они же к тому всему разные бывают, тут еще и цвет корпуса имеет значение lol потому что распиновка разная так и сигналы big_smile в нем.

Остання редакція Nefreemen (2017-12-22 16:52:02)

Неактивний

#10 2017-12-22 14:58:19

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

По поводу сложности я согласен. Вот то о чем я писал в первом посте этой темы.
20171222_132223.jpeg
20171222_132248.jpeg
20171222_132719.jpeg
С тех пор прошло уже не мало времени и контроллер был еще доработан, появился аварийный термостат, контроль уровня воды и управление ТЭНом  в испарителе, помпой и электромагнитным клапаном. И как результат добавилась Pro mini (рядом с ESP) smile /
Все это вот так работает:
https://1drv.ms/v/s!Avw2RdRvzMPOygVCkDXMe34Q7yQs
А это с ioBroker:
https://1drv.ms/f/s!Avw2RdRvzMPOyhLrIpDzb0JjvwtN
Суть в том что это очень громоздко как конструктивно так и программно. И главные проблемы это "сторож" и скорость, которые не обойти sad (может не умею  big_smile ).

Неактивний

#11 2017-12-22 16:21:10

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

В Arduino Mega2560 "сторожевой пес" вроде бы как будто есть  smile , но однажды он "убежал вместе с бутом", боюсь повторения. (хотя в принципе можно убить бут и загрузить кекс через ISP  smile  ) . Но вот скорость  sad . Что я имею ввиду? Выполнение такого количества кода и процессов приводит к тому что бывает  loop проходит впритык к 8 сек. Разбросал по всех процессах сброс сторожевого  smile . Следующий момент, коммуникация между МК происходит по Serial. Стандартная библиотека имеет ограничение на буфер в размере 256 байт, для меня это уже впритык. К тому же в новых версиях ИДЕ почему то не проходят изменения которые я вносил в библиотеку Serial что бы увеличить буфер до 256 (по умолчанию он вообще стоит 64 байта). Для прошивки приходится использовать Arduino IDE 1.6.5-rc5 и не новее sad . То есть это все уже не имеет перспективы усовершенствования и развития sad . Надо весь код переписывать как и впрочем менять Serial на другой интерфейс а значит вносить изменения в железо. По сути получается следовало бы  делать все с нуля  big_smile . Поэтому и возникли мысли а не поменять ли платформу  roll . Заодно и поиметь что то типа RTOS.

Остання редакція Nefreemen (2017-12-22 16:22:38)

Неактивний

#12 2017-12-22 17:23:57

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Кто использует STM32?

Nefreemen пише:

Есть у меня такие девайсы
..
Прошил. Определяется системой все ок. Теперь собственно вопрос  что за сигналы (у автора) T_NRST и T_JRST, где на колодке они должны быть согласно этому документу
http://www.st.com/content/ccc/resource/ … 026748.pdf

ориентируйтесь на этот документ
https://www.segger.com/downloads/jlink/UM08001

p340

3  nTRST Output JTAG Reset. Output from J-Link to the Reset signal of the target

JTAG port. Typically connected to nTRST of the target CPU.
This pin is normally pulled HIGH on the target to avoid unintentional
resets when there is no connection.


15 nRESET I/O
Target CPU reset signal. Typically connected to the RESET pin
of the target CPU, which is typically called “nRST”, “nRESET”
or “RESET”. This signal is an active low signal.

ваш документ  - страница 12


я не шарю в АРМах, так - рядышком "валялся" ) ,   мне больше MSP430  нравятся ) но их  ( MSP430 ) errata это какой то ужас
у АРМах есть одна большая проблема - время доступа к шине никто не нормирует. т.е. особо не могут   гарантировать врямя доступа к данным.  а так они классные, недорогие и хорошо работающие на Земле )   

я предпочитаю SWD  4 провода. красиво и удобно )

Неактивний

#13 2017-12-22 17:26:05

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

Дело в том что я не проф программист, скорее наверное "говнокодер"  lol . 17 лет занимался обслуживанием ПК и комп.сети в банке, а также работал с БД, сначала это был FoxBase потом FoxPro затем БД перешли на Sybase, пришлось осваивать SQL и Delphi. Поэтому все время работал с готовым инструментарием sad . Arduino как раз из этой серии. Пришло время чего то наверное другого  roll . Я не вижу резона сунуть двигатель мерса в таврию  big_smile , это образно о диспетчере задач. В общем я понял Вас, тем более читал материал по данной теме для AVR. Думаю что Вы правы по поводу ОЗУ, слишком много процессов. О каком то либо "переносе" даже не мечтаю, попробовав часы и работу с DS18B20 в STM32 понимаю что все надо с нуля. Спасибо за предложенную помощь, если надо будет буду иметь виду smile .

Неактивний

#14 2017-12-22 18:04:01

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

NoName, спасибо за инфу, "перевариваю". SWD это хорошо smile , и я пользуюсь, но вот каждый раз цеплять четыре макарона на 20 пин разъем- зашибись. Не знал не знал что Вы работаете на  Elon Musk в его проекте Falcon  smile (шутка)

а так они классные, недорогие и хорошо работающие на Земле )

Неактивний

#15 2017-12-22 19:22:16

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

NoName пише:
Nefreemen пише:

Есть у меня такие девайсы
..
Прошил. Определяется системой все ок. Теперь собственно вопрос  что за сигналы (у автора) T_NRST и T_JRST, где на колодке они должны быть согласно этому документу
http://www.st.com/content/ccc/resource/ … 026748.pdf

ориентируйтесь на этот документ
https://www.segger.com/downloads/jlink/UM08001

p340

3  nTRST Output JTAG Reset. Output from J-Link to the Reset signal of the target

JTAG port. Typically connected to nTRST of the target CPU.
This pin is normally pulled HIGH on the target to avoid unintentional
resets when there is no connection.

15 nRESET I/O
Target CPU reset signal. Typically connected to the RESET pin
of the target CPU, which is typically called “nRST”, “nRESET”
or “RESET”. This signal is an active low signal.

ваш документ  - страница 12


я не шарю в АРМах, так - рядышком "валялся" ) ,   мне больше MSP430  нравятся ) но их  ( MSP430 ) errata это какой то ужас
у АРМах есть одна большая проблема - время доступа к шине никто не нормирует. т.е. особо не могут   гарантировать врямя доступа к данным.  а так они классные, недорогие и хорошо работающие на Земле )   

я предпочитаю SWD  4 провода. красиво и удобно )

Переварил smile . Каша та же. Собственно и пшено тоже, только с другой посуды. То ли автор продвинутый и не посчитал нужным придерживаться обозначений, то ли он буквы в спешке переставил smile . Одним словом плюну и приму что T_NRST это nTRST а T_JRST это nRESET а там видно будет lol (а может нужно наоборот smile  ). Сейчас еще лапы STM посмотрю в даташите что может вылезти с PB0 и PB1 smile

Остання редакція Nefreemen (2017-12-22 19:23:55)

Неактивний

#16 2017-12-22 20:13:09

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

Вячеслав Азаров пише:

Знакомы с таким проектом? http://docs.leaflabs.com/static.leaflab … stall.html

Это Ардуино для STM32 в оригинале, с почти совместимыми библиотеками. Я, когда-то, перносил этот проект под управление "SW System Workbench". Гонять на STM32 Ардуинские analogWrite(...) это все равно, что возить на Белазе попкорн. big_smile

Да. Ставил. Это первое из чего я начинал. Даже светиком мигал smile. Все просто и привычно но не то, нет доступа ко многим вкусностям sad.

Остання редакція Nefreemen (2017-12-22 20:15:03)

Неактивний

#17 2017-12-22 20:32:58

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

К стати мне кажется что этот проект умер так и не повзрослев smile. Тем более что в Arduino IDE появилась тоже поддержка семейства Maple (STM32F103C8T6) и др.
Начитавшись здесь (кажется)
http://cyber-place.ru/showthread.php?t=571
Первую платку я купил именно такую  smile. Теперь где то валяется smile.
P.S. Вспомнил чего я все это дальше бросил. Загрузчик :0. Подключаешь ее к ПК, бац появляется у тебя устройство STM Maple (или что такое уже не помню smile ). Ты ВАУ!!! Круто! А потом приходит мысль а нафига?

Остання редакція Nefreemen (2017-12-22 20:55:50)

Неактивний

#18 2017-12-22 20:57:36

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

О!!! Правцы помню, застал в банке уже списанные...А роботрон smile, может где то в музеях еще есть smile. Мы их в школы машинами отправляли smile.
Потом получил (после ХТ) 286, через месяц буквально 386, но до этих пор не понимаю, почему они были такими вонючими???

Остання редакція Nefreemen (2017-12-22 21:12:18)

Неактивний

#19 2017-12-22 21:25:27

Nefreemen
Учасник
З Киев
Зареєстрований: 2015-12-19
Повідомлень: 716

Re: Кто использует STM32?

Вячеслав, не скромничайте  smile у Вас есть научная степень? Судя что делали НИР должна быть  smile .

Неактивний

#20 2017-12-24 19:48:55

Lic Control
Учасник
Зареєстрований: 2016-01-23
Повідомлень: 124

Re: Кто использует STM32?

Вот мой опыт использования STM32F103C8T6.
Это контроллер в системе для мониторинга токов, напряжения и расхода воздуха от группы мощных компрессоров с функцией управления этими компрессорами. Суммарная потребляемая компрессорами мощность больше мегавата.
STM здесь используется как DAC. Все остальные функции реализованы под Linux.
Liccontrol.com
В целом доволен,  но ее программирование удовольствия не приносит.
Вот примеры WEB страниц в этой системе.
Liccontrol.com
Подробнее посмотрите здесь.
Кстати, кто может поделиться библиотекой или рабочим примером Modbus-Rtu для STM32F103C8T6 или портировать из существующих за $. Желательно в Keil или CoCox.

Остання редакція Lic Control (2017-12-24 21:50:45)

Неактивний

#21 2017-12-25 19:51:19

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Кто использует STM32?

Lic Control пише:

Вот мой опыт использования STM32F103C8T6.
...
Кстати, кто может поделиться библиотекой или рабочим примером Modbus-Rtu для STM32F103C8T6 или портировать из существующих за $. Желательно в Keil или CoCox.

COIDE >> menu View >> Repository >> Driver >> search modbus
его проще  самому написать. я у себя посмотрел  - в  индексе только эмуляторы, датчики ( slave ) и то в режиме для себя) работает но людям не покажеш )

у меня не полная поддержка - я в основном читал регистры, если нужет код поищу.

Неактивний

#22 2017-12-25 21:13:21

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Кто использует STM32?

конечно - за кадром - полня поддержка стандарта, включая тайминги по стандарту и т.д. но это если нужна лейба. а если прочитать данные с датчика один на один - то можно закрыть глаза не некие вольности )  если ТЗ конечно позволяет )   мои позволяли ),

Неактивний

#23 2017-12-25 23:17:41

NoName
Customer
З Київ
Зареєстрований: 2014-07-08
Повідомлень: 1,446

Re: Кто использует STM32?

http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf
http://www.modbus.org/docs/Modbus_over_serial_line_V1_02.pdf

Неактивний

#24 2017-12-26 07:57:26

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Кто использует STM32?

Иногда проще свой протокол написать, чем связываться с этим бармалеем.)

Остання редакція Green (2017-12-26 07:58:03)

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму