Перейти к содержанию
    

Продвинутая МикроМашина на АРМ

Вопроса (контекста) не понял.

Контекст:

На современном этапе имеется 80 с лишним производителей RTOS для 8-ми, 16-ти и 32-х разрядных микропроцессоров. Некоторые из этих продуктов представляют собой полные операционные системы и включают в себя не только ядро реального времени, но также и менеджер ввода/вывода, систему графического интерфейса, файловую систему, поддержку сети, библиотеки поддержки языков программирования, отладчики и кросс-компиляторы. Цены RTOS разнятся от 50 долларов до 30 тыс. долларов и выше. Производитель RTOS может также потребовать выплат с каждого проданного экземпляра вашего устройства. Это похоже на покупку микросхемы у её производителя. Выплаты могут составлять от 5 до 250 долларов с устройства. Как и со всяким программным обеспечением в наши дни, потребуются дополнительные расходы на его поддержку, которые могут составить от 100 до 5 тыс. долларов в год!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Контекст:

Примерно так, только схемы выплат могут быть самыми разнообразными а не только поштучными и при массовом производстве ембеддерских устройств, а не например, чего-то типа коммуникаторов, много много ниже обозначенной нижней границы. Никто не запрещает использовать собственные или базирующиеся на бесплатных операционные системы. Я, например, в основном свои писал. Для ARM несколько лет веду свою веточку от FreeRTOS. На центральных контроллерах( на Geode ) и на инструментальных машинах, с последующим портированием наработанного на целевые, - Linux.

потребуются дополнительные расходы на его поддержку, которые могут составить от 100 до 5 тыс. долларов в год!

Ну и? Если развивать не будете - не потребуется. Если будете развивать, то потребуются затраты, хоть на своих разработчиков, хоть на чужих. Обозначенная Вами верхня граница расходов даже не приближается месячным расходам на содержание одного разработчика даже в сильно отсталых странах.

Вопрос-то о чем был?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Примерно так, только схемы выплат могут быть самыми разнообразными а не только поштучными и при массовом производстве ембеддерских устройств, а не например, чего-то типа коммуникаторов, много много ниже обозначенной нижней границы. Никто не запрещает использовать собственные или базирующиеся на бесплатных операционные системы. Я, например, в основном свои писал. Для ARM несколько лет веду свою веточку от FreeRTOS. На центральных контроллерах( на Geode ) и на инструментальных машинах, с последующим портированием наработанного на целевые, - Linux.

 

Ну и? Если развивать не будете - не потребуется. Если будете развивать, то потребуются затраты, хоть на своих разработчиков, хоть на чужих. Обозначенная Вами верхня граница расходов даже не приближается месячным расходам на содержание одного разработчика даже в сильно отсталых странах.

Вопрос-то о чем был?

Спасибо, ответ я получил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

128*128 дисплей явно мал даже для примитивных игр.

Т.е. вы уже создали себе гемор выбрав не тот дисплей.

Современной вашу платформу не назвать, в ней нет никаких сетевых интерфейсов ни Ethernet, ни Wi-Fi ни BlueTooth.

Платформа не интероперабельна. В ней нет ни файловых систем FAT, FAT32 ни протоколов PC оборудования типа USB MassStorage, ATA IDE, USB host и т.д. Т.е. малофункциональный черный ящик с точки зрения юзера.

 

Если же все это попытаетесь написать сами, то мы ваш голос наверно пару лет больше слышать не будем :crying:

 

Кстати, проц ваш тоже порядком устарел. Его уже и с производства вроде снимать собираются.

А перейти на новый будет тяжковато. HAL уровня то нет. И как вы собираетесь с кем-то конкурировать?

И ARM-ы освоены ведь не будут. В вашей платформе не используется большинство периферии ARM-а,

а основное внимание внешним контроллерам дисплея и MIDI, и это в то время когда есть ARM-ы с собственными контроллерами дисплея и возможностью самим проигрывать MIDI и MP3.

 

 

 

так же как и в DOS'овских играх! Али ДОС позабыли? ;)

 

Есть такие волшебные вещи - IRQ,DMA и распределённые вычислительные мощи (видеоконтроллер регенерирует изображение, синтезатор формирует музыку, мр3-декодер декодирует поток, а ЦПУ только рулит вышеназванной периферией)

 

 

 

периферия фиксирована, меняца не будет.

 

А зачем мне более одного дисплея? Вы не с того профиля рассматриваете проблему - у меня

