Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сравнение AVR и 51
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Yra
Мучает вопрос: Есть 51 процессор у которого 64к * 8 памяти программ. У него полный набор инструкций - CISС (тоесть около 256).
Есть AVR у которого 64k * 16 памяти программ. У него не полный набор инструкци - RISС (порядка 90?) что влечёт за собой некоторый перерасход памяти программ.
Есть программа на С которая предположим полностью компилируется под обеими процами (без учёта разной периферии на борту - предположим что вся периферия снаружи - реализована на ПЛИС).
Так вот интересует: на каком ядре плотнее ляжет эта программа? Т.е. программа, занимаюшая 64к*8 в 51 проце уместится ли в 64к*16 в AVR и если уместится то в каком соотношении?
bzx
Возраст 51’го ядра подходит, поправьте если ошибаюсь, к 3м десяткам. Ядро AVR значительно моложе, ~10лет. Когда мне с ним пришлось столкнуться в 97м, одним из преимуществ AVR разработчики обещали компактность C кода при компиляции. Могу лишь констатировать, что это факт!
sensor_ua
Портировали несколько проектов с C51 на AVR. Объём программы в байтах практически не изменился. Т.е. м128 (ранее м103) уделала в 2 раза по количеству слов T89C51RD2 (ныне AT89C51ED2)
haker_fox
Цитата(=AVR= @ Nov 2 2007, 06:38) *
А потом выкинуть нахрен все компиляторы для 8-битников - позорище эдакое - и далее писать для них только на ассемблере smile.gif

Надеюсь Вы пошутили... вроде смайлик вконце стоит.


Цитата(Yra @ Nov 2 2007, 03:20) *
Мучает вопрос: Есть 51 процессор у которого 64к * 8 памяти программ. У него полный набор инструкций - CISС (тоесть около 256).
Есть AVR у которого 64k * 16 памяти программ. У него не полный набор инструкци - RISС (порядка 90?) что влечёт за собой некоторый перерасход памяти программ.
Есть программа на С которая предположим полностью компилируется под обеими процами (без учёта разной периферии на борту - предположим что вся периферия снаружи - реализована на ПЛИС).
Так вот интересует: на каком ядре плотнее ляжет эта программа? Т.е. программа, занимаюшая 64к*8 в 51 проце уместится ли в 64к*16 в AVR и если уместится то в каком соотношении?

Странно, что критереем является плотность программы... А, например, быстродействие, цена, это менее важные для Вашей задачи факторы?
Мой вопрос не в коем случае не ирония, просто действительно интересно, почему именно плотность является критерием, на фоне того, что цены на 8-битники совсем не высокие.
Yra
Цитата
Странно, что критереем является плотность программы... А, например, быстродействие, цена, это менее важные для Вашей задачи факторы?

В своё время переехали на C8051F120 - исчерпали ресурсы программного кода (обработка строк и всё такое). Самый важный критерий для меня - именно размер кода - рост програмы на перспективу. Всегда можно улучшить программу, дописав пару строк, выполнив пару проверок - а тут: кончилась.... sad.gif На AVR переезжать смысла нет - переехал на ARM. ARM тоже недорогие: - STR710 (256k Flash, 64к ОЗУ + полно периферии) - ~600руб. Там проблемма плотности кода есть. Вот и интересно стало на сколько эффективны AVR....
А проблемма размера кода для меня существенная: UCOS-II + LwIP - занимает порядка 70 кБайт; UCOS-II + UcGUI - порядка 100 кБайт плюс ~50к под фреймбуфер. Вот и сел с 51... откомпилировать не могу...
=AK=
Цитата(Yra @ Nov 2 2007, 14:05) *
Самый важный критерий для меня - именно размер кода - рост програмы на перспективу.

Тогда бросьте С и переходите на Форт, размер кода уменьшится раза в два.
mse
Цитата(Yra @ Nov 2 2007, 07:35) *
В своё время переехали на C8051F120 - исчерпали ресурсы программного кода (обработка строк и всё такое). Самый важный критерий для меня - именно размер кода - рост програмы на перспективу. Всегда можно улучшить программу, дописав пару строк, выполнив пару проверок - а тут: кончилась.... sad.gif На AVR переезжать смысла нет - переехал на ARM. ARM тоже недорогие: - STR710 (256k Flash, 64к ОЗУ + полно периферии) - ~600руб. Там проблемма плотности кода есть. Вот и интересно стало на сколько эффективны AVR....
А проблемма размера кода для меня существенная: UCOS-II + LwIP - занимает порядка 70 кБайт; UCOS-II + UcGUI - порядка 100 кБайт плюс ~50к под фреймбуфер. Вот и сел с 51... откомпилировать не могу...

Дык, что АРМов с 512К флэши нет? Или вы в АРМ-моде всё ваяете? Тогда вам в АВР32, там обещают неимоверную плотность кода. ;О) Или ставьте внешний флэш. Хоть гиг. Или SD карту.
zltigo
Модератор:
Прочие "рассуждения" выделены в отдельную ветку. Пока в разделе AVR.
http://electronix.ru/forum/index.php?showtopic=38827&hl=
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.