Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сложные программы
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9
AlexandrY
Цитата(Эдди @ Jan 11 2017, 16:13) *
zltigo, вы, похоже, уже очень устарели. Советую посмотреть начинку небольшого GSM-модуля и его интерфейсы. За 400-500р на ибее/али можно взять компактный модуль, который напаивается себе на схему. К нему подсоединяются микроконтроллер (работающий АТ-командами, обслуживающий экран и клавиатуру), операционник с динамиком и микрофон. ВСЕ! Вот и готовый телефон.

Ну кто теперь напаивает модули, Эдди!?

Я ж дал специально ссылку на медиатек чтобы вы уловили тренд.
Тренд в перемещении всего в один SoC. Там уже и либы GNSS и Wi-Fi AP, и аудиообработка, и облако сенсоров и т.д. и т.п.

Модули это слишком накладно.
И я бы посмотрел как вы справитесь с теми же модулями на AT командах когда вам их несколько надо подключить.
Потому и PI возьмёте, что испугаетесь с несколькими протоколами одновременно работать.

Но PI вам не поможет с облаком сенсоров.
И тут вы втихаря от нас купите очередную борду с STM32F7 или F8, не знаю что они завтра придумают, и начнете обречённо ковырать FreeRTOS. biggrin.gif
segment
Цитата(zltigo @ Jan 11 2017, 17:31) *
Проблема не в использовании, а проблема в глупейшей уверенности, внутри этих "модулей" о сложности которых в том числе и Вы, очевидно, не имеете даже отдаленного представления

Прошу не приписывать мне свои догадки, мы с Вами не знакомы.
zltigo
Цитата(Сега @ Jan 11 2017, 16:54) *
Прошу не приписывать мне свои догадки, мы с Вами не знакомы.

Увы, УЖЕ знакомы. Заочно, но уже настолько, что я могу абсолютно точно судить о Вашей квалификации в области GSM протоколов и их реализаций. Так что никаких догадок.
Огурцов
Цитата(Эдди @ Jan 11 2017, 12:37) *
Как только в МК появляется fpu, mmu и скоростной интерфейс работы с периферией (начиная с оперативной памяти и SSD), он превращается в процессор

микроконтроллер - это м(от, видимо, микроконтроллер), а процессор, как вы говорите - это а(видимо, от апликейшн)
основное отличие - наличие mmu, а оно не таракан, просто так на ровном месте не заведётся
это к слову о применимости к использованию или нет разных rt и не очень os
Эдди
Цитата(AlexandrY @ Jan 11 2017, 17:52) *
Ну кто теперь напаивает модули, Эдди!?

Я, чтобы подешевле было.
Цитата
Тренд в перемещении всего в один SoC. Там уже и либы GNSS и Wi-Fi AP, и аудиообработка, и облако сенсоров и т.д. и т.п.

Зачастую у этого ужаса совершенно невменяемый SDK, поэтому ну его нафиг!
Цитата
И я бы посмотрел как вы справитесь с теми же модулями на AT командах когда вам их несколько надо подключить.

Скорости передачи данных небольшие — можно даже поочередно коммутировать при желании. Ну или взять STMку с нужным количеством UART'ов.
Цитата
Потому и PI возьмёте, что испугаетесь с несколькими протоколами одновременно работать.

Не, PI я беру, чтобы там Nginx поднять, потому как на STM32F407 веб-сервер — жуть какая-то. У всех этих "малинок" и т.п. слишком убогая периферия, они по сути — слабенькие компьютеры. Вот я как слабенькие компьютеры их и использую, оставляя работу с периферией микроконтроллеру (разве что в редких случаях, когда нужно тупо парой-тройкой шаговиков порулить, можно подключить драйверы непосредственно к "малинке").
Цитата
И тут вы втихаря от нас купите очередную борду с STM32F7 или F8, не знаю что они завтра придумают, и начнете обречённо ковырать FreeRTOS. biggrin.gif

Ни в коем разе!
segment
Цитата(zltigo @ Jan 11 2017, 17:58) *
Увы, УЖЕ знакомы. Заочно, но уже настолько, что я могу абсолютно точно судить о Вашей квалификации в области GSM протоколов и их реализаций. Так что никаких догадок.

Я что-то говорил о своей квалификации в области GSM? Я лишь упомянул Ваши придирки к оппоненту, который говорит об одном, а Вы о другом, из-за чего получается разговор "ни о чем" и скатывается в негативный подтекст. Так что, все-таки оставьте свои домыслы при себе.
zltigo
Цитата(Эдди @ Jan 11 2017, 17:02) *
Скорости передачи данных небольшие — можно даже поочередно коммутировать при желании. Ну или взять STMку с нужным количеством UART'ов.

Вы точно уверены, что число 299.6 Mbit/s это "небольшое число" ?


Эдди
Цитата(zltigo @ Jan 11 2017, 18:12) *
Вы точно уверены, что число 299.6 Mbit/s это "небольшое число" ?

Я точно уверен, что нет интерфейсов с такими скоростями в круге требующихся для меня железяк.
У тех же GSM/GPS модулей скорость обычно 9600. Да, есть возможность увеличения скорости интерфейса при использовании GPRS, но все равно там таких диких мегабит никогда не будет.
Да и вообще, откуда взялось это дурацкое число? Даже гигабитный ethernet фактически редко такую скорость выдает!
zltigo
Цитата(Сега @ Jan 11 2017, 17:07) *
Я что-то говорил о своей квалификации в области GSM? Я лишь упомянул Ваши придирки к оппоненту, который говорит об одном, а Вы о другом, из-за чего получается разговор "ни о чем" и скатывается в негативный подтекст. Так что, все-таки оставьте свои домыслы при себе.

А зачем "оппонент" начал говорить о GSM (типа берем модуль с полмегабайтом-мегабайтом софта, не знаю, что в нем, но операционные системы не нужны) в контексте НЕНУЖНОСТИ операционных систем? Какой подтекст Вы видите в этом?


Цитата(Эдди @ Jan 11 2017, 17:16) *
Да и вообще, откуда взялось это дурацкое число? Даже гигабитный ethernet фактически редко такую скорость выдает!

Это "дурацкое число" это пиковая скорость до которой сейчас докатилась "Enhanced Data rates for GSM Evolution".
Эдди
Цитата(zltigo @ Jan 11 2017, 18:20) *
А зачем "оппонент" начал говорить о GSM (типа берем модуль с полмегабайтом-мегабайтом софта, не знаю, что в нем, но операционные системы не нужны) в контексте НЕНУЖНОСТИ операционных систем? Какой подтекст Вы видите в этом?

Еще раз повторяю: мне наплевать, что внутри черного ящика — на то он и черный ящик! Главное — он стоит недорого и я могу работать с ним на низкоскоростном соединении, совершенно не парясь ни о каких ртосях, а только думая об основной задаче!

Я вообще не понял, каким боком содержимое ЧЯ к ртоси? Я в его нутро не влезаю!
zltigo
Цитата(Эдди @ Jan 11 2017, 17:24) *
Я вообще не понял, каким боком содержимое ЧЯ к ртоси? Я в его нутро не влезаю!

В таком случае, Вам категорически не следовало провозглашать ненужность операционных систем в микроконтроллерах. Домохозяйке тоже не нужны не только операционные системы, но и микроконтроллеры с конечными автоматами. Ей тоже достаточно "Черного Ящика" и интерфейса-кнопки, и она тоже "в нутро не влезает". Имеет ПОЛНОЕ право. Только вот если она будет разглагольствовать о ненужности операционных систем, то это будет глупо. Так не уподобляйтесь такой домохозяйке.
Эдди
Ужас, какой упоротый товарищ попался!
Может, кто-то без ртоси не может обойтись. Мне она не нужна.
Я же вас не заставляю сносить свою пиратскую мастдайку и ставить линукс!
AlexandrY
Цитата(Эдди @ Jan 11 2017, 17:24) *
Я вообще не понял, каким боком содержимое ЧЯ к ртоси? Я в его нутро не влезаю!

Просто мало имели дело с модулями.

Я реверсил телефоны еще по заказу Мотороллы ( в смысле фирмы)
Там была RTOS с 30-ю задачами. На ARM7 без MMU.
Т.е. еще задолго до вас Эдди люди осознали важность RTOS даже на простейших микроконтроллерах без всяких признаков MMU.

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

TI сейчас для своих чипов IoT выкладывает сорсы для embedded хостов, которые без RTOS хрен запустишь.
AT команды это анахронизм, удел ардуинщиков.
zltigo
Цитата(Эдди @ Jan 11 2017, 17:47) *
Может, кто-то без ртоси не может обойтись. Мне она не нужна.