игровая приставка, значит там всё фиксировано! Вы писали когда-нибудь программы под Sega MegaDrive или под Nintendo? ;) Там нету ОСей и периферия фиксирована, адреса теже (разве что только наращивание объемов памяти может быть разное)

 

Нового дислея не предвидется!

 

 

1) набраться опыта в освоении АРМов

2) фундаментальное освоение АРМов (именно их ресурсов, а не через ОСи)

3) сделать себе компьютер мечты - под него буду писать игрушки, ибо ПЦ достал и там

разношерстность железа и биль гец... - меня это не устраивает.

Кроме того в ПЦ современное железо LowLevel - закрыто :(

4) толкнуть консоль на рынок или ещё куда-нибудь :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я, например, в основном свои писал. Для ARM несколько лет веду свою веточку от FreeRTOS.

Можно ли посмотреть на исходники Вашей редакции FreeRTOS с портом для ARM?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ли посмотреть на исходники Вашей редакции FreeRTOS с портом для ARM?

Увы, нет. Некотоые правки, правда, иногда попадают в основную ветку, но поскольку Автор FreeRTOS проявляет чрезмерный английский консерватизм, то далеко не все. Правда сейчас он коммерческую ветку SafeRTOS сертифицировал и вроде намечаются подвижки. Хотя я тут после долгого перерыва (вдохновленный наконец-то обнаружением cледов усечения TCB) один пробный камешек c вполне нетральными, но полезными изменениями закинул через форум, так он все еще лежит без движения :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень жаль. А где же Free?

Как только Вы станете получателем моих изделий, будете иметь полное право затребовать модифицированные исходники FreeRTOS (но не всего остального). Правда, у меня тоже останется право уйти под OpenRTOS лицензию :). О сколь-нибудь существенных и общеполезных изменениях в системе Автору я сообщаю. Хотя собственно говоря никакого секрета из моих правок я в общем-то не делаю, просто они достаточно бесполезны в отрыве от, например, порта. Кроме того некоторые элемены (например менеджер памяти) совершенно не имеют ничего общего с используемыми во FreeRTOS, но зато привносят свой отпечаток в систему. Имеется и некоторый пласт надстроек над ядром, вариантов компиляции ядра....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VitalyS> Потому, что при такой постановке задачи уже давно никто не работает.

VitalyS> Без OS - много плюсов!!!, но и ...

 

а жаль... видать тут в основном не хоббисты, а работяги, жаждущие всё как можно быстрее сделать.

Поэтому "сроки поджимают". В этом случае, конечно, применение ОСей оправдано - я не спорю!

 

VitalyS> Когда напишите 2-3 вещи, то появится мысль об OS.

 

уж скока под АВРы писал - только рад был, что писал :) Просто нужно своё API написать, стандартизировать и всё - дальше юзать свою библиотеку!

 

Я вон под АВР-овскую МикроМашину написал мультиплатформенное АПИ - на Си пишется прога, компилирующаяся на ПЦ и на МикроМашине - прототипы сишных функций были одинаковы!

Как помогло - весь этап разработки программм(игр) вёл на ПЦ, а готовый вариант откомпилил под АВР!

Всё пошло :)))

 

AlexBoy> Тут кусок библиотеки, работает с ручным CS.

 

Спасибо за аттач - посмотрю!

 

AlexBoy> ...одновременное проигрывание adpcm файла с sd карты, опрос датчиков,

AlexBoy> обмен по CAN и 3 канала UART, вывод на дисплей. Все занимает 30% времени SAM7X.

 

у меня звуковые чипы развешаны на прерывания. В их хэндлерах идёт подкачка музыки. Тоесть я этим не заморачиваюсь. В цикле делается игровая логика и отрисовка(в буфер) графики. Клавиши сканирую когда надо. Удручённым себя не чувствую.

 

Я ещё раз повторюсь, что возможно создать полноценные игры без многозадачек.

У меня в этом огромный опыт - писал игры под DOS/SEGA MD/Nintendo/SNES.

Забавно, что код в чистом виде не превышал 96кБ ;)

Просто моё развитие пошло именно с игровых приставок - по ним ностальгирую... но и по ДОС-играм тоже - вы видали Tyrian2k - отличная леталка-стрелялка с офигительной графикой в 256 цветов (палитровая) - фоновая музыка - Adlib, спецэффекты - SoundBlaster, игровой сюжет просто офигительный - куча уровней/игровых карт/врагов... много оружия... короче, остановите меня!...

 

 

 

 

 

 

 

 

 

 

 

 

 

zltigo> Причем здесь... тоже исключительно монологи. Кроме мысли,

