|
|
  |
выполнение кода не из flash |
|
|
|
Jun 6 2008, 05:37
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(TarasG @ Jun 5 2008, 17:00)  Вопрос скорее теоретический, т.к. не относится к какой-то конкретной задаче. Просто мне интересно, реально ли на AVR сделать что-то вроде микрокомпьютера, чтоб можно было выполнять программы, записанные, скажем, во внешней EEPROM. Ностальжи по Z80 и КР580ВМ80А. Самого иногда подмывает "помечтать" в эту сторону, только на базе современных МК. Увы, друг мой, легко и непринужденно не получиться! Назаначение МК и микропроцессоров -- изначально разное. МК задуманы для девайсов, которые всю свою жизнь исполняют одну, жестко прошитую программу (примеры -- стиральная машина, микроволновка, клавиатура, мышь, программатор и т.д.). В таких устройствах нет необходимости по десять раз на дню менять функциональность. (Даже смешно представить, что стиральная машина будет работать по программе швейной машины.) Сосвсем другое дело -- микропроцессоры! Эти универсальные "информационные мясорубки" -- они предназначены для выполнения кода, который не имеет постоянства: сейчас вы запускаете Касперского, через минуту браузер, а через полчаса компилятор. Все проги храняться отдельно, на дополнительном устройстве (на винте), и по мере необходимости вы их подгружаете в оператвную память. Проц может опереться только BIOS, который постоянно "прописан" рядом с ним и практически не меняется. Все остальное -- не постоянно и загружается из вне. Я не очень большой спец в ассортименте современных МК и процов. Я интенсивно использую только некоторые конкретные типы, и всё! Я вполне допускаю, что должны существовать какие-нибудь универсальные контроллеры, типа легендарного Z80. Но я о них либо на слышал, либо слышал, но не отметил для себя. Попробуйте посмотреть на AT91SAM7S256. У него внутренней оперативы достаточно много (больше, чем у других МК) для "поиграться". Если очень так хочется сделать что-то типа РК86, попробуйте разместить во флеше МК ядро (а ля-БИОС, монитор -- не важно, как оно называется -- т.е. набор подпрограмм, функций для работы с железом), а многие количества программ уж подгружайте в оперативу по мере необходимости. Таким образом, у вас будет персональный микрокомпьютер. Да, чуть совсем не забыл, Интел-то ведь никто не отменял! Вот тут у меня под рукими лежит ПроСофтовский каталог, там предлагают микроконтроллеры фирмы RDC, говорят, что ядро x86. Попробуйте погуглить по слову "R8610" -- может быть это то, что вы ищите?
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Jun 6 2008, 08:32
|

Участник

Группа: Новичок
Сообщений: 72
Регистрация: 25-02-08
Пользователь №: 35 378

|
Цитата(zhevak @ Jun 6 2008, 08:37)  Самого иногда подмывает "помечтать" в эту сторону, только на базе современных МК. Увы, друг мой, легко и непринужденно не получиться! Правильно заметили. Тема создавалась как раз для "помечтать" в эту сторону. Зато в результате я узнал про сущестоввание многих вещей. Цитата(zhevak @ Jun 6 2008, 08:37)  Назаначение МК и микропроцессоров -- изначально разное. Это, пожалуй, главный ответ.
|
|
|
|
|
Jun 6 2008, 14:59
|

Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 20-01-05
Из: Зеленоград
Пользователь №: 2 070

|
Цитата(TarasG @ Jun 6 2008, 18:13)  Позволяет ли, скажем, AT91SAM7S32 выполнять программу не из flash? Да. Из внутреннего ОЗУ. При программировании в IAR EWARM читать про __ramfunc. На S32 не проверял, а вот на S64 и S256 проверил лично.
|
|
|
|
|
Jun 6 2008, 17:52
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(TarasG @ Jun 6 2008, 17:13)  Позволяет ли, скажем, AT91SAM7S32 выполнять программу не из flash? Стоит он совсем не дорого и неплохо подошел бы для "извращений"  Если вы заглянете на сайт Atmel в соответствующий раздел, то найдёте кучу процессоров подходящих для "данных извращений", причём как раз SAM7S разрабатывался для других извращений. Кроме того есть AP7000 для данных извращений с архитектурой AVR32. Большое количество соответствующих процов у NXP, TI, Samsung, siemens, Mitsubishi и т.д. Но идея всё равно находится в плоскости ностальжи и практического смысла не имеет. Как правило процы с внешней памятью расчитаны на современные условия и требования. То есть разрядность - 32, объём памяти - несколько мегабайт, частоты запредельные. Соответственно цокалёвка BGA, часто прямой выход на графический дисплей и даже монитор. Плата к такому изделию требует грамотной разводки. STK к такому процу стоит 300-500$. Как правило уже в STK имеется Linux. При таких раскладах городить свой монитор, а ля синклер, - уже не катит, а делать прогу из-под линукса, типа для души - так возьми комп, за теже деньги - установи линукс и ваяй. Короче - ну забыть уже надо синклер. Забыть! Да уже и FlashBack вместе с DOOM2 выглядит как то угловато, я уже не говорю про AnotherWorld или KB.
|
|
|
|
|
Jun 6 2008, 19:27
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 17-04-08
Пользователь №: 36 850

