STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

12 на вход и примерно столько же на выход. Рассказы же про десятки прерываний по три источника в каждом, молотящих с умопомрачительными скоростями -- это для произведения эффекта на впечатлительных. Типа, жути нагнать.
Реклама
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: STM32 новичку в ARM что к чему

Сообщение jcxz »

[uquote="Reflector",url="/forum/viewtopic.php?p=3447578#p3447578"]Т.е. моя простенькая задача оказалась слишком сложной для твоего подхода? Спасибо за терпение, больше вопросов не имею :)[/uquote]
Не тратьте время - поциент неоперабелен. Абдуринизация моска в запущенной форме. Только в морг. :facepalm:
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Слабые должны поддерживать друг друга.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

Так у кого в итоге больше?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Эиком - электронные компоненты и радиодетали
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

Ваших прибывает. Тоже не смогли с референсом справиться. WFE у них события мистическим образом глотает. Далее разговаривать просто не о чем.
Реклама
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re:

Сообщение pvit »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3447605#p3447605"]
a5021 писал(а):небольшими порциями, чтобы надолго не отвлекаться
В этом случае сравнительно простая, но длинная по времени задача может усложниться из-за её дробления. Придётся как-то сохранять её состояние, чтобы, временно вернувшись к циклу чтения флагов, и снова назад, восстановить его.[/uquote]
Так в этом весь пафос. Тратить время на ручную нарезку логики и постоянно держать в голове все сразу, чтобы контролировать общий бюджет проца - это ж высший пилотаж. Именно на это должны тратить основное время настоящие программисты. Ведь именно за подобную крутизну заплатят больше всего. А прерывания - это для криворуких лохов, которые ничего не умеют и ничего не понимают.
Реклама
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Re:

Сообщение a5021 »

[uquote="pvit",url="/forum/viewtopic.php?p=3447835#p3447835"]Так в этом весь пафос. Тратить время на ручную нарезку логики и постоянно держать в голове все сразу, чтобы контролировать общий бюджет проца - это ж высший пилотаж.
[...]
А прерывания - это для криворуких лохов, которые ничего не умеют и ничего не понимают.[/uquote]
А это забавно -- читать абстрактные умствования о том, будто прерывания -- это такая серебряная пуля в нагруженных системах и один факт их использования спасет от любых напастей. Вроде, как и забыли, что дурным тоном внутри обработчика считаются любые затянутые действия. Сбросили/взвели флажки и на выход. Все. А снаружи уже погнали и "ручную нарезку логики" и "держать в голове все сразу".

Тут один умник предлагал задачку, где каждые 100мкс происходит событие, которое может запускать, а может не запускать некую обработку на 1мс. Такая задача, по его мнению, разом ставит поллинг на колени. Если мыслить исключительно шаблонами начальных курсов по ардуине, то так оно и есть. Но что, если таких событий три, они одинаковы функционально, но имеют разные приоритеты. Т.е. событие "А" запусает или не запускает 1мс-обработку "А", событие "Б" -- 1мс-обработку "Б" и то же самое про "В". Обработка "В" имеет самый низкий приоритет обработки и если во время ее выполнения пришел реквест на обработку "Б", то обработка "В" останавливается и пока не закончится "Б", "В" никуда не движется. То же самое и с "А", только она перебивает и "В" и "Б". И куда вы тогда побежите от необходимости "держать в голове все сразу" ?

Поллингом и та и другая задача решаются одинаковым образом. С прерываниями на второй вам гарантирован разрыв шаблона с тяжелыми увечьями. Что ж поделать, если на начальных курсах по ардуине такого не проходили. Жаловаться не на кого.
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: Re:

Сообщение pvit »

Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир - не менее весело, чем вам читать "абстрактные умствования". Лично мне хватило неявного педалирования ручной нарезки, чтобы не переходить к битвам на строчках кода. Немного жалко если кому-то из новичков подобными советами подгадите, но постараюсь пережить.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Re:

Сообщение a5021 »

[uquote="pvit",url="/forum/viewtopic.php?p=3447900#p3447900"]Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир[/uquote]
А в каких словах, простите, вы узрели мой замах аж на "весь мир" ? Я вроде тут исключительно свои мысли от своего имени пишу. Показалось?
Лично мне хватило неявного педалирования ручной нарезки, чтобы не переходить к битвам на строчках кода.
Это вы чего вот только что сказали? Буду вам премного благодарен, если вы начнете формулировать свои мысли хоть чуточку конкретно.
Немного жалко если кому-то из новичков подобными советами подгадите, но постараюсь пережить.
У вас определенно большое сердце. Такая забота о новичках, аж слезу вышибает. На мой прямой вопрос, правда, не ответили, но окормить милосердием неопределенный круг несчастных на техническом форуме много важнее. Это точно.
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: Re:

Сообщение pvit »