Верю. Я просто посчитал нужным объяснить читающим эту тему при каких условиях RTOS не нужна и почему конкретно Вам, а не вообще всем, она "не нужна".
Цитата
Я же вас не заставляю сносить свою пиратскую мастдайку и ставить линукс!

К делу совершенно не отностися, но отвечу.
C Линуксом, будучи его активным сторонником, завязал лет 15-16 назад, когда понял, что все это катится в мутную десктопную помойку в стиле "секс по телефону", полузакрытые любительские поделки и закрытые коммерческие. Ну и Win в своей 2000 реинкарнации к тому времени уже не вызывал сколь-нибудь критичных нареканий. С тех пор держу только CoLinux для поддержки старых проектов. Хватает.
"Масдайки" сностить не буду. Они у меня лицензионные, ибо давно покупаю железо с прошитой Software Licensing Description Table и лицензией на все WIN операционки. Удобно и абсолютно необременительно - пару десятков евро. Ну и здесь вам не в горах Кавказа - с вороованым софтом строго.
Dog Pawlowa
Цитата(Эдди @ Jan 11 2017, 14:37) *
А экранчик обслуживается почти аппаратно при помощи DMA...
Просто в бесконечном цикле main() поочередно вызываем все обработчики событий...

Похоже, что Вы не очень поняли суть проблемы. DMA - это для отображения статической картинки.
Чтобы картинка изменялась, ее нужно перерисовывать. При хорошем разрешении это длительный процесс даже на 32-х разрядном контроллере.
Второй длительный процесс - это (например) работа с SD-картой.
Если в бесконечном цикле Вы поочередно будете вызывать эти функции поочередно, пользователю будет сложно работать с таким прибором из-за "рваной" реакции.
Да, можно побить функции на части, но это трудоемко.

Вот собственно и вся коллизия, если Вы с ней пока не столкнулись, это не значит, что она не существует.
Если повезет, так и будете всю жизнь на STM8 датчики считывать wink.gif
syoma
Хотел написать еще 10 страниц назад по поводу эффективных реализаций автоматов состояний и обмена информацией между ними.
Советую установить такой продукт как Matlab/Stateflow и почитать документацию к нему, чтобы узнать как там строятся автоматы состояний. Узнаете много чего нового.
Ну и советую набросать там свой автомат, промоделировать, а потом сгенерировать Си код для своего, хоть даже 8-и битного микроконтроллера. Писать автоматы состояний на Си после этого больше не захочется. И проблемы со switch-case, глобальными флагами, и событиями исчезнут сами.

AlexandrY
Цитата(Dog Pawlowa @ Jan 11 2017, 20:51) *
Вот собственно и вся коллизия, если Вы с ней пока не столкнулись, это не значит, что она не существует.
Если повезет, так и будете всю жизнь на STM8 датчики считывать wink.gif

Эт точно.
А еще RTOS приносит удачу. biggrin.gif

Поностальгирую.
Вот к примеру мой дивайс сделанный на msp430F149C. Напомню, там всего 2К RAM-а!
Нажмите для просмотра прикрепленного файла
Я поставил туда uCOS-II и сделал 5-ть задач.
Это шлюз охранных централей в телефонные и GSM сети способный сам работать как охранная централь.

Дивайс выставлялся на одном стенде с NOKIA на CeBIT в Ганновере.
Дал начало одному из самых успешных наших региональных стартапов.
Эдди
Цитата(Dog Pawlowa @ Jan 11 2017, 21:51) *
Если повезет, так и будете всю жизнь на STM8 датчики считывать wink.gif

Не, на единичных экземплярах цена МК не важна. Поэтому STM32.
Промышленные драйверы на десятки киловатт мне собирать не надо, только фотометрами/спектрографами управлять, телескоп двигать, да данные собирать, передавать, обрабатывать и хранить. Ничего сложного.
Ну, иногда какую-нибудь простую железку пореверсить приходится (к сожалению, обычно бывает так: покупает один, а работать это должен заставить другой, и случается, что к протоколам железки не то, чтобы API с исходным кодом, а вообще никакой документации нет; либо есть API, но сильно навороченные и только под мастдайку — тут, конечно, реверсить не надо, но чужой код приходится довольно сильно перелопачивать, чтобы что-то работающее собрать).

Цитата(Dog Pawlowa @ Jan 11 2017, 21:51) *
Похоже, что Вы не очень поняли суть проблемы. DMA - это для отображения статической картинки.
Чтобы картинка изменялась, ее нужно перерисовывать. При хорошем разрешении это длительный процесс даже на 32-х разрядном контроллере.

