Перейти к содержанию
    

Чего мне не хватает так это инструментов для реализации бизнес логики и меня не устраивает не только сложность с написанием ПО, но и самое главное сложности с его модификацией.

 

Присмотритесь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну зачем так сразу мордой об асфальт? Современным аналогичным инструментом такого вполне являются UML и Matlab/Simulink.

Но ТС так и не сказал, что такое "бизнес-логика" в его программах. А без этого сложно советовать какие-либо инструменты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg

Сложные программы..

Угу, посмотрел бы я на любителей MCU после того как их ознакомили с современными БИУС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Угу, посмотрел бы я на любителей MCU после того как их ознакомили с современными БИУС.

Ну ознакомились бы, перестали б в цирке смеяться. Делов-то, не они первые, не они последние...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Огурцов, не хамите. Я в этом деле первый после Бога и шансов у Вас ноль в данной плоскости общаться.

Что касается 8ми битников, то для меня этот вопрос на столько же очевиден как и для всех остальных в этой теме. Не нужно открывать глаза на истину, о которой уже всем известно. Однако, во-первых мои задачи с легкостью размещаются в рамках 8ми битников, а во-вторых куда собственно денутся все проблемы о которых я пишу при переходе на кортекс? И еще раз персонально для Вас: я ничего не имею против кортекс и понимаю что это неотъемлемый атрибут современного мира контроллеров. Но не нужно ими тыкать. Это совершенно иной уровень задач: стеки протоколов, ОС, экраны, сложные вычисления.

 

Что касается данной темы, то я думаю, что максимум для 8ми битника (в моем случае) это:

1. Разбивка кода на части с разделением функциональности в отдельных с файлах.

2. Структуры массивы и указатели

3. Подсистема таймеров. Это когда я могу дать некое имя виртуальному таймеру и работать с этим таймером. Стартовать, проверять значение, сбрасывать. Таких таймеров может быть столько сколько необходимо. ТИк - одна миллисекунда.

4. Подсистема сообщений. Это когда я могу отправить сообщение от одной части ПО к другой. Сообщение может быть "персональное" либо широковещательное.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Смотрю в сторону объектно ориентированных принципов построения ПО

Про ООП думаю так: https://electronix.ru/forum/index.php?showt...p;#entry1445527

 

а также подумываю над идеями из теории ОС

Зависит от требований к изделию. В определенных случаях ОС и ее элементы хороши, в других это может вредить делу. Где целесообразно, там применял ОС-образные подходы для МК и ПЛИС.

 

Что касается данной темы, то я думаю, что максимум для 8ми битника это:

1. Разбивка кода на части с разделением функциональности в отдельных с файлах.

2. Структуры массивы и указатели

3. Подсистема таймеров. Это когда я могу дать некое имя виртуальному таймеру и работать с этим таймером. Стартовать, проверять значение, сбрасывать. Таких таймеров может быть столько сколько необходимо. ТИк - одна миллисекунда.

4. Подсистема сообщений. Это когда я могу отправить сообщение от одной части ПО к другой. Сообщение может быть "персональное" либо широковещательное.

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

Пункты 1 и 2 для меня инвариантны относительно выбранного МК. Об организационно-технологических пунктах 3-5 я бы думал после изучения ТЗ на конкретное изделие.

Изменено пользователем BackEnd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот менеджер если он весь такой абстрактный и платформенно независимый могли бы выложить.

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

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

VxWorks вы уже назвали, там есть и файловая и TCP стек и USB и проч. Стоит это добро дикие деньги.

Так что ваша "архитектура" совершенно не вписывается в контекст темы

Вы понимаете вообще разницу между архитектурой и реализацией? Я привел I/O менеджер как некую абстракцию - часть ПО системы управления. Как он будет реализован на практике в конкретной платформе - зависит от множества факторов и я специально этого не касался. Примеры I/O менеджеров для различных систем управления:

 

8-и битный контроллер - да, обыкновенный маппер с дефайнами и функциями

 

Система с RTOS, как у меня - описал выше

 

Промышленный ПЛК - смотри Codesys и МЭК 61131-3 - там есть свой I/O менеджер.

 

Контроллер управления умным домом - вам непонятный OpenHAB.

 

І/O менеджер как раз очень платформозависимый, но на уровне архитектуры- абстракции он служит для выполнения одних и тех-же задач, что доя 8-и, что для 64-х битника

 

Что касается данной темы, то я думаю, что максимум для 8ми битника (в моем случае) это:

1. Разбивка кода на части с разделением функциональности в отдельных с файлах.

2. Структуры массивы и указатели

3. Подсистема таймеров. Это когда я могу дать некое имя виртуальному таймеру и работать с этим таймером. Стартовать, проверять значение, сбрасывать. Таких таймеров может быть столько сколько необходимо. ТИк - одна миллисекунда.

4. Подсистема сообщений. Это когда я могу отправить сообщение от одной части ПО к другой. Сообщение может быть "персональное" либо широковещательное.

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

Это нужно для вашей "бизнес-логики"? Что же это за штука такая? Ну дайте понять где нужно давать имена таймерам и широковещательные сообщения. Напоминает автоматы состояний.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Огурцов, не хамите.

не говорите, что мне делать и я не укажу вам путь

 

Я в этом деле первый после Бога

каким образом, если вы даже не врубаетесь, что это позволяет не напрягаясь реализовать:

 

1. Разбивка кода на части с разделением функциональности в отдельных с файлах.

2. Структуры массивы и указатели

3. Подсистема таймеров. Это когда я могу дать некое имя виртуальному таймеру и работать с этим таймером. Стартовать, проверять значение, сбрасывать. Таких таймеров может быть столько сколько необходимо. ТИк - одна миллисекунда.

4. Подсистема сообщений. Это когда я могу отправить сообщение от одной части ПО к другой. Сообщение может быть "персональное" либо широковещательное.

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну ознакомились бы, перестали б в цирке смеяться. Делов-то, не они первые, не они последние...

Я может не в той оборонке работал, такое впечатление...

 

А автору советую взять AT91SAM7 установить на него операционку и тупо делать все дизайны под RTOS. Все проблемы потихоньку рассосутся сами собой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я может не в той оборонке работал, такое впечатление...

Может он имел ввиду зарубежные современные БИУС?

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А автору советую взять AT91SAM7 установить на него операционку и тупо делать все дизайны под RTOS. Все проблемы потихоньку рассосутся сами собой.

 

Под RTOS еще нужно уметь писать. Можно такое намудрить что потом не отладишь.

Как на меня так совет абсолютно не имеет смысла (в плане понимания построения программы).

RTOS ускоряет и облегчает разработку, но главное это понимание как и где его использовать.

 

Как на меня так было бы очень интересно посмотреть реализацию (кода на C) как люди решают те или инные задачи.

Тут уже говорили про массивы структур, указатели на функции в структурах.

 

Если у кого есть примеры, или ссылки поделитесь плиз :rolleyes:

 

Приведите примеры где это все инициализировать (например массивы указателей )как его использовать (только живой код с примером кратким, но достаточным для понимания).

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приведите примеры где это все инициализировать (например массивы указателей )как его использовать (только живой код с примером кратким, но достаточным для понимания).

 

Эт вы просите разжёванный и положенный в рот учебный материал, а не живой код.

 

Живой код я показал в первом же ответе в этой ветке.

Вот еще раз ссылка на него

 

Там есть и RTOS, и как делается мапинг сигналов получаемых по сети CAN c массивами указателей и как сделать 100 машин состояний работающих по скриптам с тактом в 5 мс.

И как при этом управлять устройставми с тактом в 62 мкс. И одновременно осциллографировать сигналы на PC по HS USB и писать в лог на SD карту и т.д. и т.п.

 

Но что-то никто не форкает эти исходники для изучения, а смотрело всего пару человек.

На самом деле чей либо код никого не интересует

 

А учебный материал стоит дорого. Потому и тех. поддержка RTOS стоит дороже самих RTOS.

Я конечно не имею в виду здесь малофункциональные экзерсисы типа ScmRTOS

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

еще раз: RTOS это не эта тема. Нужна ОС там где люди работают в том числе с чужими стеками протоколов, с чужими программами и модулями. Вот представьте себе: вам нужен езернет, усб, доступ к файлам на карте памяти и работа с сенсорным экраном. Естественно вы возьмете готовые либы, но кто знает как все это внутри устроено!? А работать то должно все вместе:) Вот тут то и приходит на помощь ОС. Проц занимается последовательно задачами ,ну естесна с приоритетами и прочими фишками. Мне не нужно и не интересно. Пока. Дальше видно будет.

ООП тош интересно. ОЧень, но опять же не здесь и не сейчас.

 

Я говорю о другом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

меня не устраивает не только сложность с написанием ПО, но и самое главное сложности с его модификацией.

Вам же сказали, что ФУНДАМЕНТАЛЬНАЯ проблема программирования (наличие большего числа "IF...THEN...ELSE" в разных вариациях и формах) пока что не решена.

Отсюда код ТРУДНО модифицируемый. Отсюда баги при модификации.

 

Нужен инструмент который будет контролировать ЦЕЛОСТНОСТЬ "бизнес-логики" при изменениях программы и синхронность+законченность этих изменений в разных взаимосвязанных частях программы.

 

Но он пока не изобретен.

Так что если Вам удасться его изобрести - Вы будете первым в мире. :biggrin:

Изменено пользователем Укушенный воблой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Буратино,

 

лично моё мнение, все Ваши проблемы решаются знанием основ системотехники (умением в принципе разрабатывать), а в частности ООП.

 

Второе Вы считаете, что Вам достаточно 8-ми битников, тогда я Вам завидую, Вы трудитесь в неконкурентной среде.

Поясню: стоимость разработки складывается из элементов (здесь все производители постарались и M0 стоит дешевле вашего 8-ми битника) и времени разработки (что позволяют современные IDE для современных контроллеров Вам уже тоже говорили).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...