Ynicky 0 6 мая, 2010 Опубликовано 6 мая, 2010 · Жалоба Долго думал и решил создать новую тему. Полтора года назад мое начальство дало задание проработать проект цифровой видеокамеры, но потом от него отказалось. А мне это до сих пор не дает покоя. На тот момент у меня уже был опыт создания SOC (систем на кристалле) на своих процессорах. Был даже проект векторного 64 разрядного сопроцессора (SIMD). Правда он так и не был реализован в ASIC-е. С тех пор, занимаясь "плановой" работой, я нахожу немного времени для проекта цифровой видеокамеры. Уже сделано почти все, кроме вывода изображения на ЖК экран. Но надежда на то, что камера когда-нибудь будет востребована, с каждым днем "тает". Конечно я понимаю, что это коммерчески не выгодно. Тягаться с известными зарубежными фирмами, выпускающими видеокамеры, бессмысленно. Но для души такой проект - то что надо. Даже если он и не будет реализован. Наработанный опыт не пройдет даром. Мысль о том что проект никому не нужен заставила меня обратиться на форум. Выложить его, как есть, всем желающим я не могу по причине того, что это собственность предприятия. Тем более что ассемблер к RISC процессору и векторному сопроцессору написан не мною. Так вот, чтобы не нарушать коммерческую тайну и право собственности, я решил разработать новый RISC процессор и векторный сопроцессор к нему в свободное от основной работы время (т.е. дома). Так как опыт и наработки уже есть, это займет не очень много времени. Их то я (RISC и VCP) и мог бы выложить на форуме. Проблема только в программном обеспечении. Чтобы быстро отладить процессор и сопроцессор, нужен как минимум ассемблер с простейшей функцией разделения кода и данных, так как RISC ядро имеет гарвардскую архитектуру. А как максимум, не мешало бы иметь gcc или binutils для разработки прикладного ПО. В принципе, написать ассемблер мог бы и я, но тогда это займет много времени и не будет стимула выкладывать все на форуме, да и заниматься этим. Может найдется среди вас энтузиаст, который бы взялся хотя бы за ассемблер. Если таких нет, может кто знает к кому обратиться? "С" компилятор на основе LCC мог бы написать и я в дальнейшем (если не будет gcc или binutils). Чтобы иметь представление о RISC ядре, выкладываю пока не полное описание. Николай. torisc32.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 6 мая, 2010 Опубликовано 6 мая, 2010 · Жалоба Чем вас не устраивает готовые открытые RISC процессоры? Средства разработки под них есть. Хотя я почитал и кажется понимаю. Тем не менее, сэкономили бы уйму времени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x736C 0 6 мая, 2010 Опубликовано 6 мая, 2010 · Жалоба Еще немного почитал о вашем r32core.. И совсем стало понятно. :) Тут процессор ради камеры, камера ради процессора и куча наработок. Поэтому вопрос снимается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 7 мая, 2010 Опубликовано 7 мая, 2010 · Жалоба Проблема только в программном обеспечении. Чтобы быстро отладить процессор и сопроцессор, нужен как минимум ассемблер с простейшей функцией разделения кода и данных, так как RISC ядро имеет гарвардскую архитектуру. Может найдется среди вас энтузиаст,который бы взялся хотя бы за ассемблер. я бы взялся сделать асм на питоне, что бы питон подтянуть и вашу разработку поковырять %). Но 4 ый фронт работы уже слишком и так приходится крутиться на научном, инженерном и управленческом фронте %( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DRUID3 0 7 мая, 2010 Опубликовано 7 мая, 2010 · Жалоба От меня Вы помощи не дождетесь! Сорри, юмор такой, у самого голова забита некоммерческими проектами... Кстати о них - неплохо бы администрации форума сделать раздел для такого рода - некомерческие поекты. Параллельно от "предлагаю работу"... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 7 мая, 2010 Опубликовано 7 мая, 2010 · Жалоба От меня Вы помощи не дождетесь! Советом помочь это всегда пожалуйста, а вот делом нельзя объять необъятное %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
asoneofus 0 7 мая, 2010 Опубликовано 7 мая, 2010 · Жалоба Проект камеры, пользовательской, имеет примерно следующую "разблюдовку" по трудозатратам: Конечный дизайн 10-15% - корпусные - оптика - компановка - EU ПО Комплект разработчика 30-35% - железяки (включая чипы) - SDK/DDK - ПО обработки видео с датчиков - массштаблёр - кодеры-декодеры База - всё остальное(%) от 50% - ASIC+ - инструментальное ПО, включая модели разных уровней - базовые фишки в виде оптимизированных библиотек Всё это вместе, по самым скромным оценкам, стоит от ярда. Экономика невпихуемая. Теперь по ходу работ, Николай, есть масса вопросов. Непонятна сама система, для чего тот или иной узел нужен в ней. Нет лёгкой модели высокого уровня чтобы проверить, отладить, моделить ... Т.е. выполнение работ менее чем на % Можно примкнуть к массе свободных или полусвободных проектов процессоров и на них "зарезать ценник" для достижения цели - потом сделать специализированное ответвление. По "реальности" - можно, конечно, доработать гцц с бинутилсами (кстати - гнутому пофиг "гарвард" или не "гарвард"), но боюсь что это будет зря потраченное время и Ваше и наше. PS Мой совет: "закопайте" инвестицию и забудьте :) ... Проект стоящий ярд не сделать за миллион. Чесотку рук можно унять на основном месте работ или в целевой команде как "хобби" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 6 7 мая, 2010 Опубликовано 7 мая, 2010 · Жалоба А как максимум, не мешало бы иметь gcc или binutils для разработки прикладного ПО. и как минимум gcc, иначе баловство какую задачу с использованием VFP можно запрограммировать на асм-е или на чистом C? ----------------------- вобщем, чем больше хороших проектов, тем лучше. но на всякий случай: знаете ли про OpenSPARCT1/T2? btw: DmitryR на опенкоресах SoC проект с таким спарком выложил ну или LEON3 про камеры: http://www3.elphel.com/ сорцы дают Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ynicky 0 7 мая, 2010 Опубликовано 7 мая, 2010 · Жалоба какую задачу с использованием VFP можно запрограммировать на асм-е или на чистом C? Сделал и отмоделировал кодек JPEG. Управляющую программу написал на С, остальное на асме для VCP. Полученные результаты можно посмотреть в файле для разных коэффициентов квантования. Николай. lady64x64.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 7 мая, 2010 Опубликовано 7 мая, 2010 · Жалоба Простой ассемблер(как в приложении) пишется/отлаживается за пару дней. В приложении мой самый первый вариант ассемблера на Паскале - написал для себя давно, когда осваивал at90s1200 (мнемоника Атмела очень не понравилась). После переделки использовал и для регистровых софт-процессоров - мнемоника и система команд (asm.def) легко настраивается. Кому нужен ассемблер для регистровых софт-процессоров - предлагаю просто взять саму идею настраиваемого ассемблера и написать программу с нуля, или найти в инете подходящий, и аккуратно сделанный проект. Но лучше всего выбрать минимальное подмножество какого-либо ЯВУ, и подогнать под него архитектуру процессора, и написать компилятор с этого подмножества. Далее - оптимизирующий компилятор с полного ЯВУ в минимальное подмножество. Переменных, массивов, и тп - в выложенной версии нет (есть в версии для софт-процессоров). asm.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ynicky 0 8 мая, 2010 Опубликовано 8 мая, 2010 · Жалоба Есть в интернете проект процессора XR16. К нему прилагается исходник ассемблера. На его основе вполне можно сделать ассемблер почти для любого процессора. Первая задачка состоит в том, что надо добавить директивы data и text. И чтобы счетчиков адреса было 2 - один для секции text, а другой для data и bss. Прилагаю проект ассемблера XR16 с тестовой программкой на асме. Если решить первую задачку, то остальное уже "дело техники". Толковому программисту эта задачка на несколько часов. Настроить затем ассемблер на свой процессор я могу и сам (проходил на ST16). Николай. XR16.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 6 11 мая, 2010 Опубликовано 11 мая, 2010 · Жалоба Сделал и отмоделировал кодек JPEG. Управляющую программу написал на С, остальное на асме для VCP. Полученные результаты можно посмотреть в файле для разных коэффициентов квантования. да и я когда-то MJPEG на асме написал - но кому это сейчас надо? хочу сказать, что нужен С++ компилятор (с полнофункциональным фронтэндом и более-менее разумной оптимизацией) для каких-то коммерческих проектов и использования ядра где-то вне круга энтузиастов. для энтузиастов есть forth проблемы написать ассемблер/линкер - я вообще не понимаю, если нету Jump-ов разного размера (спасибо интелу за х86), то вообще табличная перекодировка, ну и через С-шный препроцессор прогнать #define и т.п. но всегда лучше binutils-ы портировать - все умеют пользоваться, документации полно, ну и утилиты типа objcopy всем нужны Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 12 мая, 2010 Опубликовано 12 мая, 2010 · Жалоба Есть в интернете проект процессора XR16. К нему прилагается исходник ассемблера. На его основе вполне можно сделать ассемблер почти для любого процессора. ~1К строк на ЯВУ - можно и программу посложнее ассемблера замутить, например - компилятор "автокода" (~1100 строк на Паскале). http://electronix.ru/forum/index.php?showt...st&p=605442 На основе личного опыта и предлагаю сразу делать компилятор урезанного ЯВУ(минуя ассемблер), а также оптимизировать ядро под компилятор(а не наоборот). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ynicky 0 13 мая, 2010 Опубликовано 13 мая, 2010 · Жалоба На основе личного опыта и предлагаю сразу делать компилятор урезанного ЯВУ(минуя ассемблер), а также оптимизировать ядро под компилятор(а не наоборот). С ЯВУ никогда дело не имел, но мысль заманчивая. С чего начать? Николай. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 13 мая, 2010 Опубликовано 13 мая, 2010 · Жалоба Пожалуй, с разбора длинных логических выражений if-else по сокращенной схеме, все остальное проще, имхо. if( (a==1) && (b==2) || (c==3) && (d==4) )... и тп. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться