Re: Главный принцип Ардуинавтики- в чем?
Добавлено: Чт май 01, 2025 12:23:03
Скоро так и будет. Базовые штуки в программировании ИИ уже хорошо умеет, но пока не в микроконтроллерах, там он бредит. А вот в .Net он хорош.
Здесь можно немножко помяукать :)
https://radiokot.ru/forum/
Почему вы так решили? Это лично ваше субъективное мнение, а не мнение большинства.WatchCat писал(а):А вот с точки зрения радиолюбителей,точнее программистов-любителей - лучше AVR пока ничего нет.
Кто поддерживает? Пробовали искать примеры кода для STM32. Их много, очень много.WatchCat писал(а):А лучшая поддержка пока что именно у AVR.
Их место давно заняли STM32. Но некоторые упорно этого не замечают.WatchCat писал(а):Есть шанс что со временем место avr займут китайские risc
Есдли для вас избыточны это не значит что для всех избыточны, т. к. задачи бывают разные и не у всех они уровня "помигать светодиодом и считать себя крутым прогером".WatchCat писал(а):Вот только для любителя характеристики даже avr в абсолютном большинстве случаев сильно избыточны.
Именно это у STM32, где регистры отсортированы по периферийным блокам и находсятся в общем адресном пространстве с памятью. Функции через аргумент можно передать адрес и не важно регистр это или память. В AVR так не получится. У них сделано через одно место!WatchCat писал(а):Любителю нужно удобство и понятность,а не мегагерцы и мегабайты.
Зачем симулятор МК если код можно запустить в МК в режиме отладки и получить гораздо больше чем может симулятор.WatchCat писал(а):Вы просто не делаете тех "глупых" ошибок для отлова которых любителю нужен интерактивный программный симулятор микроконтроллера.
Где вы видели в МК регистры периферии на размером в несколько сотен байт? О чем вы вообще пишите?WatchCat писал(а):Мешает неудобство этого действия - о чем я и говорю. Если байтов несколько штук - это еще как-то приемлимо. А если несколько десятков или даже сотен?
Не путайте симулятор и виртуальную машину.WatchCat писал(а):программные симуляторы типа например qemu
То есть первый метод позволяет решать несколько задач одновременно и у МК еще остаются свободные ресурсы. А второй метод решает только одну задачу и то криво / косо с возможностью глюков потому что МК не успевает все делать программно.BOB51 писал(а):Один вариант детально (по максимуму) использовать встроенные аппаратные модули, другой - работать с платкой как с "черным ящиком", используя предоставленные разработчиком IDE методы("рамки референса").
Где ТЗ?BOB51 писал(а):Ежли так просто реализовать то почему же от сторонников STM32 один треп вместо проекта с открытым исходником?
Вот именно в том-то и дело что пробовал и работал. В 90х даже КМ1816ВЕ48 немножко застал. А уж с 580 процом думаю все мои плюс-минус ровесники немало повозились и программы осциллографом отлаживали на разных самодельных "компьютерах",синклероподобных и не очень.Вы просто не пробовали работать без него.
Вот именно об этом я и говорю - любители по большей части и занимаются изучением и экспериментами,а не производством серийной электроники как профессионалы. Нынешние МК это не PIC16F84, изучать их приходится доолго.Симулятор может помочь в двух случаях: изучить архитектуру и отладить какой-то алгоритм,
Это я и написал выше. Нужна предсказуемая и повторяемая среда исполнения кода. Случаев кстати больше чем два когда она полезна _любителю_.оба случая не должны зависеть от внешней среды.
Для целей отладки кода нужно не "реальное" поведение со всеми его непредсказуемыми глюками,а именно "тепличные условия".Реальное поведение в симуляторе недоступно, что спорить-то?
Это всего лишь следствие _неумения_ использовать симуляторы. И не важно что они симулируют - электронику или например работу гребного винта лодки в"В протеусе всё работает, а на плате нет" - классика от именно любителей, которые любят симуляторы.
Это тоже программный симулятор процессоров (нескольких разных). От vmlab ничем принципиально не отличается.это совершенно другое.qemu
Ну хоть отличие радиолюбителя от коммерческого разработчика вы признаете - уже хорошо.А впрочем, радиолюбитель - хозяин-барин.
Когда делается устройство в количестве одна штука,да еще по ходу дела нередко переделывается - от _промышленной_ методики "сквозного проектирования" толку мало. Ну не под это она заточена,а под работу отдела профессиональных спецов, поточно проектирующих электронные устройства для их последующего серийного производства.у них СпринтЛайоут и им нафиг не надо сквозное проектирование
Тоже кстати вполне объяснимо. Далеко не каждый любитель настолько уверен в своей квалификации чтобы рискнуть втыкать самоделки в новый и дорогой комп. Поэтому для экспериментов использует какое-нибудь старье которое не жалко.WinXP
Если например нужно нарисовать граф состояний конечного автомата то быстрее всего это будет сделать именно что на бумажке. Вырисовывать такое в графическом редакторе приемлимо только если есть рисовальный планшет,как у дизайнеров и художников всяких. Только стоит он несколько сотен баксов - дороговатая замена бумажке получается. А схему очень часто собирают сначала проводками на макетной плате. Потому что у любителя в абсолютном большинстве случаев она сходу не заработает и потребует переделок,чаще всего - многократных. Заморачиваться изготовлением печатной платы,что само по себе не просто и не быстро, имеет смысл только когда уже есть некоторая уверенность в работоспособности конструкции. Если не целиком то хотябы по частям. Особенно это касается аналоговых частей схемы типа какого-нибудь предварительного усилителя сигнала с датчика. Особенно если датчик [полу]самодельный или не самодельный но без внятной документации.Поэтому, можно программку сначала написать на листочке. Потом переписать в блокнот. Потом перекопировать в симулятор. Потом собрать отладку и один фиг работать там.
Квалификация нарабатывается только в процессе преодоления трудностей и никак иначе. Это касается вообще любой области,а не только электроники.Никто не запрещает, а комсомольцев даже поощряют выбирать более тернистые пути.
Где ТЗ?BOB51 писал(а):Ежли так просто реализовать то почему же от сторонников STM32 один треп вместо проекта с открытым исходником?
Интересно, а как именно вы предлагаете скармливать данные из файла на вход контроллеру при использовании аппаратного отладчика?Только то, что вы этого не умеете?
Вы забываете сколько стоит этот нормальный эмулятор. Вам по всей видимости его просто выдали на работе.По постам автора совершенно ясно, что он никогда не работал с нормальным аппаратным эмулятором.
Скажу по другому симулятор нафик не нада при наличии аппаратного отладчика. И от крутости спеца это не зависит.WatchCat писал(а):Будь пожалуйства точнее - ВАМ не нужен.
А если глюки из-за аппаартных багов МК или внешней периферии? Как симулятор их найдет? Он покажет что "все замечательно", а в железе будет глючить.WatchCat писал(а):Для целей отладки кода нужно не "реальное" поведение со всеми его непредсказуемыми глюками,а именно "тепличные условия".
А если заглючит симулятор?WatchCat писал(а):Чтобы можно было понять - это в коде ошибка или железка глючит.
Использование симуляторов это оправдание нежелания научится пользоваться отладчиками.WatchCat писал(а):Это всего лишь следствие _неумения_ использовать симуляторы.
Непонятно что требуется сделать. Какой счетчик?BOB51 писал(а):А без бюджета и полного ТЗ, просто подтвердить правоту своего подхода к вопросу никак?
Где она? Дайте ссылку на сообщение.BOB51 писал(а):Задачка то простейшая.
А если микросекунд и нужно измерить частоту и скважность импульсов?BOB51 писал(а):По крайне мере при длительности импульса не меньше 2 миллисекунд и паузы между ними не меньше 3 миллисекунд
А вы пробовали? Дамп прошивается во флеш за прошивкой и используется оттуда.WatchCat писал(а):То,что делать это существенно сложнее и неудобнее чем в случае с симулятором,которому достаточно будет подготовить файл с нужным набором данных.
Как будто через Jtag / SWD нельзя вывести тест из printf(). И тоже ничего паять / подключать не требуется. Вывод через отладчик.WatchCat писал(а):Аналогично, легко писать логи. Для этого не надо ничего паять и подключать.
Его стоимость огромнаяWatchCat писал(а):Вы забываете сколько стоит этот нормальный эмулятор.
Да 70 рублей это очень накладно.WatchCat писал(а):Любителю покупать такое оборудование за свой счет накладно будет.
У этого ноута нет USB чтобы подключить к нему ST-Link?WatchCat писал(а):ему доступен только ноутбук.
Ваша проблема в том что вы застряли в прошлом и совершенно не ходите двигаться дальше. AVR устарели и это факт!WatchCat писал(а):Я понимаю что вам,профессионалу, не охота разбираться с теми любительскими проблемами о которых говорю я.
Почему вы так решили?[/uquote]WatchCat писал(а):А вот с точки зрения радиолюбителей,точнее программистов-любителей - лучше AVR пока ничего нет.
Дело не в освоении,а в УДОБСТВЕ инструментального софта для разработки и количестве/доступности примеров готового кода.Если у вас возникли сложности с освоением МК получше AVR, то это не значит что у всех также.
По большей части сами же любители. Получить ответ на вопрос по avr проще и быстрее чем по любому другому контроллеру.Кто поддерживает?WatchCat писал(а):А лучшая поддержка пока что именно у AVR.
Не только искал но даже и сам писал. В процессе понял что меньший комфорт процесса разработки не компенсируются большими мегагерцами и большим объемом памяти так как то и другое в любительских самоделках в абсолютном большинстве случаев достаточно и при использовании avr.Пробовали искать примеры кода для STM32. Их много, очень много.
У профессионалов в коммерческой разработке - может быть и да. С коммерческой разработкой я давно не связан - последние полтора десятка лет "чистый" любитель.Их место давно заняли STM32.
Любители, не связанные с электроникой как бизнесом - естественно не заметят. Для них нет разницы стоит контроллер 100р или 200р - и то и другое копейки. А для бизнеса с его миллионными тиражами изделий - это разница "аж в два раза дороже".Но некоторые упорно этого не замечают.
Для абсолютного большинства любителей и их любительских задач избыточны даже avr,не говоря о более мощных.Если для вас избыточны это не значит что для всех избыточны
А вы походите по этому форуму и посмотрите какие задачи у большинства любителей. И сами оцените - нужно ли в этих задачах платить более сложной и долгойзадачи бывают разные и не у всех они уровня "помигать светодиодом и считать себя крутым прогером"
Нисколько не спорю с неидеальностью архитектуры avr,но все это давно и подробно описано и разжевано. И как адрес передать и как к регистру обратиться.Именно это у STM32, где регистры отсортированы по периферийным блокам и находсятся в общем адресном пространстве с памятью. Функции через аргумент можно передать адрес и не важно регистр это или память. В AVR так не получится. У них сделано через одно место!
Безуловно. Вот только для именно любителей эта гибкость как раз в большинстве случаев выходит боком потому что позволяет сделать куда больше всяких разных ошибок. Избыток гибкости и настраиваемости - это тоже плохо как и недостаток.Современные МК это не только мегагерцы и мегабайты, но и большая гибкость и настраиваемость.
Ну есть и есть. Ничего катастрофического в них не вижу. Тем более для любителя. Тем более сейчас,а не два десятка лет назад, когда в интернете на каждом шагу есть вот такие штуки http://homes-smart.ru/fusecalc/?prog=av ... ATmega328PВам сильно нравятся фьюзы в AVR? В STM32 их нет!
Вот-вот, любителю, тем более не особо продвинутому, предлагаете выписывать все эти переключения и настройки вместо того чтобы просто включить внешний генератор и начать писать код для своей самоделки.МК стартует с RC генератора, а походу работы можно переключить на кварц, выбрать коэффициент умножения и многое другое.
И много вы видели _любительских_ самоделок где это было бы нужно и эти пользовались? Хоть на каком-нибудь контроллере.Тоже касается защиты памяти.
И много кто из любителей этим заморачивается? Бутлоадер нужен в _серийных_ устройствах чтобы обновить прошивку мог юзер у которого "железного" программатора в руках нет. А если уж радиолюбитель занялся микроконтроллерами (любыми) то первое что он сделает или купит - это именно программатор. И все эти заморочки с отдельными бутлоадерами сразу становятся ему не нужны в абсолютном большинстве случаев так как свои самоделки он обычно делает для себя. Надо будет перешить - подключит программатор. Так что это опять преимущество,актуальное практически только для профи,занимающихся разработкой коммерческих устройств.То есть бутлоадер может разблокировать страницы в которых прошивка, перепрошить их и заново заблокировать. Бутлоедер можно запустить из ОЗУ если нужно стареть всю флеш память или обновить бутлоедер
Если эти "допотопные" МК удобны именно для радиолюбительских целей - то почему бы и не пользоваться? И судя по распространенности avr в магазинах по сей день - так считаю далеко не только один я.Так что вы застряли в прошлом на допотопных МК.
Симулятор позволяет запустить код в полностью контролируемой и повторяемой среде,в том числе и с подачей ему на вход абсолютно в точноти тех же данных.Зачем симулятор МК если код можно запустить в МК в режиме отладки и получить гораздо больше чем может симулятор.
Я не о размерах регистров говорил,а о размере порции данных поступающих на вход программе,работающей в контроллере. Например через любой из последовательных интерфейсов. Я выше уже приводил пример с датчиком,который периодически выплевывал совершенно неожиданные(программой) числа. И на железке это выглядело как будто откуда-то ловятся сильные импульсные помехи. Многодесятикратно скармливая симулятору строго один и тот же последовательный набор данных - мне удалось наконец понять в чем же дело. Теоретически я мог бы и в аппаратном отладчике останавливать программу в каждом цикле обработки следующего байта и подсовывать ей каждый следующий байт как будто он был принят через порт от датчика. Даже наверно теоретически можно сильно упереться и написать скрипт который будет это делать. Но подсунуть файл с этими байтами симулятору было намного проще и удобнее.Где вы видели в МК регистры периферии на размером в несколько сотен байт?WatchCat писал(а):Мешает неудобство этого действия - о чем я и говорю. Если байтов несколько штук - это еще как-то приемлимо. А если несколько десятков или даже сотен?
Традиционно виртуальными машинами называют то,что запускает например VMWare и Hyper-V. А если употребить этот термин так как употребили вы (вобщем-то допустимо) то тогда и VMlab тоже будет виртуальной машиной потому что способен симулировать не только собственно контроллер но и некоторый набор внешних по отношению к нему устройств. К примеру символьный индикатор, кнопки,светодиоды, последовательный порт.Не путайте симулятор и виртуальную машину.WatchCat писал(а):программные симуляторы типа например qemu
Платный. Пользоваться ворованным софтом при наличии приемлимой бесплатной альтернативы - мне мешает совесть и [неправильное,советское] воспитание.Proteus 8 Professional есть
Куда более важно не наблюдение за инструкциями,а симуляция работы периферийных блоков.смотрим как выполняются машинные инструкции...
Видел проект где к avr подключили сетевую карточку,ту что под шину ISA. Вроде реалтек какой-то, совместимый с ne2000.единственное чего нет у AVR - встроенного интернета...
приходится изобретать самому...
Вот и я о том же говорю - нам, любителям, достаточно. А профессионалы со мной спорят. Потому что они профессионалы и им не хватает.всё остальное для жизни у AVR есть
И много вы видели _любительских_ самоделок где это было бы нужно и эти пользовались? Хоть на каком-нибудь контроллере.[/uquote]Нужно это во всех проектах. Даже любительских. В обязательном порядке. А ваш мифический "любитель", который не способен даже прочитать назначение всего 2-х регистров (именно столько используется регистров MPU, чтобы установить атрибуты защиты одного региона памяти), завтра потратит месяц на поиски бага с переполнением стека или порчей переменной. И не факт, что и за месяц найдёт.Тоже касается защиты памяти.
Нынче регулярно вижу программистов (на ПК),которые реализуют работающие проекты хреново и весьма поверхностно зная используемый язык программирования.И это никак не мешает мне реализовывать работающие проекты на них.
А вот тут я с вами согласен. Чтобы начать - тысячи страниц действительно не нужны. Они нужны чтобы стать Мастером в своем деле.Никогда не понимал - к чему эти плачи о "тысячах страниц мануалов", которые нужно прочитать, чтобы начать программировать МК???
Вот,сразу видно подход профессионального разработчика. Рынки,затраты и вот это всё. Очевидно что радиолюбитель от всего этого "бизнеса" бесконечно далёк.Симулятор - это тупиковый путь. Почему? Потому как увеличивает затраты на вывод на рынок нового МК и снижает скорость вывода (нужно ведь время на его написание).
Тоже с вами согласен. Но вы - профессионал. А в моей,любительской, программе багов будет явно и намного больше чем в симуляторе.Также - где вы видели программы без багов?? Думаете - ваш симулятор будет правильно симулировать всю периферию МК?
И тут я с вами соглашусь. А также замечу что простота AVR - это чуть ли не главная причина почему любители их по сей день используют.Всё это делает практически бесполезными симуляторы на серьёзных МК. Для всяких простейших, типа AVR, они ещё может быть более-менее.
vmlab вполне справляется в необходимом и почти всегда достаточном _любителю_ объеме. И понятно что симулятором надо уметь правильно пользоваться,как и любым другим инструментом. Отлаживать код блоками,по частям, создавая ему полностью контролируемое окружение. Сейчас модно говорить "модульное тестирование".Это уж не говоря о том, что для симулятора нужно ещё и окружение МК как-то симулировать.
Да не просто установить,а с этим комбайном _разобраться_ чтобы он делал именно то что нужно,а не то что ему хочется.Да еще и сначала установить соответствующую среду разработки
Вот потому профессионалы и не понимают любителей. Потому что профи работает со всем этим каждый день по восемь часов,а любитель бывает что и месяц и два может не брать в руки микроконтроллеры и софт для них. Я вот сразу после праздников начинаю заготовку дров для своего дома и эдак до конца июня мне не до контроллеров (и вообще компов) будет. А у кого-то может быть период сильной занятости на основной работе,вообще никак с электроникой не связанной(но он там работает потому что высокая зарплата).И это всего то на один два раза использования?