Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пара вопросов недают покоя
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
UniBomb
Решил пока не поздно переходить с AVR на ARM. Переход пока даётся крайне сложно... И всё таки, никак не могу найти ответа на несколько вопросов:

- Все ли контроллеры имеют одну и ту же систему команд? Т.е. например и у филиппса и у атмела есть камни на ядре ARM7TDMI, значит ли это, что они используют оду и ту же мнемонику?

- Какая разница - синтезируемое ядро или нет? (и что это такое?)

- Я так понял что эти камни могут работать как из под ОСи, так и без неё. В таком случает что из себя представляет просто программа? Для каких задач нужна ОСь?

ЗЫ: я попытался гуглить, но ничего путного так и не нашёл. Всё время находились сайты такие как: "Арматура и Сантехника", "Компания ARM-AUTO приглашает на работу", ООО "АРМЯНСКИЙ КОНЬЯК".....
Сергей Борщ
Попробую ответить в меру своих поверхностных знаний:
Цитата(UniBomb @ Jul 17 2007, 17:22) *
- Все ли контроллеры имеют одну и ту же систему команд? Т.е. например и у филиппса и у атмела есть камни на ядре ARM7TDMI, значит ли это, что они используют оду и ту же мнемонику?
Они совместимы снизу вверх, т.е. код для ARM7 идет на ARM9, от ARM9 на ARM10, ARM11 и т.д. В ARM9 добавлена команда CLZ по сравнению с ARM7, может еще какие-то. Между собой все ARM7 имеют одинаковую систему команд. Но кристаллы от разных производителей имеют совершенно разную периферию (и соответственно разные имена SFR и приемы работы с периферией) вплоть до контроллера прерываний.
Цитата(UniBomb @ Jul 17 2007, 17:22) *
- Какая разница - синтезируемое ядро или нет? (и что это такое?)
Какая-то разница есть. Слышал, что у синтезируемого ядра на такт отличается время входа в прерывание (в какую сторону - не помню). Думаю, что на реальных задачах заморачивать себе голову этим вопросом не стоит.
Цитата(UniBomb @ Jul 17 2007, 17:22) *
- Я так понял что эти камни могут работать как из под ОСи, так и без неё. В таком случает что из себя представляет просто программа? Для каких задач нужна ОСь?
Да и AVR могут работать из-под ОСи, и примеров таких много - FreeRTOS, Ethernut, scmRTOS и т.д. "просто программа" представляет из себя то же самое что и на AVR - бесконечный цикл в main(). "Программа под ОСью - вызов функции старта OS в main() и по бесконечному циклу в нескольких потоках. Что касается нужности ОСи - "настоящие программисты пишут на фортране на любом языке". Если у вас когда-нибудь, пока программа крутится в цикле чего-либо ожидая, возникало желание в это время заставить программу сделать что-то еще - ОСь бы помогла сделать это легко и естественно - как только один поток захотел чего-то подождать - управление автоматически передается другим потокам. Или если у вас возникнет желание разделить программу на две "нити", которые выполняются параллельно - например одна измеряет и крутит моторы-клапана, а вторая через последовательный порт отвечает на запросы оператора - самое время почитать что-нибудь про ОСь.
UniBomb
Цитата
Но кристаллы от разных производителей имеют совершенно разную периферию (и соответственно разные имена SFR и приемы работы с периферией) вплоть до контроллера прерываний.


А вот начтёт этого я был уверен, что тут то всё одинаково smile.gif . А как же универсальные ОСи? Неужели они перегружают одни и те же функции для работы с периферией разных производителей?

Цитата
Они совместимы снизу вверх, т.е. код для ARM7 идет на ARM9, от ARM9 на ARM10, ARM11 и т.д.


Кстати, а есть в запаснике линк на хоть какой нибудь обзор этих ядер? Так что бы вкупе рассматривались и 7-мые и 9-тые и т.д...

Цитата
Думаю, что на реальных задачах заморачивать себе голову этим вопросом не стоит.

