Эмуляторы процессоров ARM и Motorola 68000

Тема в разделе "WASM.ELECTRONICS", создана пользователем chainick, 31 янв 2012.

  1. chainick

    chainick New Member

    Публикаций:
    0
    Регистрация:
    31 янв 2012
    Сообщения:
    61
    всем привет, профи, гуру, нужна ваша помощь. нужны эмуляторы для процессоров: ARM (ориентировочно на 2003 год) и Motorola 68000 для Windows. вообще как можно больше. можно и симулятор. для обучения. заранее спасибо
     
  2. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Как показывает практика, эмуляторы -- зло. Они не всегда корректно эмулируют баги в реальном железе, зато содержат изрядное число своих собственных багов. И это не говоря о том, что просто ARM или просто 68000 -- это сфероконь в вакууме. Процессор без окружения бесполезен. Ну а так... В том же KEILе есть встроенный симулятор целого ряда ARMовских контроллеров, и что? Проще отлаживать на реальном железе, благо, стоит оно не шибко дорого.
     
  3. chainick

    chainick New Member

    Публикаций:
    0
    Регистрация:
    31 янв 2012
    Сообщения:
    61
    вопрос не в том, на эмуляторе мне обучаться или на реальном железе. вопрос конкретный. ежу понятно, что реальное железо лучше. если у меня была б возможность купить железо я бы не задавал вопрос.
     
  4. chainick

    chainick New Member

    Публикаций:
    0
    Регистрация:
    31 янв 2012
    Сообщения:
    61
    ну почему. сейчас я нашел хороший эмулятор 68000, но никак не могу найти эмулятор ARM, сколько раз у гугла спрашивал, бесполезно
    а за KEIL спасибо SII
    есть еще варианты ?
     
  5. chainick

    chainick New Member

    Публикаций:
    0
    Регистрация:
    31 янв 2012
    Сообщения:
    61
    тяжелый KEIL, как ни танцевал, бесполезно. как ассемблировать? отлаживать. подскажите. или другие посоветуйте
     
  6. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    chainick
    Привыкай, это реальный мир. Тут нет простых решений.
     
  7. chainick

    chainick New Member

    Публикаций:
    0
    Регистрация:
    31 янв 2012
    Сообщения:
    61
    в Keil успешно создал проект по обзору http://stm32asm.ru/index.html
    ассемблирование прошло успешно, но свой код не ассемблируется, сообщается что-то вроде несоответствия системы команд, пробовал для разных девайсов не помогает. к тому же код (ниже преведен) видимо для старых ARM процов, как его ассемблировать?
    AREA CODE
    ENTRY

    LDR R1,N
    LDR R2,POINTER
    MOV R0,#0
    LOOP LDR R3,[R2],#4
    ADD R0,R0,R3
    SUBS R1,R1,#1
    BGT LOOP
    STR R0,SUM

    AREA DATA
    SUM DCD 0
    N DCD 5
    POINTER DCD NUM1
    NUM1 DCD 3,-17,27,-12,322
     
  8. applefaq

    applefaq Пётр Румянцев

    Публикаций:
    0
    Регистрация:
    18 фев 2012
    Сообщения:
    1
    именно так
    <a href="http://applefaq.ru/"> обзор приложений, игр, инструкция для ipad iphone, обзоры компьютеров mac</a>
     
  9. valeri

    valeri New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2005
    Сообщения:
    59
    Адрес:
    Russia
    Может я немного не в тему, но все же.
    SII, дайте совет, на каком железе лучше всего начинать?
     
  10. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    valeri
    Это зависит от того, что именно Вам нужно, что хотите сделать и т.д. и т.п. Ну и от финансов, понятное дело.
     
  11. valeri

    valeri New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2005
    Сообщения:
    59
    Адрес:
    Russia
    Ну так, в качестве хобби, поковыряться, попробывать себя в осеписательстве.
    Что-то в районе до 10000 р или чуть побольше, если такое вообще реально.
    Я смотрел в сторону beagleboard, но заказ только из США?! Или там все только из-за границы заказывать?
     
  12. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Ну, есть и наше, например, на starterkit.ru. Однако, поработав с их платами, сделал несколько неутешительных выводов:

    1) Наплевательское отношение к даташитам, из-за чего железо может работать нестабильно. Например, на целой куче плат для Ethernet PHY не устанавливался кварц -- типа, тактировать же можно и с ноги процессора. Однако на практике такое работало через раз, что в конце концов и сам Стартеркит признал и стал-таки устанавливать означенный кварц. Ну а у кого на плате его нет -- паяйте сами, как можете :)

    2) Игнорирование потенциальных потребностей пользователей и разводка выводов процессора на разъёмы абы как. Например, на их платах с ЖК экранами присутствует в том числе АЦП сенсорного экрана с интерфейсом SPI, однако ноги этого самого SPI выведены таким образом, что при подключении к любой процессорной плате этот интерфейс приходится эмулировать программно (дёргать туда-сюда ноги проца), хотя в любом проце есть аппаратные контроллеры SPI. Естественно, на практике это означает, что, скорей всего, придётся самому под себя делать кабели, где сигналы будут разведены правильным образом. Однако и здесь есть проблема: очень часто нужные сигналы раскиданы у Стартеркита по разным разъёмам (чтобы тот же SPI использовать на плате с контроллером NXP LPC2478, приходится подсоединяться к трём разъёмам из четырёх -- и это при том, что в самом SPI всего четыре линии, если он должен работать только с одним устройством).

    3) Низкое качество пайки. Например, запросто можно оторвать держалку SD-карты или там батарейки, поскольку они припаяны кое-как.

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

    Насчёт назначения. "Хобби", как и "осеписательство" -- понятия растяжимые. Можно пытаться сделать какую-нибудь простую мигалку светодиодами, а можно -- и свой собственный планшетник :) Понятное дело, что требования к железу для этих задач отличаются очень сильно, как и требования к используемым там осям (собственно, для моргалки и ось-то не нужна, она лишь мешать будет). Если интересуют микроконтроллерные применения (управление какими-либо внешними устройствами типа гирлянд, моторчиков и т.п.), то следует смотреть в первую очередь на МК на ядрах Cortex-M3 и M4; смысла брать старые ядра вроде ARM7 никакого нету. Наиболее популярными из них являются контроллеры STM32: они очень дёшевы, одно время фирма раздавала оценочные платы на них вообще бесплатно (платы Discovery), да и сейчас они стоят гроши (в Москве реально купить за 500-1000 рублей). Естественно, возможности у них весьма ограничены, но для учебных и несложных практических задач вполне сойдут. В качестве альтернативы на тех же ядрах в первую очередь можно назвать NXP LPC17xx: в этой линейке есть очень мощные микроконтроллеры с очень жирной периферией. Например, у LPC1788, на котором проектируем нашу процессорную плату (и который выбран как раз из-за периферии), имеется 512 килобайт флэша и в сумме 96 килобайт внутреннего ОЗУ плюс возможность подключать внешнюю память -- в нашем случае это 64 мегабайта SDRAM-133; из встроенных контроллеров -- несколько UARTов, CAN, SPI, I2C; контроллер LCD с разрешением до 1024*768, если не ошибаюсь; контроллер Ethernet, два порта USB Host/Device/OTG; контроллер SD/MMC, ещё там что-то... Напоследок замечу, что, хотя ядра Cortex-M относятся к АРМам, они как бы не совсем АРМы: они не поддерживают настоящую систему команд ARM и работают исключительно в Thumb/Thumb-2; кроме того, полностью отличается от настоящих АРМов их системная архитектура (обслуживание прерываний и т.п.).

    Если же брать микропроцессор (в расчёте на создание планшета, например), то современными являются ядра серии Cortex-A. Однако они не только достаточно дорогие (на самом деле, их цена не шибко высока и остаётся вполне доступной), но ещё и регулярно имеют проблемы с документацией. Например, на невидийные Тегры вообще никакой информации не предоставляется, и работать с ней можно лишь через какую-либо из стандартных осей -- Вынь ЦЕ или Мобиле, Андроид, вроде бы QNX -- и всё. На другие, например, "кортексы-А" от TI, часть документации открыта, часть -- закрыта (нет инфы по графическому процессору, но есть по всему остальному, так что использовать их можно, только вот графику придётся рендерить на центральном процессоре, а не на графическом), ну и так далее. Так что, возможно, тут есть смысл посмотреть на формально устаревшие, но широко распространённые ядра, которые, в отличие от Cortex-M, будут с нынешними полностью совместимы снизу вверх (т.е. в Cortex-A есть дополнительные команды, коих нет, например, в ARM926, однако всё, что есть в ARM926, есть и любом Cortex-A). Тут наибольший интерес представляют, наверное, поздние процессоры от Atmel (в ранних очень много аппаратных ошибок, но почти все они были устранены в поздних, хотя кое-что так и не вылизали: например, I2C так и остался почти неработоспособным). Ну, есть и другие производители, но всегда надо смотреть на доступность документации и на еррату для конкретной модели.

    В общем, если не пугают возможные проблемы с качеством сборки, а также потенциальные косяки и дурацкая разводка сигналов на разъёмы, то можно взять какой-нибудь из Стартеркитов, особенно если он появился достаточно давно (явные ошибки, как я уже сказал, они постепенно устраняют). Кроме того, нужен программатор, который лучше всего взять как раз у них: дёшево и работает без проблем (серия J-Link; подозреваю, что они клонировали программатор Segger совершенно незаконно, из-за чего и цена такая, однако этим пускай прокуратура занимается). Возможно, Вам понадобится и LCD: это зависит от целей и задач, которые Вы перед собой ставите; их тоже можно взять в этой конторе (дурацкая разводка никуда не денется, но работать работают же, а цены низкие). В примерно 10-12 тыщ для всего этого у них уложиться можно. Вот у буржуев -- сомнительно, хотя качество, особенно сборки, там повыше будет. Из недорогих забугорных фирм помню только Olimex, хотя она не одна, понятное дело.

    Что до Биглборда, то выглядит привлекательно; купить с доставкой сюда тоже можно (надо карточку иметь подходящую; у меня нет, но знаю людей, которые так покупали). Но сначала надо посмотреть внимательно на документацию, а желательно и с владельцами пообщаться: насколько сложно использовать её не стандартным образом (с Линухом или ещё какой готовой системой), а с чем-то своим. Ну и в любом случае программатор нужен, без него будет не работа, а сплошной мазохизм (залить прошивку можно и так, через USB, например, ну а отлаживать?).
     
  13. valeri

    valeri New Member

    Публикаций:
    0
    Регистрация:
    3 июн 2005
    Сообщения:
    59
    Адрес:
    Russia
    Большое спасибо за исчерпывающий ответ.