zltigo> что все кругом "безнадежные" другие идеи есть?

 

есть! Всё подафигели и в рот воды набрали! Уж никто не ожидал... Объявили своеобразный бойкот...

и обида гложет, что не опенсорс !!! это про указанные ссылки - ИМХО

 

 

 

 

 

AlexandrY> 128*128 дисплей явно мал даже для примитивных игр.

 

Гхы... гхы... меня вполне устраивает. Согласен, что на мобильниках игры примитивные по сюжетности(хотя есть и не плохие), объекты возюкаются с рывками(это из-за java). И 8 бит графика...

 

Я планирую всё-таки по-лучше: развитый игровой сюжет, 16-бит графика без тормозов и рывков.

Мои опыты благоприятствуют моим требованиям - всё подтвердилось на реальном железе...

Тоесть моя консоль займет промежуточное состояние между ДОС-играми и играми мобильников (имеются ввиду хорошие игры!)

 

AlexandrY> Т.е. вы уже создали себе гемор выбрав не тот дисплей.

 

128x128 - идеально подходит для шустрой графики. За игровое поле не волнуйтесь - мне с лихвой хватит (хватает же мобильникам!). А вот дисплей как-раз тот - 9-битная шина данных (вместо SPI, да и SPI там тоже есть), есть 2Д ускоритель первичной поверхности.

180 FPS - ни о чем не говорит???

 

Считайте сами, при увеличении площади экрана - ФПС упадёт, в случае 320x200 составит: 46

 

И ещё... 8-битная графика будет с 360 FPS... это я к тому, что у меня колоссальные запасы по быстродействию! Мобильники с jav'ой отдыхают! :)

 

AlexandrY> Современной вашу платформу не назвать,

AlexandrY> в ней нет никаких сетевых интерфейсов ни Ethernet, ни Wi-Fi ни BlueTooth.

 

Есть USB, COM. Сетевые технологии мне не нужны! Скажите а в сегах были Ethernet? ;) То-то и оно!

 

AlexandrY> ...В ней нет ни файловых систем FAT, FAT32 ни протоколов PC оборудования типа USB

AlexandrY> MassStorage, ATA IDE, USB host и т.д. Т.е. малофункциональный черный ящик с точки AlexandrY> зрения юзера.

 

а нах... мне это нужно?

 

AlexandrY> Если же все это попытаетесь написать сами,

AlexandrY> то мы ваш голос наверно пару лет больше слышать не будем :crying:

 

Подобное уже было! Ушёл временно с nedopc с июня по август!

 

AlexandrY> Кстати, проц ваш тоже порядком устарел. Его уже и с производства вроде снимать

AlexandrY> собираются. А перейти на новый будет тяжковато. HAL уровня то нет.

 

Ну и что? Меня rm9200 устраивает! А вы знаете что YMF721 тоже не выпускают уже десятки лет? ;)

Однако я знаю где их можно достать - было бы желание - остальное приложится ;)

 

Перейти лехко - неделька на написание базового АПИ под новый ЦПУ (переправить адреса - проц-то АРМ ;). См. про АПИ выше.

 

AlexandrY> И как вы собираетесь с кем-то конкурировать?

 

я конкурирую только со своей головой и себе подобными во взглядах! ;)

Ещё раз повторюсь, что делаю ради своего удовольствия, а там как народ воспримет...

 

AlexandrY> И ARM-ы освоены ведь не будут. В вашей платформе не используется большинство

AlexandrY> периферии ARM-а,

 

Что в вашем понятии освоить АРМы? Повторюсь - каковы критерии софта у вас? Вы не отвечаете на мои вопросы - значит бессысленно что-то утверждать мне, не зная вашей точки зрения!

 

AlexandrY> а основное внимание внешним контроллерам дисплея и MIDI,

 

Для меня rm9200 интересен прежде всего - КАК ПРОЦЕССОР (шина для перифералов и внешней памяти)

а брать голые процессоры(предвидел ваш ход мыслей? ;) - это кучей логики обвешивать надо - поэтому взял контроллер. Я-же sam9260 не взял - потому что там действительно МНОГО ненужной МНЕ периферии...

 

AlexandrY> и это в то время когда есть ARM-ы с собственными контроллерами дисплея

 

мне не нужны огромные дисплеи -будет что-то типа наладонника

 

AlexandrY> и возможностью самим проигрывать MIDI и MP3.

 

VS1003 - вполне хватает проигрывание фоновой музыки. Спецэффекты играются мнококанальным МИДИ- ОПЛ- синтезаторами (YMF721). Тупое проигрование потока мне недостаточно. Писать софтовый микшер - увольте!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выскажу свое мнение