Есть не заморачивать этим голову!

Цитата
просто программа" представляет из себя то же самое что и на AVR - бесконечный цикл в main(). "Программа под ОСью - вызов функции старта OS в main() и по бесконечному циклу в нескольких потоках

Т.е. ОСь нужна только для того, что бы решать несколько задач более-менее одновременно? А вот если я пишу под какую то ОСь, то процесс программизма будет отличатся, ежели я пишу "просто программу"?

ЗЫ:. последний вопрос не в тему : кто такие эти загадочные существа - "эмбеддеры"?
rezident
Цитата(UniBomb @ Jul 17 2007, 21:34) *
ЗЫ:. последний вопрос не в тему : кто такие эти загадочные существа - "эмбеддеры"?

См. тут => http://www.caxapa.ru/lib/bill_embedded.html
UniBomb
т.е. мк - это уже и есть "встраиваемая система"? Т.е. за знание однго AVR меня могуть обзывать эмбеддером??? smile.gif


Ну ладно, если серьёзней. Счего же всё таки лучше начинать изучение программизма армов - с Си или же с Асма? Просто есть книжка на русском - там про Си. Есть мануал на английском - там про Асм. Часто ли приходится применять асмовские вставки в разрабатываемые программы?
SergeyDDD
www.gaw.ru/html.cgi/txt/doc/micros/arm/arh/index.htm

Родители всех ядер ARM шорхаются здесь www.arm.com

Купи себе книгу http://www.phnet.ru/book/index.asp?id=78174 и будет тебе хороший старт
rezident
Цитата(UniBomb @ Jul 17 2007, 22:20) *
Часто ли приходится применять асмовские вставки в разрабатываемые программы?

Нормальными эмбеддерами асм-овые вставки не практикуются. При необходимости вся функция или модуль целиком пишется на asm и прилинковывается к Сишному исходнику.
Сергей Борщ
Цитата(UniBomb @ Jul 17 2007, 18:34) *
А вот начтёт этого я был уверен, что тут то всё одинаково smile.gif . А как же универсальные ОСи? Неужели они перегружают одни и те же функции для работы с периферией разных производителей?
Именно так. Более того, перегружаются и часть функций работы с ядром (см. перечень разных ядер, на которых работает FreeRTOS, scmRTOS), а остальное делает компилятор, ибо ОСи в большинстве своем написаны на С/С++.
Цитата(UniBomb @ Jul 17 2007, 18:34) *
Кстати, а есть в запаснике линк на хоть какой нибудь обзор этих ядер? Так что бы вкупе рассматривались и 7-мые и 9-тые и т.д...
Не знаю, разве что покопаться на www.arm.com
Цитата(UniBomb @ Jul 17 2007, 18:34) *
Т.е. ОСь нужна только для того, что бы решать несколько задач более-менее одновременно? А вот если я пишу под какую то ОСь, то процесс программизма будет отличатся, ежели я пишу "просто программу"?
Да, в общем примерно для этого. Просто почти в любой задаче есть части, которые можно исполнять более-менее одновременно. Например: ждать нажатия клавиши и обновлять динамическую индикацию. Процесс програмирования отличаться конечно же будет, можете почитать об этом на русском вот в этой доке от scmRTOS
UniBomb
Цитата
Купи себе книгу http://www.phnet.ru/book/index.asp?id=78174 и будет тебе хороший старт


Заказал себе ещё в июне. Её и вот эту, пока пришла только вторая. За линк отдельное спасибо))

Цитата
Нормальными эмбеддерами асм-овые вставки не практикуются. При необходимости вся функция или модуль целиком пишется на asm и прилинковывается к Сишному исходнику.

Я это и имел в виду, просто выразился криво))) Ясно.

2 Сергей Борщ
Ясно, спасибо))
AlexandrY
Придется уточнить.
Команды не совсем совместимы между ARM7, ARM9 и т.д ни сверху вниз ни снизу вверх . На бинарном уровне так точно. Из-за различий в конвеере разных ядер по разному отрабатывается вход и выход из прерываний в ARM7 м ARM9. Еще для ARM10, ARM11 возникают проблемы выравнивания при переходе с ARM7. Популярный нынче ARM Cortex (самый реальный, кстати, кандидат на замену AVR) вообще ни с кем из упомянутых не совместим.
Исходники на C еще с некоторой натяжкой можно говорить что переносимы снизу вверх от ARM7 к ARM9, а вот на asm-е врядли.
Еще не надо забывать про 15-й сопроцессор, который у каждого ядра оригинальный.

А вот периферия не всегда разная, просто выбор большой. Например UART у многих производителей реализуется одинаково. Дальше, например, 2-й SSP порт у LPC (Philips) и у STR91x (ST) одинаковые.
Тоже с I2C и т.д.

Такая знаменитая ОС-ь как uCOS для AVR даже лучше поддерживается чем для ARM. На сайте самого Atmel-а выложены порт и сами мсходники uCOS. Так, что серьезный пользователь AVR сам может поучить как пользоваться RTOS.

Синтезируемые ядра это просто ядра описание которых переведенно на язык типа VHDL. Это означает, что при определенных обстоятельствах юзер накопав эти исходники сможет внедрить ядро ARM в свой чип FPGA. (Не прикольно, на мой взгляд. Они там будут очень медленными )




Цитата(Сергей Борщ @ Jul 17 2007, 18:47) *
Они совместимы снизу вверх, т.е. код для ARM7 идет на ARM9, от ARM9 на ARM10, ARM11 и т.д. В ARM9 добавлена команда CLZ по сравнению с ARM7, может еще какие-то. Между собой все ARM7 имеют одинаковую систему команд. Но кристаллы от разных производителей имеют совершенно разную периферию (и соответственно разные имена SFR и приемы работы с периферией) вплоть до контроллера прерываний.

Какая-то разница есть. Слышал, что у синтезируемого ядра на такт отличается время входа в прерывание (в какую сторону - не помню). Думаю, что на реальных задачах заморачивать себе голову этим вопросом не стоит.Да и AVR могут работать из-под ОСи, и примеров таких много - FreeRTOS, Ethernut, scmRTOS и т.д. "просто программа" представляет из себя то же самое что и на AVR - бесконечный цикл в main(). "Программа под ОСью - вызов функции старта OS в main() и по бесконечному циклу в нескольких потоках. Что касается нужности ОСи - "настоящие программисты пишут на фортране на любом языке". Если у вас когда-нибудь, пока программа крутится в цикле чего-либо ожидая, возникало желание в это время заставить программу сделать что-то еще - ОСь бы помогла сделать это легко и естественно - как только один поток захотел чего-то подождать - управление автоматически передается другим потокам. Или если у вас возникнет желание разделить программу на две "нити", которые выполняются параллельно - например одна измеряет и крутит моторы-клапана, а вторая через последовательный порт отвечает на запросы оператора - самое время почитать что-нибудь про ОСь.
Andy Great
Цитата(AlexandrY @ Jul 18 2007, 09:39) *
Популярный нынче ARM Cortex (самый реальный, кстати, кандидат на замену AVR) вообще ни с кем из упомянутых не совместим.

Скажите, Александр, а есть уже впечатления от Кортесов? Насколько в кремнии все так же хорошо, как на бумаге?
jasper
Цитата
Популярный нынче ARM Cortex (самый реальный, кстати, кандидат на замену AVR) вообще ни с кем из упомянутых не совместим.

Выбор камней на Cortex-M3 совсем никой. sad.gif
Тогда уж лучше на AVR32UC3 переходить, ИМХО.
vesago
имхо работа с армом или авр принципиально не отличается. Пишите на си и не думайте о совместимости. Начал бы я с LPC. Как-то более дружественней показались.
Oldring
Цитата(UniBomb @ Jul 17 2007, 19:34) *
А вот начтёт этого я был уверен, что тут то всё одинаково smile.gif . А как же универсальные ОСи? Неужели они перегружают одни и те же функции для работы с периферией разных производителей?