Чушь-то какая! Ну вот не надо мне рассказывать, что монохромный дисплей от Nokia долго перерисовывается!
Мы говорили о мобильном телефоне, а не о неведомом монстре. А у мобилки задача: показать на экранчике телефонную книгу/выбрать номер, показать набираемый номер, отобразить принятые смски, дать набрать и отправить смску. Опционально — часы. Но это уже сложно (нужно копать глубже АТ-команд, т.к. для получения времени по GSM они не помогут).
blackfin
Цитата(Эдди @ Jan 11 2017, 22:29) *
Чушь-то какая!

Прямо, Эпиграф к Теме.. biggrin.gif
Эдди
Цитата(AlexandrY @ Jan 11 2017, 22:28) *
Я поставил туда uCOS-II и сделал 5-ть задач.
Это шлюз охранных централей в телефонные и GSM сети способный сам работать как охранная централь.

Плохой пример. Слишком элементарная железка, чтобы хвастаться необходимостью установки туда ртоси. Ее и без ртоси легко забульбенить. И займет это не больше 5-7 тысяч строк кода!
_Pasha
Цитата(syoma @ Jan 11 2017, 22:09) *
Писать автоматы состояний на Си после этого больше не захочется. И проблемы со switch-case, глобальными флагами, и событиями исчезнут сами.

Странный вывод. Все на автоматах делаю уже лет 10, особых трудностей с protothreads не испытывал и не испытываю.
Причины неиспользования ртос просты: индивидуальная работа и законченные железяки невысокой сложности. При том, что кода может быть и много - больше 64к при задействовании всей имеющейся периферии например stm32 - относить сие к "сложным" программам не могу - слишком хорошо все разбивается на части, штатная периферия выполняет штатные задачи, прерывания легчайшие итд итп
Буратино
Бросается в глаза стремление писателей развести пальцы и рассказать какой же мол он крутой и какие забористые железки он делает. И если тут есть такие кому есть чем похвастаться, то есть и те кто просто не понимает с кем общается. Вот например Эдди и zltigo.
Глядя на титанов всех мастей и слушая рассказы о проектах я бы пожалуй изменил название темы, и даш новое название есть: "Сложные люди"
гг

AlexandrY, хто разводил плату и занимался схемой!? Вот я лично считаю ,что в человеке и плате должно быть все прекрасно. Нет, я четко знаю как все это не просто и совершенно не факт ,что лучше сделал бы, но вот как то для соседства с нокиа стремновато... sm.gif
AlexandrY
Цитата(Буратино @ Jan 11 2017, 23:42) *
AlexandrY, хто разводил плату и занимался схемой!? Вот я лично считаю ,что в человеке и плате должно быть все прекрасно. Нет, я четко знаю как все это не просто и совершенно не факт ,что лучше сделал бы, но вот как то для соседства с нокиа стремновато... sm.gif

Не напрягайтесь.
Это во-первых музейный экпонат.
Во-вторых проект открытый и были в свое время в SOEL выложены все исходники.
Если не поленитесь, то найдете и сможете увидеть как RTOS реально помогает жить. biggrin.gif

И да, все сдел я сам, даже паял.

Цитата(syoma @ Jan 11 2017, 21:09) *
Советую установить такой продукт как Matlab/Stateflow и почитать документацию к нему, чтобы узнать как там строятся автоматы состояний.

А я бы советовал зайти там в закладку Robotics System Toolbox -> ROS или Similink RealTime и убедится что роботов и реальное время программируют исключительно с RTOS.
А в Stateflow делают только лабуду типа вкл-выкл.
haker_fox
QUOTE (Эдди @ Jan 11 2017, 19:37) *
Как только в МК появляется fpu, mmu и скоростной интерфейс работы с периферией (начиная с оперативной памяти и SSD), он превращается в процессор ☺

Так в банальном чипе на базе Cortex-M0 есть скоростные интерфейсы для работы с периферией: SSP, UART, I2S. Это же не зависит от ядра. FPU тоже никем не удивишь: технически вы его можете хоть к AVR прикрутить, если свой камень делаете rolleyes.gif А MMU вам чем поможет при установки операционной системы?
Эдди
Цитата(haker_fox @ Jan 12 2017, 10:26) *
А MMU вам чем поможет при установке операционной системы?