Автор - молодец!!! Считаю его изделие хорошим средством для освоения ARMов. Сам я пытался несколько раз освоить ARMы (есть отладочные платы на AT91SAM7S64 и на LPC2103), но как-то без конкретной задачи не пошло :(. Для моих задач хватает пока пиков и авров причем младших. Но сейчас как раз мучаюсь с задачей быстрой прошивки AT45DB041 - шить надо много и быстро. Сделано сейчас на ЛПТ - но медленно.

Начал делать что-то типа копировщика (одна микросхема - оригиннал - а другая шьется) на авре(М48) - но почитав сей топик пришла мысля - а может все таки АРМ.

Посему, если можно, вопросы автору (извините - даташит пока не качал, да и долго мне разбираться):

какая частота SPI у ARM9200?

с какой частотой можно шевелить ногами порта ARM9200?

Я думаю делать так - ARM9200 грузится с AT45DB081 или большей (в ней программа и во второй половине прошивка) а на ногах порта прошиваемая микросхема - возможно ли это?

У Вас основная плата сделана похоже утюжной технологией - не поделитесь ли PCB файлом (oleg_micromed(СОБАКА)datasvit.net)? - самому долго, наверное придется маяться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

oll> Посему, если можно, вопросы автору (извините - даташит пока не качал,

oll> да и долго мне разбираться):какая частота SPI у ARM9200?

 

Fspi=Fmck/2/Divisor1 или Fspi=Fmck/64/Divisor (зависит от битового поля DIV32)

 

Fspi - интересующая частота spi

Fmck - частота мастер-клока (см. формулу ниже)

Divisor1 - делитель (8бит)

 

Fmck=Fpck/Divisor2

 

Fpck - частота ядра (см. ниже)

Divisor2 - делитель(1,2,3,4)

 

Fpck=Fosc*(MUL+1)/DIV/Pres

 

Fosc - частота кварца (у меня 18.432МГц, если УСБа не нужна, то можно 16МГц и другие- см. даташит)

MUL - умножитель(до 2047)

DIV - делитель(до 255)

Pres - предделитель (степень двойки 1,2,4,8,16,32,64)

 

Видно, что частота SPI варьируется в широких пределах...

 

oll> с какой частотой можно шевелить ногами порта ARM9200?

 

С этим проблема - особо не разбежишься. Зависит от Fmck. Обращение к ячейке памяти(регистру) - три-четыре ассемблерных инструкции.

 

oll> Я думаю делать так - ARM9200 грузится с AT45DB081 или большей (в ней программа и во второй

oll> половине прошивка) а на ногах порта прошиваемая микросхема - возможно ли это?

 

Да. только датафлеш должен висеть на NPCS0 (чтоб автономно грузилось). У меня не получилось собственным прошивальщиком шить по NPCS0 хардварным SPI, так как там нужно вручную рулить ножкой NPCS0 (нету битовых полей CSAAT и LASTXFER) и SPI зацикливается(передача не происходит)

когда NPCS=0 (assert ~cs) Пришлось софтварно эмулировать через GPIO :(

 

oll> У Вас основная плата сделана похоже утюжной технологией - не поделитесь ли PCB файлом

oll> (oleg_micromed(СОБАКА)datasvit.net)? - самому долго, наверное придется маяться.

 

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

вероятно другие. Делал в LayOut'е.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я собственно речь веду не о вас.

А просто анализирую такой подход к разработке технологически продвинутого продукта.

Можно сколько угодно распространяться о собственных предпочтениях и вкусах, но это ни капли не доказывает эффективность такого пути.

Всетаки ZX проиграл и именно из-за своей негибкости.

Segi и другие игровые приставки вообще не в тему, там SoC-и специально разработанные для их задач, они и являются гарантом успеха этих приставок.

Вы же можете полагаться только на программные решения, и равнять себя с разработчиками Seg бессмысленно.

Вы я вижу всетаки свой HAL разработали хоть и не хотите его так называть и операционка у вас скорее всего есть, но только кооперативная. Т.е. в принципе идете тем же путем что и другие, только с сильным отставанием.

 

Но я как вижу тренды, то скоро игры все переместятся в сеть.

Порталы предлагают огромное число on-line игр.

Мобилы не причем. Опять вы поминаете старье.

Уже пару лет назад стандарт экрана на PDA был 240*320.

Смотрите на смартфоны и диваймы типа iPhone. Это вы с ними себя сравнивайте.

Т.е. на первом месте интероперабельность. Чтобы скачать любую игру и она бы пошла.

Для этого обязательное условие - стандартная операционка и совместимость со сторонними драйверами.

Возможные варианты - Win mobile, Linux mobile, Symbian . Сответсвенно памяти не менее 64 Mb RAM и столько же FLASH. Сетевой интерфейс обязателен. Первые две операционки вполне по силам одолеть даже не имея особого бюджета. Причем игры можно писать все в том же кооперативном стиле многозадачности, но не пыхтеть по паре месяцев пытаясь завести какой-то дисплей или MIDI проигрыватель.

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

 

 

уж скока под АВРы писал - только рад был, что писал :) Просто нужно своё API написать, стандартизировать и всё - дальше юзать свою библиотеку!

 

Я вон под АВР-овскую МикроМашину написал мультиплатформенное АПИ - на Си пишется прога, компилирующаяся на ПЦ и на МикроМашине - прототипы сишных функций были одинаковы!

Как помогло - весь этап разработки программм(игр) вёл на ПЦ, а готовый вариант откомпилил под АВР!

Всё пошло :)))

 

 