Для этого в осях существует такой компонент, как HAL (Hardware Abstraction Layer) и драйвера периферийных устройств. Разница между ними в том, что в HAL описаны сервисы, необходимые для функционирования самого ядра, а при помощи длайверов обычно реализуется работа с остальной периферией. Практически для каждого кристалла требуется адаптация этих компонентов операционки.

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

Система команд у ARM процессоров бывает несовместимой настолько, что для них требуюся различные настройки компилятора. Впрочем, как и у Пентиумов или AVR. Например, в названии ARM7TDMI буквы означают следующее:

ARM7 - ядро процессора ARM7
T - поддержка thumb режима.
D - поддержка аппаратной отладки через ICE от ARM
M - поддержка быстрого аппаратного умножителя
I - уже не помню что

То есть, теоретически, покупатель мог купить само седьмое ядро и без умножителя. В реальности же разошлось ядро в полном объеме - ARM7TDMI. Но у Интела, например, было сильно отличающееся ядро.

Первоначально ядро было жестким блоком, спроктированным под конкретныую технологию выпечки кристаллов. Потом ARM описал его на HDL как полностью синхронную схему (два варианта - VHDL и Verilog) и начал предлагать его лицензировать в исходниках. При этом пришлось переделать работу некоторых компонентов, чтобы получить полностью синхронное описание ядра. Это привело к некоторым минимальным несовместимостям. Синтезируемые ядра получили суффикс S: ARM7TDMI-S
UniBomb
Цитата
Команды не совсем совместимы между ARM7, ARM9 и т.д ни сверху вниз ни снизу вверх . На бинарном уровне так точно.

Цитата
Исходники на C еще с некоторой натяжкой можно говорить что переносимы снизу вверх от ARM7 к ARM9


Ясно. Ну думаю мне пока рано ещё говорить о том, что бы работать со всем семейством ARM. Пока хватит и седьмого.

Цитата
А вот периферия не всегда разная, просто выбор большой. Например UART у многих производителей реализуется одинаково. Дальше, например, 2-й SSP порт у LPC (Philips) и у STR91x (ST) одинаковые.
Тоже с I2C и т.д.

А вот это уже приятный бонус. Например читаеш в книжке про периферию скажем филиппсовских мк, идёш в магазин - а там одни атмелы. Хотя в общем то, судя по всему работа с перифирией у ARM и AVR мало чем отличается (это я понял из книжки тов. Редькина). Различаются в основном имена регистров и флагов, а методы работы остались практически такими же. Если я не прав, то лучше поправьте меня сразу))

Цитата
Такая знаменитая ОС-ь как uCOS для AVR даже лучше поддерживается чем для ARM. На сайте самого Atmel-а выложены порт и сами мсходники uCOS. Так, что серьезный пользователь AVR сам может поучить как пользоваться RTOS.

Ну значит я несерьёзный пользователь. До недавнего времени я даже не знал, что на AVR есть ОСь. Просто никогда не задавался вопросов, что бы скажем в восьмую мегу залить ОСь и выполнять в реалтайме несколько задач.

Цитата
Синтезируемые ядра это просто ядра описание которых переведенно на язык типа VHDL. Это означает, что при определенных обстоятельствах юзер накопав эти исходники сможет внедрить ядро ARM в свой чип FPGA. (Не прикольно, на мой взгляд. Они там будут очень медленными )

Значит мне это совсем не нужно. Вот если бы можно было синтезировать ядро в домашних условиях на кухне - то я бы ещё поэксперементировал)))

Цитата
имхо работа с армом или авр принципиально не отличается. Пишите на си и не думайте о совместимости. Начал бы я с LPC. Как-то более дружественней показались.

biggrin.gif Я с LPC и начал. Потому что только по ним есть литература на русском. Кстати в октябре у додеки ожидается ещё одна книжка про ARM, на сей раз про мои горячо любимые Атмелы)))

Цитата
Для этого в осях существует такой компонент, как HAL (Hardware Abstraction Layer) и драйвера периферийных устройств. Разница между ними в том, что в HAL описаны сервисы, необходимые для функционирования самого ядра, а при помощи длайверов обычно реализуется работа с остальной периферией. Практически для каждого кристалла требуется адаптация этих компонентов операционки.

Ясно. А можно написать одну универсальную ОСь, в которой будут все-все-все драйвера (как в XP)? Ну скажем написать много-много драйверов под почти все камни, много-много сервисов. А выбор зашиваемых компонентов происходит в отдельной программе. Ну например кликает юзверь в чекбоксы, затем нажимает "instal" и все выбранные компоненты по джитагу зашиваются в мк...

Цитата
I - уже не помню что

"ядро имеет в своём составе встроенную логику отладки (ICE)"




А вот ещё такой вопрос. Можно ли на ARM7 построить что-то типа КПК. Т.е. всё как положено - экран, кнопки. Можно и без тачпада. И под всё это дело написать свою операционку аля "UniOS" (надеюсь это имя ещё не занято) - свой ГУЙ, многозадачность, аудио/видео, простятцкие игры, оффисные приложения и т.д. Сложно ли вообще всё это сделать?


ЗЫ:. спасибо за терпение ко мне))) Лучше я задам эти глупые вопросы один раз в одной теме, чем в течении времени освоения данных ядер буду плодить кг/ам'ные темы. Как говорится "плох тот солдат, кто не мечтает стать генералом")))
AlexandrY
Живых еще не пробовал.

Цитата(Andy Great @ Jul 18 2007, 10:47) *
Скажите, Александр, а есть уже впечатления от Кортесов? Насколько в кремнии все так же хорошо, как на бумаге?



В общем случае не сложно, но при этом будет очень дорого.
Посмотрите что могут 2-3х летней давности мобильники. http://aly.projektas.lt/Mobile/mobile.htm
Большинство было сделано на ARM7
Объем кода при этом у них достигал 5-8 МБайт.
Написать столько все самому нереально, но можно купить.
Бюджет такой покупки будет не меньше 1 млн. баксов.
Если платформа не для мобил или KПК, то можно купить все и за 100 тыс. $ но понадобятся еще расходы на кастомизацию.
Без игр, оффисных приложений, c упрощенным сетевым стеком можно слепить и из подручных средств.
Для програмной обработки видео ARM7 однозначно не подходит, но в паре с ПЛИС как менеджер видеопотока работать может.


Цитата(UniBomb @ Jul 18 2007, 17:54) *
А вот ещё такой вопрос. Можно ли на ARM7 построить что-то типа КПК. Т.е. всё как положено - экран, кнопки. Можно и без тачпада. И под всё это дело написать свою операционку аля "UniOS" (надеюсь это имя ещё не занято) - свой ГУЙ, многозадачность, аудио/видео, простятцкие игры, оффисные приложения и т.д. Сложно ли вообще всё это сделать?
Andy Great
Цитата(AlexandrY @ Jul 18 2007, 19:46) *
Живых еще не пробовал.
В общем случае не сложно, но при этом будет очень дорого.
Посмотрите что могут 2-3х летней давности мобильники. Большинство было сделано на ARM7
Объем кода при этом у них достигал 5-8 МБайт.
Написать столько все самому нереально, но можно купить.

Чур меня! У меня не настолько большие проекты, даже в перспективе. Может кто уже пробовал живые? Ау!
Oldring
Цитата(UniBomb @ Jul 18 2007, 18:24) *
А можно написать одну универсальную ОСь, в которой будут все-все-все драйвера (как в XP)? Ну скажем написать много-много драйверов под почти все камни, много-много сервисов. А выбор зашиваемых компонентов происходит в отдельной программе. Ну например кликает юзверь в чекбоксы, затем нажимает "instal" и все выбранные компоненты по джитагу зашиваются в мк...