Тем, что операционная система (я о линуксе говорю, а не о фигне неведомой) без MMU не будет работать!
AlexandrY
Цитата(Эдди @ Jan 12 2017, 10:18) *
Тем, что операционная система (я о линуксе говорю, а не о фигне неведомой) без MMU не будет работать!


Эдди, над вами ржёт весь форум! lol.gif

Все знают, что линукс работает и на без MMU-ушных процах. Он даже на STM32 портирован.
Я имею сертификат о прохождении учебного курса по работе с линуксом на STM32.
Andreas1
Цитата(AlexandrY @ Jan 12 2017, 11:23) *
Я имею сертификат о прохождении учебного курса по работе с линуксом на STM32.

А можно поподробнее, что за курс?
desh
Цитата(Эдди @ Jan 12 2017, 11:18) *
Тем, что операционная система (я о линуксе говорю, а не о фигне неведомой) без MMU не будет работать!


https://habrahabr.ru/post/177425/
Эдди
Цитата(AlexandrY @ Jan 12 2017, 11:23) *
Все знают, что линукс работает и на без MMU-ушных процах.

И я там даже смогу запустить gcc, скомпилировать что-то и запустить многопотоковую задачу?
Ну-ну...
И да, какому ядру хватит оперативки средненького STM32F103?
Буратино
Цитата(AlexandrY @ Jan 12 2017, 10:23) *
Не напрягайтесь.
Это во-первых музейный экпонат.
Во-вторых проект открытый и были в свое время в SOEL выложены все исходники.
Если не поленитесь, то найдете и сможете увидеть как RTOS реально помогает жить. biggrin.gif

И да, все сдел я сам, даже паял.

Я с большим уважением к Вашим постам всегда относился и отношусь. Не понимаю конечно о чем Вы пишите на самом деле, так как не работал с такими системами, но видно что Вы как минимум в теме. И хватит уже о ОСsm.gif Верим!
AlexandrY
Кстати возвращаясь к "курятникам".
Пока суть да дело, мы подошли к выбору организации нашей системы с кучей движков и конечников.
Таки да, магистральной шиной будет EtherCAT.
Там есть убойная фича - передача состояния цепей безопасности по тому же кабелю EtherCAT что и все остальные сигналы.
Кто в курсе автоматизации знает как можно нарваться при приемке с проблемами безопасности и сколько проводов это требует.

Есть поле и для своих дивайсов на базе IO-Link. Подключаются через слэйвы EtherCAT и там уже можно творить что хочешь.

Ядром системы будет один ПЛК Omron серии NJ1.
Имеется плагин даже к Matlab, однако.
Буратино
AlexandrY, плату критиковать или фиг с ней!? sm.gif
Укушенный воблой
Цитата(AlexandrY @ Jan 12 2017, 11:22) *
Кстати возвращаясь к "курятникам".
Пока суть да дело, мы подошли к выбору организации нашей системы с кучей движков и конечников.
Таки да, магистральной шиной будет EtherCAT.

Зря вы про этер кэт.
Тут его НИКТО И НИКОГДА НЕ ЮЗАЛ.
И даже не знают что это такое.
Потому что среди нескольких сотен тысяч тем тема про этар кат всего одна

Цитата(AlexandrY @ Jan 12 2017, 08:23) *
А я бы советовал зайти там в закладку Robotics System Toolbox -> ROS или Similink RealTime и убедится что роботов и реальное время программируют исключительно с RTOS.

Я уже сказал же.
Что RTOS нужна где нужен реалтайм, синхронизация, квазираспараллеливание и доступ к ограниченным разделяемым ресурсам.
Роботы - это частный случай
Огурцов
Цитата(desh @ Jan 12 2017, 08:50) *

Цитата(desh @ Jan 12 2017, 08:50) *
AVR восьмибитный, и MMU естественно тоже не поддерживает. Я написал эмулятор ARM

так можно даже до i4040 докатиться

Цитата(Укушенный воблой @ Jan 12 2017, 18:40) *
Что RTOS нужна где нужен реалтайм, синхронизация, квазираспараллеливание и доступ к ограниченным разделяемым ресурсам.
Роботы - это частный случай

боюсь, что там можно сделать без rtos, без мк и без квази

syoma
Цитата(AlexandrY @ Jan 12 2017, 09:23) *
А я бы советовал зайти там в закладку Robotics System Toolbox -> ROS или Similink RealTime и убедится что роботов и реальное время программируют исключительно с RTOS.
А в Stateflow делают только лабуду типа вкл-выкл.

