реклама на сайте
подробности

 
 
> Универсальная среда, для разработки и отладки embedded систем
Evgeny_CD
сообщение Jan 15 2006, 17:41
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Задумался я тут о создании универсальной среды для разработки и
отладки embedded систем. Есть классика жанра - Matlab + Simulink -
"это просто празник какой-то!". Смотрю я на работы AlexandrY
http://aly.projektas.lt/Projects/MATLAB/DT...coderEvanse.htm
и зависть профессиональная гнетет меня. Я тоже так хочу!
Доступный мне инет пропылесосил, книжек по теме собрал, осталось их
прочесть и осознать. Но уже сейчас я понимаю, что хочу большего.

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

Я хочу провести эту разработку "сверху". Т.е. я беру eCos,
синтетический порт под Linux, и начинаю писать с _целевых функций_.

Надо мне голосовой диалог? Ок! Да день работы. Но вначале я напишу его
в режиме диалога через tty, где вместо проигрыша голоса будет проигрыш
текстовых файлов, вместо DTMF - ввод с клавиатуры.

И в таком виде начну обкатывать вместе с кустомером. Когда логика (а
оно там весьма нетривиальная, и точное ТЗ без такой модели никто не
напишет) будет готова, перейдем к следующим упражнениям. Заметим, что
уже после первого шага у меня будет готовый, отлаженный кусок кода под
целевой ОСью (только переписать _внутренности функций типа play_msg()
- а внешний интерфейс такой функции у меня будет уже отлажен - ей
пофиг, что и куда проигрывать smile.gif )

Переходим к задаче выбора кодека для голоса. Оценив запас по
быстродействию целевой платформы и объем FLASH, я выберу кодек. И
начну его писать? ДУДКИ! Я найду его готовую реализацию, и пущу в
виртуальном режиме - как C приложение на том же Linux, под MATLAB и
пр. Обмен данным - через IP сокеты. Хоть на другой машине. Заметим,
что управляться этот кодек будет из моей целевой программы под целевой
ОСью. Опять же, если я не буду кретином, то напишу универсальную
обертку для любых кодеков.

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

Аналогично с фотками. Я не хочу вначале тратить ни одного часа на
понимание того, как работает JPEG!!! По описанной выше технологии я
прикручу готовый JPEG кодек (коих мульон есть), и будут отлаживать
систему _целиком_. Далее можно хоть на асме написать супероптимальный
кодек - когда будет точное ТЗ на него, и все будут точно знать, каких
параметров надо достичь в конце концов.

К чему это я? Надо (IMHO) не RTOS пусть под Matlab, а "сущность" под
управлением Matlab сделать ресурсом под управлением моей ОС. Это даст
возможность с самого первого шага идти сразу к целевой задаче, по пути
уточняя ТЗ (что совсем не маловажно! - в том же примере JPEG кодеки
бывают сильно разные - оптимизированные на качество, скорость, объем
данных и пр. - сразу далеко не очевидно, какой надо выбрать!), и ни
тратя ни одного часа на "левые" вещи.

Python (хотя я только начал изучать его) меня убил наповал. Такой
красоты и кайфа от программизма я еще не встречал. IMHO, учить
программировать надо не с C, С++ и пр, а именно с Python.

Короче (не хочу флеймить) Python - это очень хорошая инструментальная
платформа для такого рода комплекса.

SWIG, судя по собранной информации - вполне рабочая штука, с нею имеет
смысл возиться.

Интуитивно я чувствую, что с "изобретением" идеи оберток я начал
"изобретать" С++. Вообще, вероятно, грамотное (скорее даже
концептуальное) использование идей ООП в embedded системах - это
просто новая эра (по крайней мере для меня точно).

Не знаю, может, у меня эйфория, но я чувствую, что такой подход
безграничен, как вселенная. Есть сущность - моя целевая embedded ОСь.
Она управляет другими сущностями. Любыми. Через сокеты, например. По
мере необходимости эти сущности втаскиваются внутрь ОСи, становясь
"локальными" задачами. А потом все это собранное и отлаженное
хозяйство ставится при помощи BSP на целевую платформу.

Понятно, что все гладко не будет. Те же глюки в BSP могут столько
крови попортить, что мало не покажется (был у нас года два назад опыт
- программеры месяц "джитагили" борду, пока ошибку в BSP uCOS для AT91RM9200
не нашли). Но при таком подходе за счет объектного подхода вся система
легко разбирается на части, связи между ними конечны и понятны - так
что глюки легко локализовать.

Мне кажется, что системы типа KEIL симулятор, MATLAB и пр. являются
только частью такой вселенной, но не могут ее заменить.

Кто наведет грамотную критику на мои размышлизмы - тому большой
a14.gif ! А то может у меня уже крыша съехала от долгого размышления...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
beaRTS
сообщение Aug 3 2012, 03:54
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 211
Регистрация: 27-12-11
Из: Челябинск
Пользователь №: 69 111



Цитата(Evgeny_CD @ Jan 15 2006, 20:41) *
Задумался я тут о создании универсальной среды для разработки и
отладки embedded систем. Есть классика жанра - Matlab + Simulink -
"это просто празник какой-то!". Смотрю я на работы AlexandrY
http://aly.projektas.lt/Projects/MATLAB/DT...coderEvanse.htm
и зависть профессиональная гнетет меня. Я тоже так хочу!
Доступный мне инет пропылесосил, книжек по теме собрал, осталось их
прочесть и осознать. Но уже сейчас я понимаю, что хочу большего.

Интересные вещи рассказываете. Но времени прошло много. Подросло молодое поколение (я, например =) ). Могли бы растолковать поподробней молодому поколению, что за книги вы нашли, востребовано ли то, о чем вы помышляли, какие успехи у Вас произошли на этом поприще?!! У вас была мысль о том, как правильно писать программы, чтобы использовать код в других проектах? Поделитесь, пожалуйста, свежими новостями, наработками, мыслями. В общем, интересно всё!
Вот покопался нашел универсальную, интегрированную среду разработки и отладки HEW (High-performance Embedded Workshop) (Она представляет собой графическую среду для разработки программного обеспечения с пакетом компилятора С/С++, позволяющего генерировать код, оптимизированный по скорости выполнения и по объему занимаемой памяти. ) ... Т.е. есть наработки в данном русле. Стоит ли плыть в сторону того, что вы описывали и хотели (хоть и не до конца еще вкуриваю о чем вы)?

Сообщение отредактировал beaRTS - Aug 3 2012, 03:55


--------------------
"Об уме человека вернее судить по его вопросам, нежели по его ответам" (с)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Evgeny_CD   Универсальная среда   Jan 15 2006, 17:41
- - makc   Если я правильно Вас понял, то Вы хотите с помощью...   Jan 15 2006, 18:01
|- - Evgeny_CD   Цитата(makc @ Jan 15 2006, 21:01) ...Если...   Jan 15 2006, 18:12
- - makc   Т.е. получается, что Вы предполагаете априори, что...   Jan 15 2006, 18:35
|- - Evgeny_CD   Цитата(makc @ Jan 15 2006, 21:35) ...Самы...   Jan 15 2006, 18:44
|- - makc   Цитата(Evgeny_CD @ Jan 15 2006, 21:44) Ци...   Jan 15 2006, 19:13
|- - Evgeny_CD   Цитата(makc @ Jan 15 2006, 22:13) ...Суть...   Jan 15 2006, 19:29
|- - makc   Цитата(Evgeny_CD @ Jan 15 2006, 22:29) Ци...   Jan 15 2006, 20:35
|- - Evgeny_CD   Цитата(makc @ Jan 15 2006, 23:35) ...Вы, ...   Jan 15 2006, 20:52
|- - makc   Цитата(Evgeny_CD @ Jan 15 2006, 23:52) Ци...   Jan 16 2006, 05:24
- - framer   Подозреваю что многие пробуют найти универсальный ...   Jan 18 2006, 19:57
|- - Evgeny_CD   Цитата(framer @ Jan 18 2006, 22:57) ...А ...   Jan 19 2006, 11:09
|- - iosifk   Цитата(Evgeny_CD @ Jan 19 2006, 14:09) Ци...   Jan 19 2006, 11:28
- - Evgeny_CD   Интересная штуковина попалась. Как водится, случай...   Jan 22 2006, 16:44
- - Evgeny_CD   Оказывается, есть free аналог Matlab и Simulink ht...   Jan 22 2006, 20:57
- - Evgeny_CD   В общем, я не одинок в своих мыслях. 1. есть та...   Jan 30 2006, 16:28
|- - Doka   весьма занятная тема... и чрезвычайно (по кр. мере...   Feb 13 2006, 19:41
- - Zlolik   Про тестовые юниты я понял в таком виде: Когда пи...   Feb 22 2006, 07:55
- - beaRTS   ссылок много, но не рабочие....=((((   Aug 3 2012, 16:30


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01404 секунд с 7
ELECTRONIX ©2004-2016