|
Цитата(zhevak @ Jun 6 2008, 08:37)  Назаначение МК и микропроцессоров -- изначально разное. В любом МК есть микропроцессор. А так же ПЗУ, ОЗУ, переферия( если компьютерными терминами то CPU+HDD+RAM+MB)... Вобщем МК понятие шире чем микропроцессор. А в целом про такие извращения: забыли такую штуку как самомодифицирующийся код. Например при защите могла бы пригодится...
|
|
|
|
|
Jun 6 2008, 20:08
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Nick_Shl @ Jun 6 2008, 22:27)  В любом МК есть микропроцессор. Люкс! Поставьте себе в подпись  Покажите на картинке в даташите на любой AVR, PIC, ARM - где у него там внутри микропроцессор? Цитата(Nick_Shl @ Jun 6 2008, 22:27)  А так же ПЗУ, ОЗУ, переферия(если компьютерными терминами то CPU+HDD+RAM+MB) Также покажите словарь, в котором ПЗУ ( ROM, read-only memory) переводится как HDD ( hard disk drive) == НЖМД ( накопитель на жестких магнитных дисках)? Я буду этот словарь обходить подальше. Еще MB = периферия очень позабавило
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jun 6 2008, 20:13
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Да это и так все понятно! Не цепляетесь к деталям.
Железка не имеет коммерческого назначения. Это как рыбок разводить в трехлитровой банке -- чисто для души. Не для выгоды, не для бизнеса.
Иногда бывает, хочется что-нибудь сделать такое-эдакое. Просто так. Просто что-нибудь забавано- бесполезное. Которое не тащит за собой груз ответственности перед заказчиком, не давит сроками. За невыполнение которого не лишат премии. Которое можно просто оставить на полпути (процесса разработки, изготовления), когда просто надоест, и за это ничего не будет. Этот бесполезный акт называется просто -- "отдушина".
Почему именно аналог РК-86, Синклера? Да потому что упоминание этих вещей вызывают стойкую положительную эмоцию. Хочется повторить их на бис, но на современной базе. Разве ни у кого, из присутствующих здесь, таких бредовых желаний ни разу не появлялось? Человек в душе художник, а вы гасите его душевные порывы? Зачем? Либо помогите, либо не мешайте.
В этой жизни мало что имеет какой-нибудь смысл. Какая разница чем заниматься, когда есть время и есть возможности.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Jun 6 2008, 20:40
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
2 zhevak. Да мы не гасим.  Просто это действительно "заглохнет на полпути", а то и в начале. А вот "какая разница чем заниматься" тут мы не согласны. По крайней мере я не согласен. Самое дорогое - это свободное время и свобода выбора. В определённом возрасте это особенно остро ощущаешь. Поэтому мы просто предлагаем переключиться с одной задачи для души на другую. Если есть порыв души, свободное время и желание. Но боже упаси - чисто советуем, а не настаиваем. Выбор в любом случае за автором. А то начинает выстраиваться цепочка. 1) Так AVR не подходит. Найболее подходящий ARM7/9/11. 2) Так ARM7 с внешней памятью только в BGA + многослойка. 3) Если брать BGA, то уж лучше ARM9. Мегагерцев поболее 4) Надо как-то дисплей присобачить. 5) Так всё получилось. И Линукс работает. Не напомните зачем это всё я собирал?  Это я шутя очерчиваю основные вехи.
|
|
|
|
|
Jun 6 2008, 22:24
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Сергей Борщ @ Jun 6 2008, 23:08)  Люкс! Поставьте себе в подпись  Покажите на картинке в даташите на любой AVR, PIC, ARM - где у него там внутри микропроцессор? Можно я покажу? ;> Открываем любой даташит на МК с ARM ядром, идем в раздел Block Diagram и первое что там видим - ARMXXXX Processor - вот он микропроцессор. далее от него идет Local Bus к которой подрублен контроллер памяти и мост APB. ну и т.д. Цитата Также покажите словарь, в котором ПЗУ ( ROM, read-only memory) переводится как HDD ( hard disk drive) == НЖМД ( накопитель на жестких магнитных дисках)? Я буду этот словарь обходить подальше. Еще MB = периферия очень позабавило  Дык было сказано в переносном смысле. HDD / Flash накопители почти одно и тоже и логика работы практически одинаковая - секторная. Флеш на МК тоже секторный (в части записи) так что не вижу никакого повода для иронии. Сравнение на мой взгляд было удачным.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|