Вы вообще читали, что такое Robotics System Toolbox или Simulink RealTime?
Цитата
The system toolbox provides an interface between MATLAB and Simulink and the Robot Operating System (ROS) that enables you to test and verify applications on ROS-enabled robots and robot simulators such as Gazebo. It supports C++ code generation, enabling you to generate a ROS node from a Simulink model and deploy it to a ROS network.

Цитата
Simulink® Real-Time™ lets you create real-time applications from Simulink models and run them on dedicated target computer hardware connected to your physical system. It supports real-time simulation and testing, including rapid control prototyping, DSP and vision system prototyping, and hardware-in-the-loop (HIL) simulation.

Оба этих тулбокса - это только надстройки, которые позволяют исполнять модели, сделанные в Simulink(а Stateflow является его частью) на системах реального времени, дополняя эти модели нужными драйверами или как вы называете фреймворками. Сами же алгоритмы управления, как обычно, разрабатываются в Simulink, а автоматы состояний - только в Stateflow.
Про Simulink Realtime вообще смешно - знали бы вы сколько раз ко мне приставали товарищи из Speedgoat... Simulink Realtime работает только с ихним железом и мы одно время даже думали с ними скооперироваться по поводу реализации ихнего реал-тайм движка на нашей системе, но в итоге оказалось, что наша архитектура, которую я описывал, ничуть не хуже. Только Host/Target Communication у нас пока еще нет, а у них есть.
Цитата
Ядром системы будет один ПЛК Omron серии NJ1.
Имеется плагин даже к Matlab, однако.

Вас это удивляет? В Matlab есть генератор кода IEC 61131-3 - Simulink PLC Coder из моделей. Такой же как и для Си.
Цитата
IDE support, including 3S-Smart Software Solutions CODESYS®, Rockwell Automation® Studio 5000, Siemens® TIA Portal, Omron® Sysmac® Studio, and PLCopen XML


Цитата
Зря вы про этер кэт.
Тут его НИКТО И НИКОГДА НЕ ЮЗАЛ.
И даже не знают что это такое.

Ну будет второй человек после меня. biggrin.gif
У меня в ближайших планах сделать тестовый стенд для моделирования внешних сигналов при приемочных испытаниях устройств - а-ля симулятор реальной среды.
Будет на Малине + Codesys + EtherCAT. Там реал-тайм не обещают пока, но джиттер и так в районе 50мкс, Вебвизуализация, протоколы типа Modbus, CANopen, логи, отладка и прочее присутствуют, и все это за смешные 50€ - очень дешевый контроллер со всеми плюшками получается.
AlexandrY
Цитата(syoma @ Jan 12 2017, 21:51) *
Про Simulink Realtime вообще смешно - знали бы вы сколько раз ко мне приставали товарищи из Speedgoat... Simulink Realtime работает только с ихним железом

Очень странно вы пишите. Давно-то Matlab открывали?

Simulink Real-Time работает на любом PC совместимом компьютере с DOS.
Он туда грузит специальную RTOS называемую Simulink Real-Time kernel.
Speedgoat да они упоминаю, но посмотрите всю палитру блоков Simulink Real-Time, там даже есть карты от National Instruments, их конкурентов.

Stateflow не часть Simulink-а, а только один из его тулбоксов.
Все тулбоксы имеют в себе блоки с оригинальными алгоритмами, потому они и ценны, вне связи с матлабом. А вот Stateflow пустышка.

Цитата(Буратино @ Jan 12 2017, 12:28) *
AlexandrY, плату критиковать или фиг с ней!? sm.gif

Давайте, критикуйте если это будет не скучно.
haker_fox
QUOTE (Эдди @ Jan 12 2017, 16:18) *
Тем, что операционная система (я о линуксе говорю, а не о фигне неведомой) без MMU не будет работать!

Почему? Контексты не будет переключать? Межсервисное взаимодействие будет отсутствовать? И что вы понимаете под "фигнёй?"
Эдди
Ну, я просто не представляю себе, как это будет работать. malloc/free на статическом массиве? А параллельные задачи на многоядерных системах — как синхронизировать (правда, здесь уже не совсем к mmu вопрос)?
А под фигней я понимаю всяких кастратов вроде микрортосей и uClinux'ов.
ar__systems


