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

 
 
> Универсальная среда, для разработки и отладки 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
Ответов
framer
сообщение Jan 18 2006, 19:57
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 46
Регистрация: 23-09-04
Пользователь №: 709



Подозреваю что многие пробуют найти универсальный подход. И многие приходят к подобным выводам. Интересно получаеться .... оказываеться я тоже писал файловую систему которая была отлажена на РС а физическая память отображалась в файле. А это означает, что действительно потребность есть. Пробывал применать такой подход в следующих проектах и оказываеться, что для некоторых задач проблем не возникает но когда начинает прикручиваться РТОС либо специфические условия то появляються проблемы. А некоторые задачи вообще не подходят (вспомнил проект конвертера видео на светловолокно 90% задачи - это контроль потока даных и установка регистров). А пока тоже нахожусь в лесу и ищу выход. Что касаеться питона то действительно это очень помогает. А еще пригодилось бы: java, tcl/tk и octave. Вот когда это все изучить может и решение придет само собой но тогда уже и работать незахочиться и можно будет на писании книг зарабатывать smile.gif
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jan 19 2006, 11:09
Сообщение #3


Гуру
******

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



Цитата(framer @ Jan 18 2006, 22:57) *
...А еще пригодилось бы: java, tcl/tk и octave...
В tcl/tk лично я кайфа (IMHO много раз) пока для себя не узрел.

Octave - первый раз по Вашей наводке посмотрел, что это такое. Насколько я понял, это некий аналог MATLAB?
Цитата(framer @ Jan 18 2006, 22:57) *
...Вот когда это все изучить может и решение придет само собой но тогда уже и работать незахочиться и можно будет на писании книг зарабатывать smile.gif....
Сомнительно, что сейчас написание книг в Росси по таким фундаментальным вещам, как серьзеные фришные продукты типа Python, сможет прокормить. Сколько автор получит от тиража 2-3к экземпляров книги с продажной ценой 150-300р? Хорошо, если 1 k$. Если издатель будет очень добр и не кинет автора (а почему бы не указать тираж 1к, а отпечатать и продать все 10к?) (хотя я совершено не вижу основания для таких действий - как раз кинуть "ботана" - это святое для наших (и не только) бузинессмэнов), то, вероятно, 3к получить можно. А чтобы написать хорошую книжку, нужен год. Т.е. надо не менее 10к, чтобы хоть как-то оправдавть свое существование.

А на буржуйский рынок, полагаю, будет очень трудно пробиться. (не говоря уже о таких мелочах, как знание англицкого - читать книги это одно, а писать - другое! biggrin.gif )
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jan 19 2006, 11:28
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Evgeny_CD @ Jan 19 2006, 14:09) *
Цитата(framer @ Jan 18 2006, 22:57) *
...Вот когда это все изучить может и решение придет само собой но тогда уже и работать незахочиться и можно будет на писании книг зарабатывать smile.gif....


Сомнительно, что сейчас написание книг в Росси по таким фундаментальным вещам, как серьзеные фришные продукты типа Python, сможет прокормить...


По поводу обсуждения:
Много раз я тоже пытался приучить начальников проводить разработки не от "гайки М3" а от задачи - алгоритма - процессора-... Дается такое трудно, поэтому сочувствую.

А вот по поводу книг могу точно сказать, чтобы написать книгу, для начала надо опубликовать из нее главы в журналах. Все "бльшие" так делают. А когда читаете материалы, то ОДНОВРЕМЕННО заносите все то что интересно в отдельный файл. Если будут по этой теме вопросы - то по почте.

Удачи и желаю Вам написать книгу!


--------------------
www.iosifk.narod.ru
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
- - 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   Цитата(Evgeny_CD @ Jan 15 2006, 20:41) За...   Aug 3 2012, 03:54
- - beaRTS   ссылок много, но не рабочие....=((((   Aug 3 2012, 16:30


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

 


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


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