|
выполнение кода не из flash |
|
|
3 страниц
1 2 3 >
|
 |
Ответов
(1 - 38)
|
Jun 5 2008, 13:56
|

Участник

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

|
Вариант с виртуальной машиной, конечно, интересный. Но есть у него один существенный недостаток - потеря быстродействия Даже 10000 циклов - мало, если предположить, что пользователь сам быдет устанавливать и запускать программы. Т.е. это может быть 100 запусков программ в день, т.е. всего 100 дней будет жить чип FPSLIC - очень интересное решение. Я так понял, это at94 серия? Только вот интересно, сколько такое решение может стоить? Цитата(vmp @ Jun 5 2008, 14:27)  или ещё какой-то камень для USB (не помню название) с внешней памятью. Кстати, это наиболее интересный вариант. Т.е. всё-таки есть AVRы, поддерживающие запуск программы из ОЗУ? Жаль, что названия не помните...
|
|
|
|
|
Jun 5 2008, 14:17
|

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

|
Цитата(TarasG @ Jun 5 2008, 17:56)  Вариант с виртуальной машиной, конечно, интересный. Но есть у него один существенный недостаток - потеря быстродействия  Зависит от задачи и от набора команд виртуальной машины. Если например нужно в основном считать плавающую арифметику, то потеря будет весьма незначительной. А если надо шевелить ножками - тогда да. Можете ещё почитать про Форт. Цитата(TarasG @ Jun 5 2008, 17:56)  FPSLIC - очень интересное решение. Я так понял, это at94 серия? Только вот интересно, сколько такое решение может стоить? От 12 долларов. http://www.efo.ru/doc/Atmel/price.plЦитата(TarasG @ Jun 5 2008, 17:56)  Т.е. всё-таки есть AVRы, поддерживающие запуск программы из ОЗУ? Жаль, что названия не помните... Устарели, не рекомендуются для новых разработок. AT43USB320A - Full speed USB microcontroller with a 12 MIPS AVR, 3 function endpoints, an embedded 4-port Hub and a UART. http://www.atmel.com/dyn/resources/prod_do...nts/doc1443.pdfAT43USB355 - Full-speed USB microcontroller with a 12 MIPS AVR, 3 function endpoints, a 2-port Hub and 12-channel 10-bit ADC, PWM and 24 Kbytes of program SRAM or mask ROM. http://www.atmel.com/dyn/resources/prod_do...nts/doc2603.pdfМожно еще тут покопаться: http://www.atmel.com/dyn/products/devices.asp?family_id=688
|
|
|
|
|
Jun 5 2008, 15:58
|

Участник

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

|
Цитата(vmp @ Jun 5 2008, 17:17)  Зависит от задачи и от набора команд виртуальной машины. Если например нужно в основном считать плавающую арифметику, то потеря будет весьма незначительной. А если надо шевелить ножками - тогда да. Можете ещё почитать про Форт. Я имею ввиду например программную реализакию ядра AVR, позволяющую загружать и выполнять программы из внешних носителей, не перезаписывая flash. очевидно, что в таком случае производительность значительно упадёт, т.к. основная программа (эмулятор, зашитый в flash) сначала должна сначала распознать команду, и только потом выполнить её. Цитата(vmp @ Jun 5 2008, 17:17)  Да, это в принципе не так уж и много. Только вот у себя я что-то не могу их найти. Да и покупать его чисто ради "желания поизвращаться" как-то неохота  Попробую я наверно "поизвращаться" с виртуальными машинами. Это по крайней мере не требует капиталовложений
|
|
|
|
|
Jun 5 2008, 16:30
|

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

|
Цитата(TarasG @ Jun 5 2008, 19:58)  Я имею ввиду например программную реализакию ядра AVR, позволяющую загружать и выполнять программы из внешних носителей, не перезаписывая flash. очевидно, что в таком случае производительность значительно упадёт, т.к. основная программа (эмулятор, зашитый в flash) сначала должна сначала распознать команду, и только потом выполнить её. В случае программной реализации какая разница, на каком ядре она выполняется? Запустите ее на PC и получите скорость выше реального кристалла. Если нужно отдельное устройство - поставьте микроконтроллер уровня ARM. Тот же SAM7S например. Цена того же порядка, что и AVR. Частота - 50 МГц. Или ещё какой-нибудь.
|
|
|
|
|
Jun 5 2008, 19:00
|
Местный
  
Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006

|
Как альтернативу FPSLIC-у с аппаратным ядром AVR внутри (12$, сложно достать) можно рассмотреть еще вариант другой (нормальной, современной) FPGA с софтовым ядром AVR. Скажем младший из третьих циклонов имеет похожую цену, при этом достать намного проще, и помимо ядра AVR туда еще много чего влезет. XILINX также имеет подходящие FPGA по схожей цене. Ядро есть готовое, бесплатное на opencores-ах (там вроде код под ксайлинкс, для альтеры править придется)
Согласен, далеко не самое простое решение, для реализации придется вплотную знакомится с FPGA, но тоже ведь вариант. Хотя я бы выбрал архитектуру, изначально работающую с внешней памятью программ. MCS51 или ARM или чтото еще.
|
|
|
|
|
Jun 5 2008, 19:06
|