Цитата(Эдди @ Jan 13 2017, 00:20) *
Ну, я просто не представляю себе, как это будет работать. malloc/free на статическом массиве? А параллельные задачи на многоядерных системах — как синхронизировать (правда, здесь уже не совсем к mmu вопрос)?
А под фигней я понимаю всяких кастратов вроде микрортосей и uClinux'ов.

Причем тут malloc, статический массив, и все остальное?
Эдди
Ну как без mmu каждой задаче выделить свой блок памяти, чтобы не было конфликтов?
syoma
Цитата(AlexandrY @ Jan 13 2017, 00:00) *
Stateflow не часть Simulink-а, а только один из его тулбоксов.
Все тулбоксы имеют в себе блоки с оригинальными алгоритмами, потому они и ценны, вне связи с матлабом. А вот Stateflow пустышка.

Ну вот установили Вы Simulink Real-Time на свою target машину или робота. А дальше что? Как вы собираетесь для нее алгоритмы программировать?
Вот картинка тулбокса Simulink Real-time. Вы видите в нем "оригинальные алгоритмы", чтобы чем-то управлять?

По поводу пустышки советую заглянуть в Examples. Различные Automotive и Redundancy примеры там не просто так, а скопированы из живых реализаций.
У нас в проекте в Stateflow крутится наверное под сотню автоматов состояний, начиная от простой логики для устранения дребезга контактов и всяких Do Not Beleive It обработок, до менеджмента аварийных ситуаций и выбора режимов работы. Stateflow как раз задает состояние контроллера в той или иной ситуации и подает сигналы на Симулинковские модели, активируя и деактивируя нужные подсистемы.


haker_fox
QUOTE (Эдди @ Jan 13 2017, 13:20) *
Ну, я просто не представляю себе, как это будет работать. malloc/free на статическом массиве?

Да без проблем! Гляньте исходный код этих функций rolleyes.gif

QUOTE (Эдди @ Jan 13 2017, 14:06) *
Ну как без mmu каждой задаче выделить свой блок памяти, чтобы не было конфликтов?

Батенька, да вы всё перемешали в кучу rolleyes.gif Что делает malloc? Предоставляет вам указатель на память запрошенного размера. Ну, как вы эту память получите (выделите) дело десятое. Алгоритмов выделения - море. MMU вам только поможет склеить память в одно линейное пространство из разбросанных кусков, да сгенерит исключение, если кто-то захочет попортить её.
Ещё раз: посмотрите исходники аллокаторов. Их море. Хотябы в тойже "недоси" FreeRTOS. Их там 4 штуки (всего 5, но одна просто обёртка над "стандартными").

QUOTE (Эдди @ Jan 13 2017, 13:20) *
А под фигней я понимаю всяких кастратов вроде микрортосей и uClinux'ов.

Вы такую фигню сначала создайте сами. Или даже попроще, что-то на подобии scmRTOS, FreeRTOS, us/OS. А потом посмотрим, сможете ли назвать это "фигней", т.к. поймёте, что там не два пальца об... а вполне себе теория, по которой книжки написаны rolleyes.gif
AlexandrY
Цитата(syoma @ Jan 13 2017, 08:12) *
Вот картинка тулбокса Simulink Real-time. Вы видите в нем "оригинальные алгоритмы", чтобы чем-то управлять?

У нас в проекте в Stateflow крутится наверное под сотню автоматов состояний,

Вот алгоритмы -
Нажмите для просмотра прикрепленного файла

Собственно из-за них matlab и нужен.

Мелкие функций типа подавления дребезга я реализую в блоках S-function на C-и.
А использовать Stateflow для такой ерунды вас заставляет скорее всего корпоративные правила.
Но это неэффективная потеря времени.
Эдди
Цитата(haker_fox @ Jan 13 2017, 10:33) *
Вы такую фигню сначала создайте сами.

Мне и так нужно за год столько понаписать, что думаю — на что бы такое забить!
А уж нафиг не нужную неведомую фигню писать — так вообще смысла нет! Мне ртось не нужна.
syoma
Цитата
А использовать Stateflow для такой ерунды вас заставляет скорее всего корпоративные правила.
Но это неэффективная потеря времени.

Ну знаете rolleyes.gif я был у истоков запуска матлаба/симулинка/стейтфлоу в нашей далеко не самой мелкой фирме, которая является номером 3 на рынке HVDC/FACTS, если это что-то говорит вам о сложности программ.
По результатам запуска у нас сократилось время программирования тестирования и отладки логики и управляющих алгоритмов на 50% по сравнению с Си-кодингом + позволило убрать данный этап вообще из разработки, значительно сократив количество привносимых ошибок. Т.е. дизайнер алгоритма фактически является автором и Си-кода, хотя последний он даже не учил.
Цитата
Мелкие функций типа подавления дребезга я реализую в блоках S-function на C-и.

