Мини-компьютер на базе микроконтроллера Parallax Propeller

    Микроконтроллер фирмы Parallax под названием Propeller, в сравнении с «классикой» жанра типа PIC или AVR занимает несколько странную нишу. Про первые два можно сказать, что это архитектуры общего назначения. Создатели же Пропеллера подошли к вопросу «с фланга».

    Основные отличительные особенности Пропеллера:
    • 8 независимых ядер, работающих параллельно. Какое-либо разделение времени, необходимое для общих ресурсов типа памяти или портов ввода-вывода не контролируется программистом и «вшито» в кристалл. Это дает предсказуемость во времени выполнения кода. Каждое ядро (cog) имеет 4КБ собственной изолированной оперативной памяти. Также каждое ядро имеет встроенный аппаратный модуль для генерации (внимание!) ТВ или VGA видео-сигнала.
    • Нет понятия прерываний. Вместо это предлагается запускать конкурирующие задачи разных ядрах (cog'ах).
    • Программировать можно либо на ассемблере, либо на особом высокоуровневом языке Spin, который сильно упрощает многоядерное и параллельное программирование. Интерпретатор Spin зашит в кристалл.
    • Почти нет понятия программации или прошивки кристалла. Верхняя половина адресного (ROM) пространства размером в 32КБ прошита интерпретатором Spin и разными системными таблицами. В этом случае при каждом включении требуется загрузка программы извне (например, из среды разработки) в нижнюю область 32КБ (RAM). Но обычно в реальном использовании подключается внешняя I2C микросхема памяти EEPROM, содержимое которой автоматически копируется в RAM при включении кристалла.
    • Процессор заявлен как 32-х битный, так как оперирует со данными этого размера, но адресное пространство 16-и битное (64КБ).

    Язык Spin разработан для удобного многопроцессорного программирования, и выглядит как нечто среднее между процедурным и объектно-ориентированным языком.

    Вот пример кода на Spin, запускающего функцию крутиться на нескольких ядрах. Код реально простой и понятный.

        CON
    
          _clkmode = xtal1 + pll16x         'Establish speed
          _xinfreq = 5_000_000              '80Mhz
    
        OBJ
    
          led: "E555_LEDEngine.spin"        'Include LED methods object
    
        VAR
    
          byte Counter                      'Establish Counter Variable
          long stack[90]                    'Establish working space
    
        PUB Main
    
          cognew(Twinkle(16,clkfreq/50), @stack[0])    'start Twinkle cog 1
          cognew(Twinkle(19,clkfreq/150), @stack[30])  'start Twinkle cog 2
          cognew(Twinkle(22,clkfreq/100), @stack[60])  'start Twinkle cog 3
    
        PUB Twinkle(PIN,RATE)                  'Method declaration 
    
          repeat                               'Initiate a master loop
    
            repeat Counter from 0 to 100       'Repeat loop Counter
              led.LEDBrightness(Counter, PIN)  'Adjust LED brightness 
              waitcnt(RATE + cnt)              'Wait a moment
    
            repeat Counter from 100 to 0       'Repeat loop Counter
              led.LEDBrightness(Counter,PIN)   'Adjust LED brightness 
              waitcnt(RATE + cnt)              'Wait a moment
    

    Функция cognew запускает задачу на трех ядрах, параметризируя каждую своей частотой и стеком.

    Упрощенно Пропеллер устроен следующим образом:



    Название «Пропеллер» произошло от его модели передачи приоритета на доступ к разделяемым ресурсам. Модуль Hub, контролирующий разделение времени, делает это по кругу, типа крутящегося пропеллера.

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

    Но хочу рассказать об одном интересном проекте, который называется "Pocket Mini Computer". Это мини-компьютер на базе Пропеллера (P8X32A), использующий evaluation board «P8X32A QuickStart» как основу.



    Выглядит это добро следующим образом (фотография с официального сайта):



    Фактически, автор продает evaluation board плюс плату расширения, на которой есть VGA, microSD, PS/2, звук и Wii Gameport. Опционально можно поставить микросхему оперативки SRAM на 32КБ.

    Фишка проекта в том, что автор разработал интерпретатор Бейсика, который превращает все это в микро-компьютер а-ля 80-е. Бейсик написан на Spin'e (исходники открыты). Диалект весьма ограничен, например, нет массивов, строковых и вещественных переменных, имена переменных только однобуквенные и т.д. Но тем не менее, дается доступ ко всей периферии, включая SD-карту, и также позволяет запускать чисто двоичные файлы, которые могут быть написаны хоть на том же Spin'e, хоть на С (Parallax имеет версию GCC для Пропеллера), хоть на ассемблере.

    Далее несколько фотографий конструктора, чтобы было понятно, что дается в наборе. Как я уже говорил, основа PMC — это готовая плата «P8X32A QuickStart», поэтому спаять надо только плату расширения.







    Почти все запаяно.



    Бутерброд в сборе.









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



    Общие впечатления


    Пропеллер


    Не получается назвать его процессором общего назначения. По моему субъективному мнению, для эффективного использования Пропеллера надо очень хорошо понимать свою прикладную задачу. Например, у Пропеллера нет ШИМ, ЦАП/АПЦ, встроенной флеш-памяти, триггеров, понятия прерываний, и создатели предлагают либо реализовывать необходимое программно, используя силу нескольких ядер, либо использовать специализированные внешние микросхемы. В книгах, приведенных в конце, описано множество примеров работы с дополнительными микросхемами.

    Интересно другое. Создатели Пропеллера не забоялись отойти от традиционного подхода и попытались вложить в кристалл конкретные прикладные возможности, почти готовые задачи. Может для каких-то проектов это придется очень кстати. Как я понял, Пропеллер очень удобен для создания разного рода игровых автоматов и приставок, например, из-за встроенной возможности генерировать качественный телевизионный и VGA сигнал.

    Вывод: интересная архитектура, определенно заслуживающая внимания.

    Конструктор PMC


    Опять-таки, двоякое ощущение. Вроде работает, но ресурсов Бейсику явно не хватает, особенно памяти. Например, тот же Maximite на базе PIC32 его на голову превосходит. На нем можно запустить хоть RetroBSD, хоть Радио-86РК. Да и встроенный MMBasic несравнимо мощнее.

    Хотя, за 39 долларов США — это отличная игрушка для тех, кто хочет пощупать Пропеллер, имея уже собранное устройство.

    На закуску


    Книги по Пропеллеру, которые я прочитал, что касаемо архитектуры, и проглядел (что касаемо проектов). Все рекомендую.



    Небольшая и очень понятная книга для начинающих. Описаны (с картинками) интересные проекты. Один из соавторов является конструктором PMC.

    Getting Started With the Propeller





    Крайне грамотная книга в плане архитектуры и понимания сути Пропеллера. В ней рассматривается только программирование на Spin, но с полным объяснением подходов и особенностей микроконтроллера. Прочитав первую главу, вы получите почти полное понимание архитектуры. Далее описаны несколько проектов (это можно пропустить).

    Programming the Propeller with Spin: A Beginner's Guide to Parallel Processing (Tab Electronics)





    Сборник реальных проектов с использованием Пропеллера от его создателей.

    Programming and Customizing the Multicore Propeller Microcontroller: The Official Guide



    На момент написания этой статьи, первая книга доступна только в формате Киндл на Амазоне по цене в два доллара, а вот вторую и третью можно найти, если поискать.
    Метки:
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 51
    • +1
      Не понял про игровые автоматы, вы имели ввиду, использовать его как графический контроллер, или как ЦП?
      • 0
        Я имел ввиду несложные аппараты, где надо иметь вывод на ТВ. Это часто требуется в разных vending machines или простецких игровых автоматах или приставках к ТВ. Получается, можно одним кристаллом убить практически всех зайцев.
      • 0
        На самом деле еще проще заказать Propeller в DIP-корпусе прямо с сайта производителя — у меня вышло что-то около $10 за штуку с учетом доставки (в Россию). Все остальное (включая обвязку для подключения VGA-монитора) собирается очень быстро на макетной плате — для познакомиться, поиграть и понять, подойдет ли чип для твоих задач этого более чем достаточно.

        Также хотел бы добавить, что разрабатывать приложения можно и на GCC.

        И еще в разработке находится более лучший чип — Propeller 2.
        • 0
          Разрабатывал под него немного (достался бейджом). До этого особо не имел опыта программирования под микроконтроллеры. С первого раза многое заработало и получился ожидаемый результат. Действительно, все довольно прямо и понятно (даже для новичка).
          • +1
            В свое время игрался с ним — портировал под него старый добрый Doom, но не выпортировал, увы.
            • 0
              В процессе чтения сложилось стойкое впечатление, что авторы взяли FPGA, реализовали на нём ядро и выдали за МК.
              Сразу возникает вопрос — почему это МК (всё-таки МК подразумевает наличие переферии, а тут даже прошивку зашить нельзя) и чем это лучше иных ПЛИС-ов?
              • +1
                На МК, так сказать, реализуют алгоритм на машинном языке (в конечном счете), а на ПЛИС реализуют электрическую схему устройства. Лучше/хуже — это все от задач зависит.
                А создавали пропеллера как раз на ПЛИСке, а потом в настоящее железное железо перегнали.
                • +2
                  Ну если говорить о чистоте определений, то это скорее процессор, а не контроллер. Но опустим философию.
                  Вопрос как раз в задаче и есть. Для чего он такой нужен? Автор говорит, что он занимает «странную нишу», но я для себя эту нишу так и не уяснил. На сайтеце у них говориться, что он для начинающего уровня (т.е. похоже ребята решили повторить успех ардуины, только сделав её несколько более мощной). Но тогда нужно и комплект для начинающих выдавать, а тут:
                  «нет ШИМ, ЦАП/АПЦ, встроенной флеш-памяти, триггеров, понятия прерываний, и создатели предлагают реализовывать необходимое программно».
                  Я искренне не понимаю в чем он должен превосходить конкурентов.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • +1
                      Спасибо за ответ. Вы не могли бы поделиться примерами реализаций реальных девайсов? 8 ядер под реализацию всех прерываний, таймеров и периферии — не мало ли?
                      • НЛО прилетело и опубликовало эту надпись здесь
                        • 0
                          Вполне корректный.
                          Возьмите сходный по стоимости контроллер и посмотрите на предоставленную периферию. Да даже тот же STM32, какую-нибудь 103ю серию.
                          С его DMA, шестью четырехканальными таймерами с шимом, инпут-кэпчурингом и т.п., с его универсальным контроллером статической памяти, USB, UART, АЦП и ЦАПами.
                          И что тут вам дадут эти 8 ядер? Которые вы под завязку забьете при попытке реализовать хотя бы треть того, что в СТМке аппаратно реализовано. И ничего взамен, эта «параллельность» на деле оказывается не нужна.
                          В любой реальной задаче предпочитают взять контроллер с подходящей периферией, а параллельность организовать шедулером — своим велосипедным, либо тем, что в разнообразных RTOS'ах.
                          • НЛО прилетело и опубликовало эту надпись здесь
                            • 0
                              Вы переходите на передёргивания. По крайней мере за аналогичную цену в STM-ах всё это есть. А вам всё это предстоит реализовать.
                              И ошибки STM проверены и более менее определены не одной сотней инженеров. А вы будете на 100% уверены в безошибочности своей реализации UART-а?
                              • НЛО прилетело и опубликовало эту надпись здесь
                              • 0
                                Вы все равно ограничены железом. А в случае с пропеллером — еще и скоростью его интерпретатора. Поэтому про АЦП и ЦАПы там вообще несерьезно говорить, ЦАПы/АЦП лучше аппаратных вы никак не сделаете — если по характеристиками не устраивают аппаратные на борту STM, то точно не устроит любая реализация на пропеллере — только внешняя микросхема.

                                Аппаратная реализация близка к идеалу по причине очень серьезной отладки перед запуском в серию и высокой скорости работы. Производители кристаллов не имеют права на ошибку и выпуск чипов, на которые не будет спроса на рынке — растить кристаллы дело очень дорогое. Поэтому состав периферии — результат исследований, а не тыканье пальцем в небо. Кроме того, в подавляющем большинстве случаев выпускают серию контроллеров с различающимся набором переферийных устройств.
                                Что до универсальности — это все опять-таки на бумажке хорошо смотрится, пропеллер далеко не универсален, и отсутствие типичных блоков, которые нужны в подавляющем большинстве случаев, играет куда большую роль, чем эфемерная возможность сделать десять уартов.
                                • НЛО прилетело и опубликовало эту надпись здесь
                                  • 0
                                    Скоростью исполнения инструкций ограничены, один черт. В отличие от внешнего АЦП или аппаратно реализованного блока в контроллере.

                                    Пропеллер не позиционируется, как коммерческий микроконтроллер. Даже если он сам по себе был-бы «идеален», его нельзя было бы использовать в коммерческих продуктах из-за его мелкосерийности и прочих организационных вопросов.

                                    Ну вот на этом и остановимся, об этом и есть все комментарии. Что пропеллер — не контроллер для коммерческих разработок.
                                    • НЛО прилетело и опубликовало эту надпись здесь
                                      • НЛО прилетело и опубликовало эту надпись здесь
                                • НЛО прилетело и опубликовало эту надпись здесь
                                  • 0
                                    Реальность чего? Того, что вы нагуглили первый попавшийся тред с помоями в сторону STM?
                                    И что это должно символизировать?
                                    • НЛО прилетело и опубликовало эту надпись здесь
                                    • 0
                                      О, замечательный пример. Автор хаит одного производителя ARM-а в пользу другого. Чем больше пользователей — тем больше неприятных отзывов. Вот когда вы наберете пару тысяч нелестных отзывов про пропеллер — можно считать это вином. по крайней мере эти пару тысяч хотя бы попробуют на них что то сделать. :-)
                                  • 0
                                    Я понимаю. Но и этот проц явно не подразумевает применение его в будильниках. Как правило средняя железяка самодеятельного уровня всё таки подразумевает использование пары таймеров, ацп, RTC, а последнее время еще и ethernet-а. И вот тут, что то подсказывает, что если это всё в нее и влезет, то с большим скрипом.

                                    Вообще это конечно мохровый скептицизм. Но он быстро развеется, если кто нибудь из энтузиастов поделится, как реализовал какую-нибудь модную железяку на этом проце. Hack-style, так сказать.
                                    • 0
                                      Я работал с ним, не совсем напрямую — косвенно. Помогал человеку, чье начальство тоже вот загорелось энтузиазмом сделать на нем реальное устройство (а на деле — потому что начальнику на халяву досталась отладочная плата с ним). Никаких преимуществ, одни недостатки — разработка выливается в поиск библиотек для реализации того, что на нормальных контроллерах реализовано аппаратно. И на перереализацию, если библиотеки кривые или отсутствуют.
                                      • 0
                                        Вот да. Просто да. Из идеи и был бы какой прок, если бы ядер за сотню и гигантское сообщество с тысячами библиотек. А так — скорее хакерская игрушка.
                                        • 0
                                          Было бы ядер за сотню — вы бы ныли, что жрёт много. Жрал бы мало — что msp430 всё равно меньше. Ел бы меньше 430 — что производительность плохая. Была бы высокая производительность и много ядер — 32K мало. Сделали бы больше памяти — что кеша нет.

                                          Он не лучше и не хуже, он интересный, не такой. Лет 20-30 назад было неимоверное количество архитектур (не, не так — НЕИМОВЕРНОЕ, одних стековых машин десятка два могу перечислить), сейчас только x86 и ARM на слуху.

                                          А тут «пропеллер» появился. Не хуже и не лучше. Просто другой. Не такой. Никто и не говорит, что он вот прям ща выдавит с рынка всё остальное.

                                          И тут появляетесь вы, и требуете доказать, что он лучше. Вон, посмотрите, весь топик засрали комментариями в стиле «Мадам, я бежал за вами 4 мили, чтобы сказать, как вы мне безразличны». Смешно и грустно.
                                          • 0
                                            Куда столько эмоций, вы прям как гей-парады защищаете. «Он просто другой, у него тоже есть права».

                                            Любой инженер требует доказать что приведенный блок лучше, чем то, что уже используется. Это, знаете ли, работа такая — направленная на разработку эффективных решений. Если инженер этого не делает, а хлопает в ладоши и хватает новую игрушку со словами «теперь мы ее внедрим везде», то это дерьмо а не инженер, и я с такими столкнулся.
                                            Перед внедрением необходимо оценить преимущества и недостатки технологии в конкретной задаче.

                                            Смешно и грустно оттого, что вы считаете попытки выяснить чем технология лучше — оскорблением чьих-то (чьих? пропеллеровских?) чувств и считаете что процессор необходимо защитить от нападок.
                                            • +1
                                              Не, нет эмоций. Как и нет каких-то мыслей про «оскорбление чувств» или что-то там ещё. Заметьте, это вы подняли эту тему и решаете за меня, что именно и где я считаю.

                                              Я, как вы говорите, как инженер, пытаюсь подойти бесстрастно. А вот вы уже зачем-то про гей-парады вспоминаете. Похоже, это правда: любая статья Википедии рано или поздно переходит к Гитлеру, любой спор в интернете сводится к упоминанию гей-парадов :)

                                              Никто не требует доказать, доказать — невозможно. Требуют обосновать, т.е. привести аргументированные доводы. А обосновывать на сферических кейсах — я не знаю, как это. Но аргумент «а вот у того контроллера 3 USART, поэтому он лучше, чем тот, у которого 2» — для меня не аргумент. Выбирать надо под задачу.

                                              Как не аргумент, что «мы можем всё реализовать софтверно, у нас много ядер». Конечно, можем. Всё же полное по Тьюрингу. Вопрос только в ресурсах, которых может потребоваться очень много, и в итоге это будет провально по деньгам.

                                              Тут просто оппонент заранее занял точку зрения «софверная реализация» — однозначно плохо. И требует ему доказать, что это не так. А дискуссия-то не об этом, а о том, что если вам надо чуточку периферии, то и такой способ — работоспособен.

                                              Что, впрочем, не отменяет того, что это чип — исследовательский, и даже не то чтобы мелкосерийный, а ещё меньше. И в этом случае вопрос бизнес-эффективности при реализации фич — он как бэ не основной. Очевидно же.
                                              • 0
                                                Я употребил словосочетание «требует доказать» в ответ на ваше, разумеется по сути — «требуют обосновать».
                                                Ну так я привел конкретные примеры — как раз вот товарищ, так рьяно защищающий пропеллер оперирует фактами из рекламных проспектов этого самого пропеллера.
                                                А я сталкивался с ситуацией, когда вот так вот человеку попала в руки отладочная плата с ним, он сказал «ой как круто, 8 ядер, все, теперь делаем девайс на нем». И все оставшееся время сотрудники ваяли совершенно стандартные SPI, I2C, UART и прочее, используя эти вот коги вместо их аппаратных контроллеров. Выглядело весьма печально.

                                                Речь не о том, что софтверная плохо, а скорее о том, что она неоправдана, когда есть возможность применять стандартный подход — при этом взамен ничего не получаем (на практике). Вот о чем мы тут говорим. А не о том что это всегда однозначно плохо. По задачам надо смотреть, а не восхищаться что теперь без интерраптов можно писать.
                                                • 0
                                                  >> она неоправдана, когда есть возможность применять стандартный подход
                                                  Я бы сказал, что это под вопросом. Может, и оправдано, а может, и нет.

                                                  >> Выглядело весьма печально
                                                  Я так и сказал: «и в итоге это будет провально по деньгам». Денежный проект я бы по-любому не начал на этой железке, не проведя исследований. Но для исследований — нужна и полезна железка и задача, а заранее сформированное мнение «даже и пробовать исследовать не стоит» — вредно.

                                                  >> а не восхищаться что теперь без интерраптов можно писать.
                                                  Я никогда не писал без интерраптов, можно я хоть тут попробую?! :)

                                                  А если серьёзно, я рад, что мы друг друга поняли.
                                                  • 0
                                                    Извините, ответил вам тут habrahabr.ru/post/159847/#comment_5481377
                                              • 0
                                                :-) У нас появился «проц для хипстеров»?
                                                Ну что за лепет. Армы появились не просто так — это реализация идей классических инженерных задач. Есть задача — есть решение. Какая у них целевая аудитория? Каков круг решаемых задач?
                                                Чтобы без нытья — 5 проектов, которые позволят решить необходимые задачи если не удобнее и быстрее, то по крайней мере сравнимо — в противовес армам.
                                                • +1
                                                  Когда-то и про Arduino так говорили. Красная платка, IDE для `мака`, светодиодики, стоит дорого относительно «да чо вон я рассыпухи в Тушино куплю и спаяю» :D

                                                  ARM — да, классные процессоры, мне очень нравятся. И MIPS, понимаете, ли тоже реализация идей классических инженерных задач. И Transmeta с Code morphing. И Tilera с 64 и 100 ядрами. Просто идеи другие. Тут идея, как и в ардуине — там тоже на плате не всё на свете есть. Только тут шилды не надо покупать, можно так изобразить попробовать.

                                                  Но видите ли, в чём дело. Мне лично не надо, чтобы вы решили, что этот процессор — лучше ARM. А вам почему-то надо, чтобы я и TolTol решили, что этот процессор — определённо хуже ARM. Непонятно. И я на это указал.

                                                  И — смотрите — я вас даже не знаю, а вы мне уже ультиматумы ставите. Остыньте.
                                                  • 0
                                                    Арм в данном случае лишь пример, пики, и авр-ы ничуть не хуже. Дело то не в этом.
                                                    Вы с TolTol-м пытаетесь доказать какой это хороший процессор ничего на нём не реализовав. Это всё равно, что мы бы сейчас сидели и говорили о том, как ужасно быть голодающим ребенком в Конго.
                                                    Не спорю, я сам к ардуине по началу не очень относился. Как к идее. Идее о том, что инженер должен полностью знать и контролировать своё железо. Но потом подостыл. Т.к. он и не рассчитан на инженеров. И идея то полыхнула. Более того, я знаю человека, который пошёл учиться на инженера после ардуины. Но с ардуиной всё по другому — у нее есть гигантское сообщество. Это открытый проект и эта открытость повсеместно поощряется. Гигантское сообщество, куча шилдов и библиотек. А главное, её никто не пытается втулить на производство.
                                                    Здесь ситуация несколько иная. Заметьте, на оф. сайте нигде не говорится, что проц. исследовательский и мелкосерийный — это уже ваши измышления. Там расхваливается как замечательно на нём проводить промышленную автоматизацию.
                                                    Тов. Ariman привёл замечательный пример из жизни, когда неквалифицированный менеджер, подхватив халявку и начитавшись маркетинговых бредней привёл в ступор целый отдел. Сколько менеджеров прочитает сегодня эту статью?
                                                    • +1
                                                      >> Арм в данном случае лишь пример, пики, и авр-ы ничуть не хуже
                                                      Выходит, и только этот процессор плохой? Не чувствуете в вашей фразе какой-то странности? :)

                                                      >> у нее есть гигантское сообщество
                                                      Правильнее говорить — появилось. И шанс на это мог быть реализован, потому что была возможность поисследовать саму плату, безотносительно того, как сильно она отстаёт от BeagleBoard, BlackFin на EZKit и прочих флагманов.

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

                                                      Во-первых, Ардуину тащат ещё как в производство. Тут же на Хабре писали. Вендинг-машины точно помню. И ещё какие-то примеры.
                                                      Во-вторых, слова «я, braindamaged» и «этот процессор хороший» нигде не встречаются, это вы уже мне зачем-то приписываете то, что я не делаю. Не пытаюсь доказать, что он хороший, например. Даже автор топика пишет «занимает несколько странную нишу», т.е. без претензии на ниши AVR, PIC и иже с ними.
                                                      В-третьих, если беспокоиться, что менеджеры прочтут статью и испортят себе дальнейшую жизнь и много-много проектов заказчика — это паранойа, натурально. Впрочем, можете отправить сообщение автору, пусть спрячет топик, не искушает неквалифицированных менеджеров. Впрочем, ориентирование по маркетинговым бредням — оно в любом случае потенциально опасно, безотносительно количества ядер и USART на устройстве.
                                                      В четвёртых, в списке пользователей http://www.parallax.com/CompaniesUsingPropeller/tabid/841/Default.aspx сплошные гики и аутсайдеры (ну кроме Laden), из чего я делаю вывод, что он какой-то не сильно общего назначения.

                                                      Вот чего точно нельзя говорить, не попробовав на задаче — говорить, подходит он лучше чем другой, или нет. Вот я и не заявляю, а говорю, что он «интересный», и не выглядит заранее провальным.
                                                      • 0
                                                        ну по всей видимости, стоит подождать пока вы его попробуете и выскажете нам свои выводы. Либо подождать, пока у него появится сообщество и библиотеки и делать выводы.
                                                        Без обид.
                                                        • 0
                                                          На искренние мысли обижаться глупо :)
                                                          Моё мнение будет непоказательным, я Forth-ом в последнее время упарываюсь и нахожу его прекрасным. А вот сообщества, библиотек и примеров я бы подождал бы.
                                                          • 0
                                                            Я слышал, первое что пишет Forth программер — свою форт машину :-) Чем не повод попрактиковаться?
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                      • 0
                                                        Мне бы очень хотелось похвалить тот же MultiClet (тем более, что он отечественный), но к сожалению, пока его вручную не пощупаешь, не узнаешь его сильные и слабые стороны, очень сложно сказать о нём что то конкретное.

                                                        Все те процы, которые когда то существовали, по видимому не просто так вымерли. Где сейчас аналоговые ЭВМ? где Lisp машины? Да, идеи были красивые. Пропеллер не то, чтобы сильно далёк от красивой тупиковой ветви.
                                                        • 0
                                                          Конечно, не сами вымерли. Производители Windows, например, в один прекрасный момент взяли, и перестали поддерживать DEC Alpha. Знаете, что с Alpha стало? :)

                                                          «Пусть расцветают все цветы», такая моя мысль. Иметь альтернативу — всегда полезно. Как и голову на плечах, в общем-то, чтобы не начать делать бизнесовый проект на неисследованном чипе, который впарили на выставке.
                                      • 0
                                        Я так думаю, что программная реализация периферии делает чип универсальным. Вот сидит абстрактный авээропиковод, проектирует устройство, а тут ать! Надо два уарта позарез. И коду уже столько накодено, что в чип не влезет софтовая реализация (или не утянет камень софтовые 115200 хоть тресни). Пойдет этот абстрактный человек искать чип с двумя железными уартами, может и найдет или на армы засмотрится, переделает все устройство, закажет платы в китае, выучит пару новых языков. А завтра новая задача, новые хотелки, новое железо.
                                        А абстрактный армовец тоже сидит и чешет репку. Все в чипе есть: и 10 усартов и 20 и2ц и полтора эспэи. А вот трансглюконного перемультипликатора нет, а есть в чипах, которые только воякам продают и без вывоза за рубеж. Он помучается с поисками, плюнет и софтовый трансглюконный перемультипликатор реализует.
                                        А теперь представим абстрактного пропеллеровода. Чип один — применений тысяча. Сегодня он 10 уартов сделал в одном из ядер, завтра он сигнал на телевизер генерит, послезавтра уже к езернету подключился. Железо одно, софт один, знай разводи да штампуй. И не будет бегать пропеллеровод в поисках хардварного трансглюконного перемультипликатора, ибо знает, что не найдет и писать все равно придется. :)
                                        • 0
                                          см. тред выше про «8 ядер». На них не так уж много и реализовать можно. Ваш коммент скорее из области сферических коней.
                                          • 0
                                            И совсем не факт, что одно ядро = одной задаче/одному интерфейсу. На одном ядре с 20 мипсами можно ой-ой сколько реализовать. А тут их 8.
                                          • 0
                                            Это только на бумажках, я успел с этим столкнуться.

                                            Кстати «железо одно» это тоже слишком уж оптимистично — под каждую задачу плату вам всяко менять придется, так какая тогда разница, подо что ее развести — под новый арм, или под пропеллер? Единственное чего не будет делать абстрактный пропеллеровод в этом случае — так это выбирать чип, это да. Но это скорее как шоры на глаза, чем панацея.
                                  • +3
                                    Игрушка, не более.
                                    Звучит красиво, но на деле не имея ни одного аппаратного контроллера, даже простейшего SPI, приходится почти все коги забивать софтварной реализацией интерфейсов.
                                    • 0
                                      Интересно, чем обусловлен выбор таких компонентов для самосборной платы расширения, вместо SMD? Просто все эти выводные резисторы 0.125 ватта с цветовым кодированием, желтые конденсаторы, и особенно резисторная сборка возле microSD-порта навевают устойчивые ассоциации с материнкой из 386-го компа, года так 92-го выпуска, у меня как раз такая где-то валяется.
                                      Удобством сборки? Врядли — SMD в корпусе 1206, да и даже в 0805 прекрасно паяется любым паяльником при наличии относительно прямых рук. А все что мельче, там уже запаяно на заводе.
                                      • 0
                                        Я не боец в пайке и про себя сказал бы, что пайка SMD без жикого флюса и последующего мытья платы, сложновата для начинающих. Выводные же вещи можно запаять обычным паяльником и палочкой припоя со встроенным флюсом.

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