у меня звуковые чипы развешаны на прерывания. ... Удручённым себя не чувствую.

 

Я ещё раз повторюсь, что возможно создать полноценные игры без многозадачек.

У меня в этом огромный опыт - писал игры под DOS/SEGA MD/Nintendo/SNES.

 

Я планирую всё-таки по-лучше: ...

... не волнуйтесь - мне с лихвой хватит

 

... что у меня колоссальные запасы по быстродействию! ...

 

Сетевые технологии мне не нужны! ...

 

а нах... мне это нужно?

 

... Меня rm9200 устраивает!

 

я конкурирую только со своей головой и себе подобными во взглядах! ;)

... делаю ради своего удовольствия, ...

 

Для меня rm9200 интересен прежде всего - КАК ПРОЦЕССОР

... мне не нужны огромные дисплеи -будет что-то типа наладонника

 

 

... Писать софтовый микшер - увольте!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 romashko :a14:

Спасибо за быстрый и развернутый ответ

хоть ногами дрыгать "три-четыре ассемблерных инструкции" - наверняка вполне хватит для АТ45 (5 MHz Max Clock Frequency)

 

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

>>вероятно другие. Делал в LayOut'е.

 

если можно - все таки поделитесь PCB (oleg_micromed(СОБАКА)datasvit.net) очень подойдет в качестве отправной точки. Все равно буду, если сам разводить, подглядывать на фото Вашей платы.

Провода укорочу - мне не так много понадобится проводов - прицепить внешнюю АТ45 и несколько светодиодов, основную АТ45 размещу на этой же плате.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я думаю делать так - ARM9200 грузится с AT45DB081 или большей (в ней программа и во второй половине прошивка) а на ногах порта прошиваемая микросхема - возможно ли это?

Долго "думали"? Любой из уже имеющихся у Вас ARMов уже имеет 2 SPI. Собственного Flash (в отличие от собственного RAM) у них на копировщик хватит выше крыши и ничего никуда грузить не надо.

Для обслуживания двух 5MHz SPI ARM9 :) о 208 ногах :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Долго "думали"? Любой из уже имеющихся у Вас ARMов уже имеет 2 SPI. Собственного Flash (в отличие от собственного RAM) у них на копировщик хватит выше крыши и ничего никуда грузить не надо.

Для обслуживания двух 5MHz SPI ARM9 :) о 208 ногах :)

Глянул даташит на SAM64 spi там вроде один, cs правда - 4, может и правда сделать так - основная микросхема напрямую к ногам, а микросхема для записи через буфер типа 74HC125 (на всякий случай). Правда это можно будет сделать и на меге48 и тогда я опять не попаду в мир АРМов :) .

Насчет внутреннего флеша - тоже хорошо, но вдруг завтра понадобится шить АТ45ДБ321, тогда флеша не хватит.

А вообще, благодаря этому топику, возникла большая :) идея - сделать "крутой и быстрый" автономный программатор. Типа основная плата - на ARM9200+ЖКИ+ММС/SD с системным разъемом, в который можно подключать различные адаптеры, под разные программируемые микросхемы. Скоро предстоит писать новый программатор под Атмел АТ26ДФХХХ (тоже память спи) - тут бы пригодилась такая плата. Смотрел в работе промышленный Елнек программатор (с целью возможной покупки) - скорость не очень большая.

Изменено пользователем oll

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...