Подобным образом устроена eCOS.
Но кто будет писать все эти драйвера? Писать, тестировать, и т. д. Это большая работа.

Цитата(UniBomb @ Jul 18 2007, 18:24) *
А вот ещё такой вопрос. Можно ли на ARM7 построить что-то типа КПК. Т.е. всё как положено - экран, кнопки. Можно и без тачпада. И под всё это дело написать свою операционку аля "UniOS" (надеюсь это имя ещё не занято) - свой ГУЙ, многозадачность, аудио/видео, простятцкие игры, оффисные приложения и т.д. Сложно ли вообще всё это сделать?
ЗЫ:. спасибо за терпение ко мне))) Лучше я задам эти глупые вопросы один раз в одной теме, чем в течении времени освоения данных ядер буду плодить кг/ам'ные темы. Как говорится "плох тот солдат, кто не мечтает стать генералом")))


Можно. Но очень трудоемко. В одиночку разрабатывать то, что разрабатывают тысячи или даже сотни тысяч программистов по всему миру. Практика показывает, что подобные автономные проекты часто не могут захватить достаточную долю рынка, чтобы стать стандартом de facto и получить поддержку независимых разработчиков, и поэтому быстро умирают. Поэтому, если хочется описанного и нет ресурсов Майкрософа - нужно поставить на свое железо Windows CE. Взяв процессор с MMU. Это уже реально для небольшой команды, располагающей соответсвующими финансовыми ресурсами. Правда, седьмое ядро уже старовато для таких приложений - сейчас используют более современные и более быстрые ядра.
UniBomb
Цитата
В общем случае не сложно, но при этом будет очень дорого.
Посмотрите что могут 2-3х летней давности мобильники. http://aly.projektas.lt/Mobile/mobile.htm
Большинство было сделано на ARM7
Объем кода при этом у них достигал 5-8 МБайт.
Написать столько все самому нереально, но можно купить.
Бюджет такой покупки будет не меньше 1 млн. баксов.
Если платформа не для мобил или KПК, то можно купить все и за 100 тыс. $ но понадобятся еще расходы на кастомизацию.
Без игр, оффисных приложений, c упрощенным сетевым стеком можно слепить и из подручных средств.
Для програмной обработки видео ARM7 однозначно не подходит, но в паре с ПЛИС как менеджер видеопотока работать может.


Нда, что то не вселяет оптимизмазма. 1кк$... За что? За софт? Или за всю платформу? Да не, я не столь серьёзный проект имел в виду. Впрочем, у меня уже набросан маленький диздок (или как он у эмбеддеров называется) - из него станет поятно, что я хочу сотворить... Если есть пару минут и желание покритиковать - буду премного благодарен если вы его прочтёте и укажете на недостатки)) Правда выложить смогу только завтра...




Цитата
Подобным образом устроена eCOS.
Но кто будет писать все эти драйвера? Писать, тестировать, и т. д. Это большая работа.

Ну можно устроить какой-нить опенсорсный проект в рамках данного форума - типа с миру по нитке. Хотя конечно из этого ничего не выгорит - альтруисты нынче не в моде. Да и времени нет ни у кого. Хотя этот вопрос можно отложить пока, на годик - а там возобновим))....



Цитата
Практика показывает, что подобные автономные проекты часто не могут захватить достаточную долю рынка, чтобы стать стандартом de facto и получить поддержку независимых разработчиков, и поэтому быстро умирают. Поэтому, если хочется описанного и нет ресурсов Майкрософа - нужно поставить на свое железо Windows CE. Взяв процессор с MMU. Это уже реально для небольшой команды, располагающей соответсвующими финансовыми ресурсами. Правда, седьмое ядро уже старовато для таких приложений - сейчас используют более современные и более быстрые ядра.