[uquote="a5021",url="/forum/viewtopic.php?p=3447906#p3447906"]А в каких словах, простите, вы узрели мой замах аж на "весь мир" ? Я вроде тут исключительно свои мысли от своего имени пишу. Показалось?[/uquote]
Ммм... во всех где вы со свойственным вам апломбом доказываете, что писать без прерываний нормальное дело? У меня вообще сложилось впечатление, что вам чужое мнение нужно исключительно для того, чтобы доказать свою особенность и инаковость. Мол вы не такой как все. Возможно вы считаете, что быть не таким как все - всегда значит быть лучше и умнее, а не наоборот.
[uquote="a5021",url="/forum/viewtopic.php?p=3447906#p3447906"]
Лично мне хватило неявного педалирования ручной нарезки, чтобы не переходить к битвам на строчках кода.
Это вы чего вот только что сказали? Буду вам премного благодарен, если вы начнете формулировать свои мысли хоть чуточку конкретно.[/uquote]
Вам уже было говорено, что ваш подход во многих случаях ведет к ручной нарезке длинных функий. Либо повышает вероятность, что такое потребуется в самый неподходящий момент. Это более высокие риски по срокам и повышенные требования по человеческим ресурсам. Но такой ответ без методик расчетов рисков и оценки качества кода вы считаете абстрактной болтовней. Ну ок, чо. Считайте.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Re:

Сообщение jcxz »

[uquote="pvit",url="/forum/viewtopic.php?p=3447900#p3447900"]Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир[/uquote]
После того как автор даже на собственном примере не в состоянии оценить латентность обработки событий - можно заключить что опыта у него нет вообще.
Об атомарности - тоже понятия не имеет. И наличие даже 10 источников прерываний для - него за гранью фантастики.
Видимо автор на днях осилил наконец-то многолетний труд по миганию светодиодом и пошёл проповедовать в массы :)))

Добавлено after 6 minutes 3 seconds:
[uquote="a5021",url="/forum/viewtopic.php?p=3447866#p3447866"]Тут один умник предлагал задачку, где каждые 100мкс происходит событие, которое может запускать, а может не запускать некую обработку на 1мс. Такая задача, по его мнению, разом ставит поллинг на колени.[/uquote]
Так объясните нам, тёмным, как гениально решается она поллингом? Только примером, а не многобуквенным словесным поносом.
А то все ваши примеры тут тянут максимум на потуги чайника, просмотревшего на ютубе ролик такого же чайника "как научиться программить на си за 5 минут не вынимая палец из носа". :))) :))) :)))
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18546
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение ARV »

Короче ясно: у a5021 толще, у jcxz длиннее, а у pvit сразу два.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: STM32 новичку в ARM что к чему

Сообщение pvit »

Посоветуйте лучше сишный аналог https://github.com/japaric/cortex-m-rtfm, только еще с сообщениями (у RTFM они пока в бренче лежат). Оригинал, с которого тырили, благополучно загнулся.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Re:

Сообщение a5021 »

[uquote="pvit",url="/forum/viewtopic.php?p=3447900#p3447900"]Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир[/uquote]
Вы собираетесь отвечать за свои обвинения или так и будете сопли по форуму ни о чем размазывать? Повторно спрашиваю: в каких конкретно словах я "пытался проецировать опыт.. на весь мир" ? Ответ "во всех" является тупейшей отмазкой и полной неспособностью отвечать за сказанное.
Вам уже было говорено, что ваш подход во многих случаях ведет к ручной нарезке длинных функий
Я вам примерчик приводил про задачки "А", "Б" и "В". Сможете решить его без "ручной нарезке длинных функий" ? Вот не растекаться словесным поносом ни о чем, а кратко и емко поведать, как все это делается без "нарезки" ? Не можете. Ну и фигли тут соплями все заливать?

[uquote="jcxz",url="/forum/viewtopic.php?p=3448003#p3448003"]Так объясните нам, тёмным, как гениально решается она поллингом?[/uquote]
Чет я не понял, прерываниями вы ее уже решили? Изначально она вашей стороне была адресована, но вместо изящного решения вы предлагаете мне же ее и решать. Офигенный подход.
Только примером, а не многобуквенным словесным поносом.
Единственный, кто здесь приводил примеры, это я, а вот вы и ваша сторона действительно только ниве словесного поноса упражняется.

Давайте с другой стороны зайдем. Покажите хотя бы несколько обработчиков прерываний из вашей сверх-загруженной задачи. Ну там где FOC и все такое. Покажите "тяжелый обсчет" на частоте 20кгц.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: STM32 новичку в ARM что к чему

Сообщение Аlex »