Ну а у меня для этого вообще не нужен Си-программист.
AlexandrY
Цитата(syoma @ Jan 13 2017, 12:07) *
Ну знаете rolleyes.gif я был у истоков запуска матлаба/симулинка/стейтфлоу в нашей далеко не самой мелкой фирме, которая является номером 3 на рынке HVDC/FACTS, если это что-то говорит вам о сложности программ.


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

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

Потому рекомендации с вашей позиции выглядят наивно.
Индивидуальные разработчики работают гораздо быстрее и корпоративные подходы им не годятся, типа "у меня нет даже программиста на C-и"
zltigo
Цитата(AlexandrY @ Jan 13 2017, 13:24) *
Потому рекомендации с вашей позиции выглядят наивно.

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

Цитата(AlexandrY @ Jan 13 2017, 13:24) *
Никакая программа не может быть сложнее чем может понять один человек, как мне кажется.

Совершенно не верю, что все используемые Вами кубики сторонних производителей Вы понимаете на уровне достаточном для разработки этих кубиков. Не понимают на самом деле и сами разработчики, поскольку людей много, изначальные разработчики скорее уже всего занимаются другим, текущие в основном латают, причем очень и очень часто бездумно sad.gif.
ar__systems
Цитата(Эдди @ Jan 13 2017, 01:06) *
Ну как без mmu каждой задаче выделить свой блок памяти, чтобы не было конфликтов?

По моему вы просто не понимаете, что такое mmu и как работает malloc.
syoma
Цитата(zltigo @ Jan 13 2017, 14:45) *
На самом деле Вы в лице syoma просто столкнулись с еще более высоким уровнем не знаю, какое слово подобрать, ну пусть будет "абстракции" при разработке программ. Вы на самом деле тоже собирая софт из достаточно готовых и сложных кубиков, систем, библиотек, модулей уже тоже высоко находитесь и соответственно тоже "наивно выглядите" в глазах многих. Так что удивляться Вам не самом деле нечему - узнали, как выглядит в других глазах Ваш подход sm.gif.

Так Буратино правильно и сказал - "Сложные люди". В данной теме есть несколько людей которые пишут свои программы сами - от начала и до конца. И полностью отвечают за их разработку. Таким людям не нужны системы контроля версий и баг треккеры и вообще лучше, чтобы никто не мешал - это такие одиночки. У них есть свой определенный стиль и сложившиеся подходы к разработке своего ПО. Я знаю, я сам таким был.
Но проблема в том, что начиная с определенных размеров проекта в одиночку проект не поднять никак. Нужно разделять работу между разными людьми (и у каждого свой подход) и в конце концов их направлять в нужное русло, чтобы они там не напилили бог знает что.
И вот тут приходит понимание и SVN и баг-трекеров и самое главное, что начинаешь понимать и свои ошибки в прошлом, как одиночника. Вспоминаешь, как днями в одиночку крутил танцы с бубнами вокруг своего же софта, пытаясь заставить его работать, а теперь понимаешь, сколько времени терял впустую - сейчас я ни одному своему программисту такого просто не позволяю. Также начинаешь понимать, что есть продукты, которые действительно значительно повышают производительность труда и уменьшают вероятность ошибок, а есть и такие, что нет. В одиночку такие вещи даже и не узнать, так как времени на обучение попросту нет, ведь "Индивидуальные разработчики работают гораздо быстрее", а заставить кого-либо позаниматься и поизучать продукт - индивидуальному разработчику попросту некого.
Вот сидит мне AlexandrY и доказывает, что Матлаб/Симулинк - это фигня для эмбеддера, а я прихожу на совещания MAAB и общаюсь там с чуваком, который говорит, что у БМВ что-то вроде 150 лицензий на Embedded Coder, и думаю WTF? И думаете они там на 8-и битных контроллерах не программируют?
haker_fox
QUOTE (Эдди @ Jan 13 2017, 17:19) *
А уж нафиг не нужную неведомую фигню писать — так вообще смысла нет! Мне ртось не нужна.

Ну чтож, выбор за вами. Словам "нафиг" и "фигня" говорят сами за себя: Пастернака не читал, но осуждаю)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.