А я и не говорил о рынке. Я не собираюсь кому-либо что то доказывать, кого-либо оскакывать. Это лично для меня - хобби у меня такое, страдать ерунодой. Просто мне было интересно - возможно ли или нет, стоит ли за это браться или нет)) С моими то познаниями - да наполеоновские плато то и строить))) Так, на чём-нибудь потренироваться....
AlexandrY
А как иначе понимать выражение "офисное приложение"?
Офисное приложение это - мощное GUI, база данных, фонты, пиктограммы, другая графика и остальные ресурсы, куча поддерживающих утилит по конвертации форматов, стеки протоколов и т.д.
Один полный стек TCP с PPP и движком AT команд занимает под мегабайт памяти.
GUI тоже не менее мегабайта с ресурсами.
В принципе GUI и TCP можно легко найти бесплатные, но интегрировать их под одной осью плюс файловая система и стандартный API для приложений типа POSIX и отладить драйвера чтоб не тормозили и так не очень быструю систему - это титанический труд.

Цитата(UniBomb @ Jul 19 2007, 22:55) *
Нда, что то не вселяет оптимизмазма. 1кк$... За что? За софт? Или за всю платформу? Да не, я не столь серьёзный проект имел в виду.
xyzzy
Цитата(Andy Great @ Jul 18 2007, 23:53) *
Может кто уже пробовал живые? Ау!


Намедни взял вот эту платку на LM3S6965:
http://www.luminarymicro.com/products/lm3s...uation_kit.html
http://www.luminarymicro.com/products/6900s.html

Это в общем-то первый ARM, с которым вплотную столкнулся, так что пока, что вижу - то пою и на полную картину мира не претендую. smile.gif

Что понравилось (сами чипы от Luminary и тех поддержка)
* периферия и документация вглядят довольно вразумительно
* Thumb-2 - все прелести компактности Thumb при скорости не-thumb.
http://www.arm.com/pdfs/Thumb-2%20Core%20T...0-%20Final4.pdf
* Luminary нахаляву дает исходники драйверов ко всей периферии и они даже работают. beer.gif
* минимальный геморрой с прерываниями. Вектор сразу указывает на C-функцию.
проц сам сохраняет/восстанавливает контекст когда надо, причем сделано это,
похоже, с толком.
* Есть GCC порт с поддержкой Thumb-2 (тащить с couderoucery.com)
* Есть поддержка в FreeRTOS.
* Можно отлаживаться и шить флэш через OpenOCD
* младшие модели - и впрямь, похоже, могут составить конкуренцию AVR. http://www.luminarymicro.com/products/100_...es_devices.html

Чего не хватает:
* У Luminary yе видать модели с поддержкой внешней памяти. 64К SRAM и 256К флэша мне маловато.
UniBomb
Цитата
А как иначе понимать выражение "офисное приложение"?
Офисное приложение это - мощное GUI, база данных, фонты, пиктограммы, другая графика и остальные ресурсы, куча поддерживающих утилит по конвертации форматов, стеки протоколов и т.д.
Один полный стек TCP с PPP и движком AT команд занимает под мегабайт памяти.
GUI тоже не менее мегабайта с ресурсами.
В принципе GUI и TCP можно легко найти бесплатные, но интегрировать их под одной осью плюс файловая система и стандартный API для приложений типа POSIX и отладить драйвера чтоб не тормозили и так не очень быструю систему - это титанический труд.

Я тоже не знаю))) Сморозил, а потом подумал. На самом деле вместо офиса неплохо бы сделать книгочиталку с возможностью редактирования простого текста. Вот и всё. А все навороты будут реализовываться постепенно, когда я буду переходить на более серьёзные МК....
Вот кстати диздок, посмотрите пожалуйста)))
Нажмите для просмотра прикрепленного файла
defunct
Цитата(UniBomb @ Jul 17 2007, 18:34) *
Кстати, а есть в запаснике линк на хоть какой нибудь обзор этих ядер? Так что бы вкупе рассматривались и 7-мые и 9-тые и т.д...

первоисточник:
www.arm.com

Я удивлен, это ж какой вопрос надо было задать гуглу чтобы он нашел вам армянские вина, арматуру и сантихенику, но не нашел ссылки на сайт с одноименным названием.
UniBomb
2 defunct

Про этот сайт я конечно же знаю. Знал его ещё до знакомства с ARM. Просто с английским у меня не важно, вот и не разобрался с сайтом (кстати искомого краткого обзора я там пока не нашёл). А мне хотелось бы что-нить на русском. Если делать короткий запрос поисковику, то он выводит то что я сказал. Если делать запросы длиннее, то он находит меньшее количество информации.

ЗЫ:. нехорошо вот так глумится над людьми, особенно если они не очень ладят с поисковиками(((
defunct
Цитата(UniBomb @ Jul 20 2007, 16:46) *
ЗЫ:. нехорошо вот так глумится над людьми, особенно если они не очень ладят с поисковиками(((

Глумиться? Вы уж извините, но перечитайте ваш первый пост.. Со стороны он смотрится тоже как глумление..
На сайте есть даташиты на все ядра.
Есть также сравнительные характеристики и подборки систем команд.
Наиболее полную информацию по ядрам ARM процессоров можно взять только там.
А английский надо учить.
UniBomb
Всё равно не буду спорить....
VAI
Цитата
Кстати, а есть в запаснике линк на хоть какой нибудь обзор этих ядер? Так что бы вкупе рассматривались и 7-мые и 9-тые и т.д...

На великом и могучем:
http://www.gaw.ru/html.cgi/txt/doc/micros/arm/arh/index.htm
На первой странице http://www.gaw.ru/ посмотрите, там много ссылок по ARM и не только
UniBomb
2 VAI

Спасибо, очень ценная ссылка. Надо бы ещё в chmку сконвертить)))

ЗЫ:. и почему только на этом форме не предусмотрена репа... я бы её многим повысил))
AlexandrY
Ну вы описали принцип работы больших осей типа Win CE или Linux.
Их на ARM7TDMI поставить невозможно. Можно пытаться на ARM720.
Но реально только на семейство ARM9 и выше.

Запариваться с перегрузкой компонентов операционки точно не стоит, убъете всю жизнь на выяснение взаимозависимостей этих компонентов. Перегружать драйвера другое дело, но это делают не для экономии памяти. Памяти RAM можно поставить море, теперь дефицита нет и никто не экономит. ARM адресует 32-х битное адресное пространство т.е. технических проблем тоже нет.
Интерпретатор программ - плохая идея, слишком медленно. Хотя Java аплеты успешно на ARM7 выполняются, но там Java Micro Edition (JME). Посмотрите что может JME и с какой скоростью и станет грустно.

Короче, вы совсем не в тему выбрали ARM7 и архитектуру которую нарисовали.
Вам прямая дорога к AT91SAM9263. А реальную схему посмотрите в документе "AT91SAM9263-EK Evaluation Board"

Скажу даже больше, при том уровне устройства которое вы хотите сделать, в архитектуру процессора вообще уже не вникают. Все силы должны быть брошены на поиск рабочего и доступного софта; операционки, драйверов и набора приложений.
При этом я бы не рекомендовал покупаться на посулы производителей плат или процессоров в части бесплатного линукса и проч. операционок к их платформам. У них слабые и безответственные команды чаще всего сидящие на аутсорсинге.
Искать решения надо непосредственно на сайтах производителей качественного софта как например http://timesys.com/
В этом плане AT91SAM9263 удачный выбор, поскольку эту платформу поддерживает TimeSys.


Цитата(UniBomb @ Jul 20 2007, 16:37) *
Вот кстати диздок, посмотрите пожалуйста)))
Нажмите для просмотра прикрепленного файла
UniBomb
Всем спасибо за внимание, я получил ответы на все вопросы, тему можно удалить за ненадобностью.


ЗЫ:.
2 AlexandrY
Вам особое спасибо, теперь у меня есть идеал к которому я изо всех сил буду стремится....
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.