[uquote="pvit",url="/forum/viewtopic.php?p=3447079#p3447079"]Допускать зависимость проекта от одного гения будет либо идиот либо вредитель[/uquote]
Пойду начальнику скажу, что он - идиот. Не, лучше сразу директору.
А чо, это ведь какой-то умник, с гордой уверенностью, сказал на форуме... :)))
Если даже на предприятии будет 2 (3, 4, 5...) специалиста в одной области, то кидаться всей кучей на один проект - как раз, идиотизм. Каждый должен заниматься своим делом. Любой проект всегда будет зависим от кого-то.

PS: Остальную "кашу" из набора умных словечек, от которых кровь из глаз может пойти, комментить нет желания...
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Re:

Сообщение jcxz »

[uquote="a5021",url="/forum/viewtopic.php?p=3448101#p3448101"]Единственный, кто здесь приводил примеры, это я, а вот вы и ваша сторона действительно только ниве словесного поноса упражняется.[/uquote]
Где приводили? Если не поняли вопроса, ещё раз повторим:
[uquote="Reflector",url="/forum/viewtopic.php?p=3447542#p3447542"]Возьмем простенькую задачу, допустим по USART приходит байт раз в 100us, при этом иногда в качестве реакции на него нужно выполнить достаточно тяжелую работу длительностью 1ms. Что будешь делать, заблокируешь свой суперлуп на 1ms и потеряешь десяток байт?[/uquote]
Способны привести пример? Или так и не поняли вопроса? :))

[uquote="a5021",url="/forum/viewtopic.php?p=3448101#p3448101"]Покажите хотя бы несколько обработчиков прерываний из вашей сверх-загруженной задачи.[/uquote]Не увиливайте от темы!
Здесь разговор о великом и гениальном суперлупе - лучшем изобретении человеческой мысли! :))
А не о греховных прерываниях. Вам, как непоколебимому столпу веры в гениальный суперлуп, грешно даже смотреть на богомерзкие исходники с прерываниями!!... а то вдруг ещё поумнеете 8) 8) 8)
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Re:

Сообщение a5021 »

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

[uquote="jcxz",url="/forum/viewtopic.php?p=3448143#p3448143"]Здесь разговор о великом и гениальном суперлупе - лучшем изобретении человеческой мысли![/uquote]
Раз и спрыгнул. Вроде и не было никаких "тяжелых вычислений на частоте шима", о которых его пояснить просили. Не прокатили дешевые понты? Привыкайте. Обтекать с таким подходом придется всю дорогу.

Решение той задачи, которую предлагал рефлектор, я ему трижды повторял и только когда на третий раз он понял, то быстро свалил бубня себе под нос что-то о собственном величии. Теперь вам еще по десять раз одно и то же рассказывать? Так боюсь, что десяти мало будет.

Концепт поллинга мной был приведен здесь дважды. В коде. В десяти строках вы так и не смогли увидеть, что верхние обработчики имеют более низкую латентность, чем нижние. Не смогли разобраться в простейших строчках. Вам об этом даже ваш товарищ по несчастью рефлектор заметил. Что и как я вам должен объяснять, если в вас даже простейшее не лезет?
Аватара пользователя
Ярослав555
Поставщик валерьянки для Кота
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Re: Re:

Сообщение Ярослав555 »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3447605#p3447605"]
a5021 писал(а):небольшими порциями, чтобы надолго не отвлекаться
В этом случае сравнительно простая, но длинная по времени задача может усложниться из-за её дробления. Придётся как-то сохранять её состояние, чтобы, временно вернувшись к циклу чтения флагов, и снова назад, восстановить его.[/uquote]
:facepalm: стандартная дилема - или пишем много кода, расходуем флеш, делаем сложные ветвления...
Или делаем класс, объект, переменные состояний и пулим через таймер. Но расходуется оперативка на переменные. Я за второй вариант.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: STM32 новичку в ARM что к чему

Сообщение a5021 »

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

Еще раз медленно и печально -- независимо от того, как регистрируются события, через поллинг ли или через прерывания, последующая обработка этих событий все равно потребует очередей, семафоров, планировщика и прочих атрибутов многозадачности. Не уйти от этого.
pvit
Нашел транзистор. Понюхал.
Сообщения: 191
Зарегистрирован: Вт июн 05, 2018 00:18:01

Re: STM32 новичку в ARM что к чему

Сообщение pvit »

[uquote="Аlex",url="/forum/viewtopic.php?p=3448125#p3448125"]Если даже на предприятии будет 2 (3, 4, 5...) специалиста в одной области, то кидаться всей кучей на один проект - как раз, идиотизм. Каждый должен заниматься своим делом. Любой проект всегда будет зависим от кого-то.[/uquote]
У меня на проекте программисты менялись без проблем. Это нормально, если человек через 2-4 года хочет сменить работу и заняться чем-то новым. А вы можете продолжать гордиться, что у вас на предприятии есть "незаменимые специалисты", без которых все встанет раком.
Ответить

Вернуться в «ARM»