Yra 4 1 ноября, 2007 Опубликовано 1 ноября, 2007 · Жалоба Мучает вопрос: Есть 51 процессор у которого 64к * 8 памяти программ. У него полный набор инструкций - CISС (тоесть около 256). Есть AVR у которого 64k * 16 памяти программ. У него не полный набор инструкци - RISС (порядка 90?) что влечёт за собой некоторый перерасход памяти программ. Есть программа на С которая предположим полностью компилируется под обеими процами (без учёта разной периферии на борту - предположим что вся периферия снаружи - реализована на ПЛИС). Так вот интересует: на каком ядре плотнее ляжет эта программа? Т.е. программа, занимаюшая 64к*8 в 51 проце уместится ли в 64к*16 в AVR и если уместится то в каком соотношении? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bzx 0 1 ноября, 2007 Опубликовано 1 ноября, 2007 · Жалоба Возраст 51’го ядра подходит, поправьте если ошибаюсь, к 3м десяткам. Ядро AVR значительно моложе, ~10лет. Когда мне с ним пришлось столкнуться в 97м, одним из преимуществ AVR разработчики обещали компактность C кода при компиляции. Могу лишь констатировать, что это факт! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sensor_ua 0 1 ноября, 2007 Опубликовано 1 ноября, 2007 · Жалоба Портировали несколько проектов с C51 на AVR. Объём программы в байтах практически не изменился. Т.е. м128 (ранее м103) уделала в 2 раза по количеству слов T89C51RD2 (ныне AT89C51ED2) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба А потом выкинуть нахрен все компиляторы для 8-битников - позорище эдакое - и далее писать для них только на ассемблере :) Надеюсь Вы пошутили... вроде смайлик вконце стоит. Мучает вопрос: Есть 51 процессор у которого 64к * 8 памяти программ. У него полный набор инструкций - CISС (тоесть около 256). Есть AVR у которого 64k * 16 памяти программ. У него не полный набор инструкци - RISС (порядка 90?) что влечёт за собой некоторый перерасход памяти программ. Есть программа на С которая предположим полностью компилируется под обеими процами (без учёта разной периферии на борту - предположим что вся периферия снаружи - реализована на ПЛИС). Так вот интересует: на каком ядре плотнее ляжет эта программа? Т.е. программа, занимаюшая 64к*8 в 51 проце уместится ли в 64к*16 в AVR и если уместится то в каком соотношении? Странно, что критереем является плотность программы... А, например, быстродействие, цена, это менее важные для Вашей задачи факторы? Мой вопрос не в коем случае не ирония, просто действительно интересно, почему именно плотность является критерием, на фоне того, что цены на 8-битники совсем не высокие. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Yra 4 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба Странно, что критереем является плотность программы... А, например, быстродействие, цена, это менее важные для Вашей задачи факторы? В своё время переехали на C8051F120 - исчерпали ресурсы программного кода (обработка строк и всё такое). Самый важный критерий для меня - именно размер кода - рост програмы на перспективу. Всегда можно улучшить программу, дописав пару строк, выполнив пару проверок - а тут: кончилась.... :( На AVR переезжать смысла нет - переехал на ARM. ARM тоже недорогие: - STR710 (256k Flash, 64к ОЗУ + полно периферии) - ~600руб. Там проблемма плотности кода есть. Вот и интересно стало на сколько эффективны AVR.... А проблемма размера кода для меня существенная: UCOS-II + LwIP - занимает порядка 70 кБайт; UCOS-II + UcGUI - порядка 100 кБайт плюс ~50к под фреймбуфер. Вот и сел с 51... откомпилировать не могу... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 17 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба Самый важный критерий для меня - именно размер кода - рост програмы на перспективу. Тогда бросьте С и переходите на Форт, размер кода уменьшится раза в два. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mse 0 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба В своё время переехали на C8051F120 - исчерпали ресурсы программного кода (обработка строк и всё такое). Самый важный критерий для меня - именно размер кода - рост програмы на перспективу. Всегда можно улучшить программу, дописав пару строк, выполнив пару проверок - а тут: кончилась.... :( На AVR переезжать смысла нет - переехал на ARM. ARM тоже недорогие: - STR710 (256k Flash, 64к ОЗУ + полно периферии) - ~600руб. Там проблемма плотности кода есть. Вот и интересно стало на сколько эффективны AVR.... А проблемма размера кода для меня существенная: UCOS-II + LwIP - занимает порядка 70 кБайт; UCOS-II + UcGUI - порядка 100 кБайт плюс ~50к под фреймбуфер. Вот и сел с 51... откомпилировать не могу... Дык, что АРМов с 512К флэши нет? Или вы в АРМ-моде всё ваяете? Тогда вам в АВР32, там обещают неимоверную плотность кода. ;О) Или ставьте внешний флэш. Хоть гиг. Или SD карту. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 3 ноября, 2007 Опубликовано 3 ноября, 2007 · Жалоба Модератор: Прочие "рассуждения" выделены в отдельную ветку. Пока в разделе AVR. http://electronix.ru/forum/index.php?showtopic=38827&hl= Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться