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

 
 
> Цифровая видеокамера
Ynicky
сообщение May 6 2010, 18:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 26-05-05
Пользователь №: 5 422



Долго думал и решил создать новую тему.
Полтора года назад мое начальство дало задание проработать проект цифровой видеокамеры,
но потом от него отказалось. А мне это до сих пор не дает покоя.
На тот момент у меня уже был опыт создания SOC (систем на кристалле) на своих процессорах.
Был даже проект векторного 64 разрядного сопроцессора (SIMD). Правда он так и не был реализован в ASIC-е.
С тех пор, занимаясь "плановой" работой, я нахожу немного времени для проекта цифровой видеокамеры.
Уже сделано почти все, кроме вывода изображения на ЖК экран. Но надежда на то, что камера когда-нибудь
будет востребована, с каждым днем "тает". Конечно я понимаю, что это коммерчески не выгодно.
Тягаться с известными зарубежными фирмами, выпускающими видеокамеры, бессмысленно.
Но для души такой проект - то что надо. Даже если он и не будет реализован. Наработанный опыт не
пройдет даром. Мысль о том что проект никому не нужен заставила меня обратиться на форум.
Выложить его, как есть, всем желающим я не могу по причине того, что это собственность предприятия.
Тем более что ассемблер к RISC процессору и векторному сопроцессору написан не мною.
Так вот, чтобы не нарушать коммерческую тайну и право собственности, я решил разработать новый RISC
процессор и векторный сопроцессор к нему в свободное от основной работы время (т.е. дома). Так как
опыт и наработки уже есть, это займет не очень много времени. Их то я (RISC и VCP) и мог бы выложить на форуме.
Проблема только в программном обеспечении. Чтобы быстро отладить процессор и сопроцессор, нужен как минимум
ассемблер с простейшей функцией разделения кода и данных, так как RISC ядро имеет гарвардскую архитектуру.
А как максимум, не мешало бы иметь gcc или binutils для разработки прикладного ПО.
В принципе, написать ассемблер мог бы и я, но тогда это займет много времени и не будет стимула
выкладывать все на форуме, да и заниматься этим. Может найдется среди вас энтузиаст,
который бы взялся хотя бы за ассемблер. Если таких нет, может кто знает к кому обратиться?
"С" компилятор на основе LCC мог бы написать и я в дальнейшем (если не будет gcc или binutils).
Чтобы иметь представление о RISC ядре, выкладываю пока не полное описание.

Николай.
Прикрепленные файлы
Прикрепленный файл  torisc32.pdf ( 94.58 килобайт ) Кол-во скачиваний: 235
 
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 14)
x736C
сообщение May 6 2010, 21:27
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Чем вас не устраивает готовые открытые RISC процессоры? Средства разработки под них есть.

Хотя я почитал и кажется понимаю. Тем не менее, сэкономили бы уйму времени.
Go to the top of the page
 
+Quote Post
x736C
сообщение May 6 2010, 22:34
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942



Еще немного почитал о вашем r32core.. И совсем стало понятно. smile.gif Тут процессор ради камеры, камера ради процессора и куча наработок. Поэтому вопрос снимается.
Go to the top of the page
 
+Quote Post
des00
сообщение May 7 2010, 02:54
Сообщение #4


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Ynicky @ May 6 2010, 13:10) *
Проблема только в программном обеспечении. Чтобы быстро отладить процессор и сопроцессор, нужен как минимум
ассемблер с простейшей функцией разделения кода и данных, так как RISC ядро имеет гарвардскую архитектуру.
Может найдется среди вас энтузиаст,который бы взялся хотя бы за ассемблер.

я бы взялся сделать асм на питоне, что бы питон подтянуть и вашу разработку поковырять %). Но 4 ый фронт работы уже слишком и так приходится крутиться на научном, инженерном и управленческом фронте %(


--------------------
Go to the top of the page
 
+Quote Post
DRUID3
сообщение May 7 2010, 03:31
Сообщение #5


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



biggrin.gif От меня Вы помощи не дождетесь!
Сорри, юмор такой, у самого голова забита некоммерческими проектами...

Кстати о них - неплохо бы администрации форума сделать раздел для такого рода - некомерческие поекты. Параллельно от "предлагаю работу"...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
des00
сообщение May 7 2010, 03:34
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(DRUID3 @ May 6 2010, 22:31) *
biggrin.gif От меня Вы помощи не дождетесь!

Советом помочь это всегда пожалуйста, а вот делом нельзя объять необъятное %)


--------------------
Go to the top of the page
 
+Quote Post
asoneofus
сообщение May 7 2010, 05:29
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 202
Регистрация: 10-01-06
Из: Ква/ЧГ/Херцлия/Шанхай/Ичхон/Сувон/Шеньжень
Пользователь №: 13 005



Проект камеры, пользовательской, имеет примерно следующую "разблюдовку" по трудозатратам:
Конечный дизайн 10-15%
- корпусные
- оптика
- компановка
- EU ПО
Комплект разработчика 30-35%
- железяки (включая чипы)
- SDK/DDK
- ПО обработки видео с датчиков
- массштаблёр
- кодеры-декодеры
База - всё остальное(%) от 50%
- ASIC+
- инструментальное ПО, включая модели разных уровней
- базовые фишки в виде оптимизированных библиотек

Всё это вместе, по самым скромным оценкам, стоит от ярда. Экономика невпихуемая.

Теперь по ходу работ, Николай, есть масса вопросов. Непонятна сама система, для чего тот или иной узел нужен в ней. Нет лёгкой модели высокого уровня чтобы проверить, отладить, моделить ...
Т.е. выполнение работ менее чем на %
Можно примкнуть к массе свободных или полусвободных проектов процессоров и на них "зарезать ценник" для достижения цели - потом сделать специализированное ответвление.

По "реальности" - можно, конечно, доработать гцц с бинутилсами (кстати - гнутому пофиг "гарвард" или не "гарвард"), но боюсь что это будет зря потраченное время и Ваше и наше.

PS Мой совет: "закопайте" инвестицию и забудьте smile.gif ... Проект стоящий ярд не сделать за миллион. Чесотку рук можно унять на основном месте работ или в целевой команде как "хобби"


--------------------
"... аще где в книге сей грубостию моей пропись или небрежением писано, молю Вас: не зазрите моему окаянству, не кляните, но поправьте, писал бо не ангел Божий, но человек грешен и зело исполнен неведения ..."
Go to the top of the page
 
+Quote Post
yes
сообщение May 7 2010, 09:09
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(Ynicky @ May 6 2010, 22:10) *
А как максимум, не мешало бы иметь gcc или binutils для разработки прикладного ПО.


и как минимум gcc, иначе баловство

какую задачу с использованием VFP можно запрограммировать на асм-е или на чистом C?

-----------------------

вобщем, чем больше хороших проектов, тем лучше.

но на всякий случай:
знаете ли про OpenSPARCT1/T2? btw: DmitryR на опенкоресах SoC проект с таким спарком выложил
ну или LEON3
про камеры: http://www3.elphel.com/ сорцы дают
Go to the top of the page
 
+Quote Post
Ynicky
сообщение May 7 2010, 15:12
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 26-05-05
Пользователь №: 5 422



Цитата(yes @ May 7 2010, 13:09) *
какую задачу с использованием VFP можно запрограммировать на асм-е или на чистом C?


Сделал и отмоделировал кодек JPEG. Управляющую программу написал на С, остальное на асме для VCP.
Полученные результаты можно посмотреть в файле для разных коэффициентов квантования.

Николай.
Прикрепленные файлы
Прикрепленный файл  lady64x64.rar ( 497.9 килобайт ) Кол-во скачиваний: 70
 
Go to the top of the page
 
+Quote Post
Leka
сообщение May 7 2010, 19:39
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Простой ассемблер(как в приложении) пишется/отлаживается за пару дней. В приложении мой самый первый вариант ассемблера на Паскале - написал для себя давно, когда осваивал at90s1200 (мнемоника Атмела очень не понравилась). После переделки использовал и для регистровых софт-процессоров - мнемоника и система команд (asm.def) легко настраивается.
Кому нужен ассемблер для регистровых софт-процессоров - предлагаю просто взять саму идею настраиваемого ассемблера и написать программу с нуля, или найти в инете подходящий, и аккуратно сделанный проект.

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

Переменных, массивов, и тп - в выложенной версии нет (есть в версии для софт-процессоров).
Прикрепленные файлы
Прикрепленный файл  asm.zip ( 38.77 килобайт ) Кол-во скачиваний: 40
 
Go to the top of the page
 
+Quote Post
Ynicky
сообщение May 8 2010, 10:24
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 26-05-05
Пользователь №: 5 422



Есть в интернете проект процессора XR16.
К нему прилагается исходник ассемблера.
На его основе вполне можно сделать ассемблер почти для любого процессора.
Первая задачка состоит в том, что надо добавить директивы data и text.
И чтобы счетчиков адреса было 2 - один для секции text, а другой для data и bss.
Прилагаю проект ассемблера XR16 с тестовой программкой на асме.
Если решить первую задачку, то остальное уже "дело техники".
Толковому программисту эта задачка на несколько часов.
Настроить затем ассемблер на свой процессор я могу и сам (проходил на ST16).

Николай.
Прикрепленные файлы
Прикрепленный файл  XR16.rar ( 51.24 килобайт ) Кол-во скачиваний: 35
 
Go to the top of the page
 
+Quote Post
yes
сообщение May 11 2010, 10:49
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(Ynicky @ May 7 2010, 19:12) *
Сделал и отмоделировал кодек JPEG. Управляющую программу написал на С, остальное на асме для VCP.
Полученные результаты можно посмотреть в файле для разных коэффициентов квантования.


да и я когда-то MJPEG на асме написал - но кому это сейчас надо?

хочу сказать, что нужен С++ компилятор (с полнофункциональным фронтэндом и более-менее разумной оптимизацией) для каких-то коммерческих проектов и использования ядра где-то вне круга энтузиастов.
для энтузиастов есть forth

проблемы написать ассемблер/линкер - я вообще не понимаю, если нету Jump-ов разного размера (спасибо интелу за х86), то вообще табличная перекодировка, ну и через С-шный препроцессор прогнать #define и т.п.
но всегда лучше binutils-ы портировать - все умеют пользоваться, документации полно, ну и утилиты типа objcopy всем нужны
Go to the top of the page
 
+Quote Post
Leka
сообщение May 12 2010, 18:41
Сообщение #13


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(Ynicky @ May 8 2010, 14:24) *
Есть в интернете проект процессора XR16.
К нему прилагается исходник ассемблера.
На его основе вполне можно сделать ассемблер почти для любого процессора.

~1К строк на ЯВУ - можно и программу посложнее ассемблера замутить, например - компилятор "автокода" (~1100 строк на Паскале).
http://electronix.ru/forum/index.php?showt...st&p=605442
На основе личного опыта и предлагаю сразу делать компилятор урезанного ЯВУ(минуя ассемблер), а также оптимизировать ядро под компилятор(а не наоборот).
Go to the top of the page
 
+Quote Post
Ynicky
сообщение May 13 2010, 05:16
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 26-05-05
Пользователь №: 5 422



Цитата(Leka @ May 12 2010, 22:41) *
На основе личного опыта и предлагаю сразу делать компилятор урезанного ЯВУ(минуя ассемблер), а также оптимизировать ядро под компилятор(а не наоборот).

С ЯВУ никогда дело не имел, но мысль заманчивая.
С чего начать?

Николай.
Go to the top of the page
 
+Quote Post
Leka
сообщение May 13 2010, 20:36
Сообщение #15


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Пожалуй, с разбора длинных логических выражений if-else по сокращенной схеме, все остальное проще, имхо.
if( (a==1) && (b==2) || (c==3) && (d==4) )... и тп.
Go to the top of the page
 
+Quote Post

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

 


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


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