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

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

Пт авг 31, 2018 19:03:48

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

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

Пт авг 31, 2018 19:38:39

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

Не тратьте время - поциент неоперабелен. Абдуринизация моска в запущенной форме. Только в морг. :facepalm:

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

Пт авг 31, 2018 19:48:54

Слабые должны поддерживать друг друга.

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

Пт авг 31, 2018 20:24:23

Так у кого в итоге больше?

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

Пт авг 31, 2018 20:28:00

Ваших прибывает. Тоже не смогли с референсом справиться. WFE у них события мистическим образом глотает. Далее разговаривать просто не о чем.

Re:

Пт авг 31, 2018 23:16:42

a5021 писал(а):небольшими порциями, чтобы надолго не отвлекаться
В этом случае сравнительно простая, но длинная по времени задача может усложниться из-за её дробления. Придётся как-то сохранять её состояние, чтобы, временно вернувшись к циклу чтения флагов, и снова назад, восстановить его.

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

Re: Re:

Пт авг 31, 2018 23:59:09

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

А это забавно -- читать абстрактные умствования о том, будто прерывания -- это такая серебряная пуля в нагруженных системах и один факт их использования спасет от любых напастей. Вроде, как и забыли, что дурным тоном внутри обработчика считаются любые затянутые действия. Сбросили/взвели флажки и на выход. Все. А снаружи уже погнали и "ручную нарезку логики" и "держать в голове все сразу".

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

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

Re: Re:

Сб сен 01, 2018 00:36:33

Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир - не менее весело, чем вам читать "абстрактные умствования". Лично мне хватило неявного педалирования ручной нарезки, чтобы не переходить к битвам на строчках кода. Немного жалко если кому-то из новичков подобными советами подгадите, но постараюсь пережить.

Re: Re:

Сб сен 01, 2018 01:10:18

Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир

А в каких словах, простите, вы узрели мой замах аж на "весь мир" ? Я вроде тут исключительно свои мысли от своего имени пишу. Показалось?

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

Это вы чего вот только что сказали? Буду вам премного благодарен, если вы начнете формулировать свои мысли хоть чуточку конкретно.

Немного жалко если кому-то из новичков подобными советами подгадите, но постараюсь пережить.

У вас определенно большое сердце. Такая забота о новичках, аж слезу вышибает. На мой прямой вопрос, правда, не ответили, но окормить милосердием неопределенный круг несчастных на техническом форуме много важнее. Это точно.

Re: Re:

Сб сен 01, 2018 04:39:16

А в каких словах, простите, вы узрели мой замах аж на "весь мир" ? Я вроде тут исключительно свои мысли от своего имени пишу. Показалось?

Ммм... во всех где вы со свойственным вам апломбом доказываете, что писать без прерываний нормальное дело? У меня вообще сложилось впечатление, что вам чужое мнение нужно исключительно для того, чтобы доказать свою особенность и инаковость. Мол вы не такой как все. Возможно вы считаете, что быть не таким как все - всегда значит быть лучше и умнее, а не наоборот.
Лично мне хватило неявного педалирования ручной нарезки, чтобы не переходить к битвам на строчках кода.

Это вы чего вот только что сказали? Буду вам премного благодарен, если вы начнете формулировать свои мысли хоть чуточку конкретно.

Вам уже было говорено, что ваш подход во многих случаях ведет к ручной нарезке длинных функий. Либо повышает вероятность, что такое потребуется в самый неподходящий момент. Это более высокие риски по срокам и повышенные требования по человеческим ресурсам. Но такой ответ без методик расчетов рисков и оценки качества кода вы считаете абстрактной болтовней. Ну ок, чо. Считайте.

Re: Re:

Сб сен 01, 2018 08:49:39

Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир

После того как автор даже на собственном примере не в состоянии оценить латентность обработки событий - можно заключить что опыта у него нет вообще.
Об атомарности - тоже понятия не имеет. И наличие даже 10 источников прерываний для - него за гранью фантастики.
Видимо автор на днях осилил наконец-то многолетний труд по миганию светодиодом и пошёл проповедовать в массы :)))

Добавлено after 6 minutes 3 seconds:
Тут один умник предлагал задачку, где каждые 100мкс происходит событие, которое может запускать, а может не запускать некую обработку на 1мс. Такая задача, по его мнению, разом ставит поллинг на колени.

Так объясните нам, тёмным, как гениально решается она поллингом? Только примером, а не многобуквенным словесным поносом.
А то все ваши примеры тут тянут максимум на потуги чайника, просмотревшего на ютубе ролик такого же чайника "как научиться программить на си за 5 минут не вынимая палец из носа". :))) :))) :)))

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