Участник

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

|
Цитата(Artem_Petrik @ Jun 5 2008, 22:00)  Хотя я бы выбрал архитектуру, изначально работающую с внешней памятью программ. MCS51 или ARM или чтото еще. Вобщем, примерно такой вывод я и сделал.
|
|
|
|
|
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 накопители почти одно и тоже и логика работы практически одинаковая - секторная. Флеш на МК тоже секторный (в части записи) так что не вижу никакого повода для иронии. Сравнение на мой взгляд было удачным.
|
|
|
|
|
Jun 6 2008, 22:28
|

Участник

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

|
Тут вот очень часто упоминается "ностальгия" и т.п., так вот я как раз этому не подвержен и мои побуждения несколько иные. А неподвержен наверно потому, что первый мой компьютер имел 1.4ГГц процессор и было это не так давно. Как то так получилось, что обсуждение свелось к "какой МК самый крутой и почему всё остальное не катит". А вопрос то был в том смысле, какой минимальный (по стоимости в первую очередь) МК позволяет запускать программы без перепрошивки flash. Конечно, хотелось бы, чтоб таким МК оказался МК семейства AVR (т.к. опыт работы я имею только с ними). ARM мне кажется следующим наиболее приемлемым вариантом. Наверно, потому что Atmel
Сообщение отредактировал TarasG - Jun 6 2008, 22:29
|
|
|
|
|
Jun 7 2008, 00:59
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
defunct совершенно прав, хотя это семейство x51. Кроме приведенной микросхемы существуют её аналоги, например от бывшего Dallas (ныне Maxim), которые позволят работать с внешней памятью (при достаточном быстродействии) на 40МГц (ядро) с 1 тактом на команду. То есть ~40 мипсов в пике. (Правда не уверен что память обеспечит без тактов ожидания, но в любом случае это в десятки раз мощнее синклера. Микросхемы с ядром AVR, обеспечивающие данную работу вам уже приводили. ARM - это не только Atmel и, даже, не столько Atmel. Так например, если вас удовлетворяет работа из внутреннего озу и 64К (естественно вместе с данными) вас устроит, то есть вариант LPC2106 стоимостью 11$ c производительностью близкой к 60 мипсов 32 бита. Другие по ссылке http://www.nxp.com/selectionguides/tables/45994.html (например 2220 с внешним интерфейсом в 144 ножном корпусе). Но в ARM-овой ветке вам скорее всего ещё более интересных предложений накидают. Дерзайте.
|
|
|
|
|
Jun 7 2008, 06:56
|
Участник

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

|
Цитата(Сергей Борщ @ Jun 6 2008, 23:08)  Люкс! Поставьте себе в подпись  Покажите на картинке в даташите на любой AVR, PIC, ARM - где у него там внутри микропроцессор? А если его там нет, что же выполняет команды? Даже если микропроцессор не выделен, от там есть. В тойже m128 есть регистры, АЛУ, декодер инструкций - все это части микропроцессора. Цитата(Сергей Борщ @ Jun 6 2008, 23:08)  Также покажите словарь, в котором ПЗУ (ROM, read-only memory) переводится как HDD (hard disk drive) == НЖМД (накопитель на жестких магнитных дисках)? Я буду этот словарь обходить подальше. А вы мне покажите где ПЗУ = ROM! ПЗУ( постоянное запоминающее устройство) не равно ROM( память только для чтения). Так что НЖМД подпадает под ПЗУ.
|
|
|
|
|
Jun 7 2008, 08:50
|

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

|
Цитата(Nick_Shl @ Jun 7 2008, 09:56)  Даже если микропроцессор не выделен, от там есть. Почитайте букварь по выч. технике. Цитата(Nick_Shl @ Jun 7 2008, 09:56)  А вы мне покажите где ПЗУ = ROM! Не поверите - в любом. Lingvo, Google, остальные ищите сами. Не вижу смысла дискутировать с человеком, который оспаривает терминологию. Ибо если вы не владеете даже терминологией...
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jun 7 2008, 09:34
|

Участник

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

|
Цитата(defunct @ Jun 7 2008, 01:38)  На сегодня это AT89S52 - меньше $1 (при сорока ногах) по выводам совместим с mega8515/162. Правда это еще вопрос кто с кем совместим ;> Да, это очень интересный вариант. Правда, у нас он не меньше, а $1.2, но то мелочь
|
|
|
|
|
Jun 11 2008, 14:13
|
Частый гость
 
Группа: Участник
Сообщений: 99
Регистрация: 22-03-07
Из: Novosibirsk
Пользователь №: 26 415

|
Цитата(TarasG @ Jun 7 2008, 16:34)  Да, это очень интересный вариант. Правда, у нас он не меньше, а $1.2, но то мелочь  Посмотрите AT89S51, он должен быть еще дешевле. В букварях написано, как у MCS-51 внешнюю память данных объединить с внешней памятью программ (MOVX-ом будете иметь доступ к коду)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|