- Требуется мнение об идее реализации синтетических портов, пока
привожу основные тезисы: Синтетической порт(Synth port)
представляет собой программу, платформонезависимая логика которой
запускается не на физическом устройстве, а в синтетическом
(программном) окружении. Синтетическая периферия является
высокоуровневой программной реализацией аппаратной части
микроконтроллера (МК) и предназначена для отладки
платформонезависимой логики. Синтетическая периферия не ставит evgeniy1294(2279 знаков, dao, полностью, 11.07.2020 12:33)
- Вот, сложилось - Evgeny_CD(11.07.2020 19:13, ссылка)
- Можно писать свое моделирование, а можно все-таки взять готовые
продукты в которые уже вложены миллионы человеко-часов труда. У
многих есть интерфейс с embedded средами и электронным
оборудованием. Simulink, Stateflow, LabView RxTx(37 знаков, 11.07.2020 18:58, ссылка, ссылка)
- И заплатить за это...? - Evgeny_CD(11.07.2020 19:01)
- Ну не начинай. И написать всё это самому? Скупой платит дважды. Там
есть и Free/OpenSrc продукты ,посмотри на странице симулинка ниже
ссылки. - RxTx(11.07.2020 19:04)
- Написать что? Платить за что? Зачем вообще нужен LabView? Я описал
технологию, там места сторонним монстрообразным программным
продуктам -- нет. "Синтетический порт" -- это в первую очередь
ОТЛАЖИВАЕМАЯ программа на C, отлаживаемая на ПК, а потом
переносимая на МК. LabView там не нужен СОВСЕМ. Впрочем как и всё
перечисленное Евгением. Там просто нужно сесть и написать код на
языке, на котором тебе проще (мне было проще на Tcl, но можно на
голом C, можно на питоне). fk0(109 знаков, 11.07.2020 19:24)
- Разумеется, все, до чего можем дотянуться, надо использовать. Но
нельзя закладывать критическую зависимость от того, что не
контролируешь никак. - Evgeny_CD(11.07.2020 19:14)
- Все - не надо. Нужно только то, что ведет к решению задачи. Это
сильно меньше, чем все. - Evgeny_CD(11.07.2020 19:13)
- Раньше было все просто и понятно - программа, написанная на С или
Борланд Паскаль работала и на целевом устройстве, и на PC без
дополнительных сущностей, называемых синтетическими портами. Это
было удобно и полезно, т.к. отладочных средств практически не было.
Сейчас они есть, и закрывают практически все потребности.
Изобретать кросс - проверку наличия сигнала CS ? При минимальной
иерархии ПО это отлавливается за 5 минут. Другое дело - какая-то
сложная математика, но тогда VLLV(293 знаков, 11.07.2020 18:26)
- Синтетический порт должен быть простым и понятным. Нужно вначале
четко определить иерархию сущностей. Иначе все зря. Evgeny_CD(1500 знаков, 11.07.2020 18:00, ссылка)
- Посмотри сюда как на инструментальную платформу - Evgeny_CD(11.07.2020 17:35, ссылка)
- Вдогонку: я бы очень советовал иметь скриптовый язык с динамической
типизацией, для быстрого перепрограммирования "окружения". На C/C++
его писать муторно и долго. Более того, может быть удобно иметь
консоль с командами, чтоб потыкать руками за какие-то ручки,
которые в явном виде выводить (в GUI, или ещё куда) не хочется, ибо
нужно на один раз. Да, в том же Tcl на самом Tcl можно сделать GUI.
Впрочем, в питоне тоже можно, но там внутри будет спрятанный Tcl (в fk0(55 знаков, 11.07.2020 13:16)
- Начиная с virtual environment смешалось всё. JSON и всё такое
прочее -- это детали реализации конкретной системы, а не
высокоуровневое описание. Да есть управляющее ПО перенесённое на
ПЦ, есть слой драйверов, который на ПЦ реализован иначе (но имеет
общий, с точки зрения управляющего ПО, интерфейс с драйверами на
таргете). И драйвера могут непосредственно реализовать виртуальное
окружение, либо выступать интерфейсной частью к нему. Я, например,
делал так, что драйвера fk0(1838 знаков, 11.07.2020 13:12)
- Пример реализации системы evgeniy1294(1 знаков, 11.07.2020 12:34, картинка)
- Железо нужно симулировать не на уровне битов и фронтов сигналов, а на уровне высокоуровневых операций (например, чтение-запись блоков данных в EEPROM делается через функцию HAL)... fk0(3835 знаков, 07.11.2019 12:59)
- Спасибо, вообще в документе многие пункты достаточно разумны, я особо подчерку для некоторых здешних читателей: fk0(11807 знаков, 30.10.2019 02:28 - 02:56)
- Спасибо за концентрированное изложение. - Evgeny_CD(30.10.2019 13:37)
- "C.3.8 Постепенное отключение функций" -- на самом деле это *очень* ^^опасная^^ тема. SSJ-100 подтверждает. Кто забыл напомню: в компьютерном самолете который рулится джойстиком произошли отказы. Система управления видимо создана с 3m(466 знаков, 30.10.2019 09:15)
- Он не превратился в утюг. В утюг превратился пилот, который забыл как летать и которого никто толком не тренировал после его долгого опыта вождения ИЛ-76. - mse homjak(30.10.2019 11:42)
- Согласен, что опасная, только пример лучше другой. Например отказал защитный концевик, это обнаружили, но можно продолжать работать и без него, значит продолжаем. И надо как-то ограничить возможность продолжать работу не смотря на частичный выход AlexBi(251 знаков, 30.10.2019 11:05)
- Не знаю за самолет, но если сдохший за тыщу км от магазина запчастей концевик двери автомобиля не даст мне ехать я буду очень недоволен автопроизводителем. Codavr(121 знаков, 30.10.2019 11:14 - 11:19)
- Речь по большей части про программные сбои. И идея направлена как раз на повышения вероятности выполнения базовых функций путём отказа от второстепенных: ты с большей вероятностью уедешь, если у тебя двигатель перейдёт в какой-то особо fk0(328 знаков, 30.10.2019 11:44)
- аналогия: в результате сдохшего концевика в вашем авто на ходу вдруг руль начинает управлять газом, повороты управляются педалью тормоза, тормоз педалью газа, акпп блокируется в текущем состоянии. Лучше остановиться или предпочитаете ехать в таком 3m(237 знаков, 30.10.2019 11:26)
- а как вы останавливаться собрались ??? "повороты управляются педалью тормоза" надо будет спешно искать кнопку которая управляет тормозом ) - Aleksey_75(30.10.2019 11:51)
- Если такой бедлам может случиться от концевика двери, то, мобуть, нуивонах, такой аффтамабиль? В том ССЖ никакого переназначения функций не случилось. Как была "ручка на себя", так и осталась. Но компутер перестал корректировать "я так вижу мир" mse homjak(95 знаков, 30.10.2019 11:44 - 11:47)
- Я всегда говорил, что уставы и ПДД пишут для дураков, умный человек должен в первую очередь пользоваться головой. С учетом правил написаных для дураков конечно, если он не дурак. Codavr(166 знаков, 30.10.2019 11:35 - 11:41)
- Это уже вопрос не техники, а психологии и экономики. Характеристика элемента управления изменилась, но люди оказались к ней неготовы в стрессовой ситуации. Это не к программированию, это вопрос организационный. =AlexD=(97 знаков, 30.10.2019 09:38)
- Для этого не нужен именно ваш прибор, для этого может быть вообще не нужно железо (про "синтетический порт" и Evgeny_CD и я уже много раз писали). Такое применение, конечно, тоже возможно, но на мой взгляд -- оно странновато. И наконец самое fk0(811 знаков, 02.10.2019 00:16)
- Помимо прочего при нормальном программировании всегда делается какой-то "логгер" ведущий протокол работы программы. Потому, что когда она грохнется не всегда уже можно понять почему. И этот протокол должен выводиться или в какой-либо интерфейс fk0(863 знаков, 10.08.2019 12:43)
- От проекта зависит. Насколько чётко выделена аппаратно-зависимая часть и насколько абстракции используемые в старом проекте реализуемы в новом. В 3 недели можно "HAL" не успеть сделать отладить (уарты, таймеры и т.п.) Собственно с этого и нужно fk0(1000 знаков, 24.05.2019 11:48)
- Собственно можно код запускать в эмуляторе процессора (qemu), которому привязать симуляцию нужной аппаратуры, или заменить HAL на вызов функций на ПК (где будет эмулироваться железо на каком-то уровне). - fk0(06.02.2019 00:05)
- Жалкая паделка финских студентов написана на 100% на C, из ассемблера только вектора прерываний, crt и ещё мелочи, в C30 v3.31. Это фуфлыжный и никому не нужный жалкий приборишко, работаю в подвале. GPS приёмник только один, измерять нечего, fk0(4559 знаков, 10.04.2014 02:07 - 02:15)
- В Кортексах/gcc для контроля границы кучи при вызове malloc достаточно отрихтовать _sbrk(). У вас не так? - amusin(10.04.2014 18:48)
- офигеть. сложность задач впечатляет, что у тебя что у Мбеддера. У мну все гораздо скромнее на пик24 abivan(674 знаков, 10.04.2014 10:45 - 15:17, ссылка)
- истинный программист. программирование ради программирования. всё это рожно при вынужденной смене архитектуры придётся отправить в dev/null. трэш угар и содомия. - Mahagam(10.04.2014 14:43)
- Респект и уважуха. Мне еще учиться и учиться - у меня цикл сборки настолько примитивен, что даже стыдно говорить: нажал кнопку Make, дождался сборки и автопрошивки - и смотрю на обновленный экранчик дисплея :)) MBedder(255 знаков, 10.04.2014 08:33 - 11:59)
- твоё? Snaky(41 знаков, 10.04.2014 07:19, картинка)
- :)) - MBedder(10.04.2014 08:16)
- Коллеги, Ваше обсуждение начинает мне напоминать анекдот про маяк -> - Evgeny_CD(10.04.2014 02:44 - 03:11, ссылка)
- Кто о чем, а
вшивый о бане я о кодевеломпенте софта-железа. Итак, пусть у нас есть Tcl, который позволяет прикручивать "в обе стороны" C код. Пишем мы на Verilog|SVerilig|SystemC описание некоей железяки и при помощи компилятора|Verilator'а Evgeny_CD(661 знаков, 24.02.2012 14:22)
- тут это... гуглить надо UVM, OVM, VMM, RVM ну и дальше в глубины истории. прогрессивное человечество по такому вопросу не спит, ой как не спит :) - ыыыы(24.02.2012 15:03,
)
- Любят, потому, что заскриптовать можно всю мышиную возню, которой, как верно замечено, при реальной работе становится невообразимо много. В т.ч. прикрутить C для обработки массивов данных, Tk для визуализации и т.п. В принципе всё то же самое fk0(187 знаков, 24.02.2012 14:47)
- это совсем плохо. лучше лбом гвозди забивать. почему любят - я выше написал. ну и традиция ес-сно. куча годных интерпретаторов появилась позже, чем тулзы. но постепенно, в некоторых тулзах, питон уже поддерживают синопсисы/каденсы. я думаю, еще ыыыы(48 знаков, 24.02.2012 14:46,
)
- Кстати, про синтетические системы и реальное время. Все гораздо интереснее, чем кажется! Evgeny_CD(4129 знаков, dao, полностью, 28.07.2007 20:58,
)
- Жень, тыж собираешься использовать довольно жирные процы. Они сами себе как синтетика. Что тебе там не хватает по сравнению с PC? Запись в файл? =AlexD=(73 знаков, 29.07.2007 07:50,
)
- Народ, я откровенно говоря, не могу догнать - а почему так мало пишется и обсуждается про синтетиские порты? Ведь это же гениальная штука! С компилер на хост машине позволяет решить любые задачи! Я не Evgeny_CD(2134 знаков, 28.07.2007 21:38,
)
- Интересно, как ты в синтетическом порте поймёшь реальную загрузки контроллера? Ведь любой пенёк такую нагрузку проглотит, которая тому-же CF и не снилась. - =AlexD=(28.07.2007 21:26,
)