Сб сен 01, 2018 08:53:50

Короче ясно: у a5021 толще, у jcxz длиннее, а у pvit сразу два.

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

Сб сен 01, 2018 09:48:42

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

Re: Re:

Сб сен 01, 2018 12:19:07

Поверьте, читать как вы пытаетесь проецировать опыт, ограниченный вашей областью компетентности, на весь мир

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

Я вам примерчик приводил про задачки "А", "Б" и "В". Сможете решить его без "ручной нарезке длинных функий" ? Вот не растекаться словесным поносом ни о чем, а кратко и емко поведать, как все это делается без "нарезки" ? Не можете. Ну и фигли тут соплями все заливать?

Так объясните нам, тёмным, как гениально решается она поллингом?

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

Только примером, а не многобуквенным словесным поносом.

Единственный, кто здесь приводил примеры, это я, а вот вы и ваша сторона действительно только ниве словесного поноса упражняется.

Давайте с другой стороны зайдем. Покажите хотя бы несколько обработчиков прерываний из вашей сверх-загруженной задачи. Ну там где FOC и все такое. Покажите "тяжелый обсчет" на частоте 20кгц.

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

Сб сен 01, 2018 12:50:28

Допускать зависимость проекта от одного гения будет либо идиот либо вредитель

Пойду начальнику скажу, что он - идиот. Не, лучше сразу директору.
А чо, это ведь какой-то умник, с гордой уверенностью, сказал на форуме... :)))
Если даже на предприятии будет 2 (3, 4, 5...) специалиста в одной области, то кидаться всей кучей на один проект - как раз, идиотизм. Каждый должен заниматься своим делом. Любой проект всегда будет зависим от кого-то.

PS: Остальную "кашу" из набора умных словечек, от которых кровь из глаз может пойти, комментить нет желания...

Re: Re:

Сб сен 01, 2018 13:24:39

Единственный, кто здесь приводил примеры, это я, а вот вы и ваша сторона действительно только ниве словесного поноса упражняется.

Где приводили? Если не поняли вопроса, ещё раз повторим:
Возьмем простенькую задачу, допустим по USART приходит байт раз в 100us, при этом иногда в качестве реакции на него нужно выполнить достаточно тяжелую работу длительностью 1ms. Что будешь делать, заблокируешь свой суперлуп на 1ms и потеряешь десяток байт?

Способны привести пример? Или так и не поняли вопроса? :))

Покажите хотя бы несколько обработчиков прерываний из вашей сверх-загруженной задачи.
Не увиливайте от темы!
Здесь разговор о великом и гениальном суперлупе - лучшем изобретении человеческой мысли! :))
А не о греховных прерываниях. Вам, как непоколебимому столпу веры в гениальный суперлуп, грешно даже смотреть на богомерзкие исходники с прерываниями!!... а то вдруг ещё поумнеете 8) 8) 8)

Re: Re:

Сб сен 01, 2018 13:34:25

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

Здесь разговор о великом и гениальном суперлупе - лучшем изобретении человеческой мысли!

Раз и спрыгнул. Вроде и не было никаких "тяжелых вычислений на частоте шима", о которых его пояснить просили. Не прокатили дешевые понты? Привыкайте. Обтекать с таким подходом придется всю дорогу.

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

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

Re: Re:

Сб сен 01, 2018 14:27:15

a5021 писал(а):небольшими порциями, чтобы надолго не отвлекаться
В этом случае сравнительно простая, но длинная по времени задача может усложниться из-за её дробления. Придётся как-то сохранять её состояние, чтобы, временно вернувшись к циклу чтения флагов, и снова назад, восстановить его.

:facepalm: стандартная дилема - или пишем много кода, расходуем флеш, делаем сложные ветвления...
Или делаем класс, объект, переменные состояний и пулим через таймер. Но расходуется оперативка на переменные. Я за второй вариант.

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

Сб сен 01, 2018 14:34:54

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

Еще раз медленно и печально -- независимо от того, как регистрируются события, через поллинг ли или через прерывания, последующая обработка этих событий все равно потребует очередей, семафоров, планировщика и прочих атрибутов многозадачности. Не уйти от этого.

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

Сб сен 01, 2018 14:46:42

Если даже на предприятии будет 2 (3, 4, 5...) специалиста в одной области, то кидаться всей кучей на один проект - как раз, идиотизм. Каждый должен заниматься своим делом. Любой проект всегда будет зависим от кого-то.

У меня на проекте программисты менялись без проблем. Это нормально, если человек через 2-4 года хочет сменить работу и заняться чем-то новым. А вы можете продолжать гордиться, что у вас на предприятии есть "незаменимые специалисты", без которых все встанет раком.
Ответить