roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 19:36

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Исполнение инструкций с SD карты
СообщениеДобавлено: 03 июл 2016, 22:05 
Не в сети

Зарегистрирован: 03 июл 2016, 21:48
Сообщения: 2
прог. языки: с++, ассемблер
ФИО: Казаков Сергей Вадимович
Такая проблема- делаю игровую приставку на avr, которая читает игры с SD карты. Как исполнить инструкции (ассемблер или машинный код) из данного файла?


Последний раз редактировалось Сергей Казаков 11 июл 2016, 17:47, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 04 июл 2016, 12:39 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
1. зачем дублировать темы? forum2/topic16620.html?view=unread#unread
2. если "avr" имеется ввиду МК фирмы Atmel, то - никак. Если вы делаете эмулятор игровой консоли, то алгоритм строите так, что машинный код для консоли можно обрабатывать как данные, тогда их хранить можно как и где угодно.

зы: вообще в инете есть уже готовые разработки...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 04 июл 2016, 13:28 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
сложно будет сделать игру с картами, если даже не знаешь как они правильно называются.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 04 июл 2016, 15:06 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
У авр разделена память программ и память данных. Поэтому авр может выполнять команды только с внутр. флеш памяти. Но можно залить в авр загрузчик (есть открытые проекты), который будет копировать код с cd карты в память и потом исполнять его. Но лучше перейти на нормальные контроллеры типа арм :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 04 июл 2016, 15:32 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
http://radio-hobby.org/modules/news/art ... oryid=1247
http://retro-roms.blogspot.ru/2010/08/n ... rders.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 05 июл 2016, 13:47 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Топовые Cortex M7 от stm умеют прозрачно исполнять код, лежащий в SPI flash памяти - там запилен специальный кэш-контроллер под это. Поскольку sd карты до определенной степени совместимы с spi flash, то вполне возможно, что там можно и напрямую исполнять.

Добавлено спустя 21 секунду:
Щютка, если чо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 05 июл 2016, 14:55 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
ну файловую систему они вряд ли поддерживают, а на сд, напрямую мало кто работает с данными


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 05 июл 2016, 15:23 
Не в сети

Зарегистрирован: 03 июл 2016, 21:48
Сообщения: 2
прог. языки: с++, ассемблер
ФИО: Казаков Сергей Вадимович
Dmitry__ писал(а):
У авр разделена память программ и память данных. Поэтому авр может выполнять команды только с внутр. флеш памяти. Но можно залить в авр загрузчик (есть открытые проекты), который будет копировать код с cd карты в память и потом исполнять его. Но лучше перейти на нормальные контроллеры типа арм :)

То есть я выбираю файл, затем ребутаю МК и после исполнения опять записываю изначальную прошивку?

Добавлено спустя 26 минут 32 секунды:
Dmitry__ писал(а):
. Но лучше перейти на нормальные контроллеры типа арм :)

А на арм так можно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 05 июл 2016, 16:05 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
пока не переименуете тему и не запомните как правильно называется SD карта
ничегошеньки у вас не выйдет.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 05 июл 2016, 17:05 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Сергей Казаков писал(а):
То есть я выбираю файл, затем ребутаю МК и после исполнения опять записываю изначальную прошивку?

Всё зависит от вашей фантазии (как напишите алгоритм).

зы: вообще бутовая область в авр небольшая, полноценно поддержку файловой системы на SD не получится сделать...впрочем и ОЗУ мало, даже у топовых, лучше натянуть внешнюю ОЗУ и в неё вливать данные с карты, а потом придумать аля "скриптовый" язык, который будет выполняться (пошагово) в внешней памяти. Кстати, если брать XMega серию A1, то там есть интегрированный контроллер внешней памяти (аля расширение).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 05 июл 2016, 23:20 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
Сергей Казаков, для начала не помешает прекратить задавать такие вопросы, а заняться изучением программирования на ассемблере и си под авр или мк с какой архитектурой захотите, изучить архитектуру и т.д. скорей всего вам это лень, раз задаёте такие вопросы, т.е. вводите в поисковике "avr game console", находите опенсорс проекты и не маетесь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 06 июл 2016, 00:01 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Цитата:
Сергей Казаков писал(а):
Dmitry__ писал(а):
У авр разделена память программ и память данных. Поэтому авр может выполнять команды только с внутр. флеш памяти. Но можно залить в авр загрузчик (есть открытые проекты), который будет копировать код с cd карты в память и потом исполнять его. Но лучше перейти на нормальные контроллеры типа арм :)

То есть я выбираю файл, затем ребутаю МК и после исполнения опять записываю изначальную прошивку?


Перегружать не надо. Пишешь в отдельную область и отдаешь туда управление.

Цитата:
Dmitry__ писал(а):
. Но лучше перейти на нормальные контроллеры типа арм :)

А на арм так можно?

Как два пальца об асфальт. АРМ - фон-неймановская архитектура, память общая. Считал в память-исполнил. Да и чипы при примерно той же цене по своим параметрам порвут avr8 как тузик грелку.

Кстати - приставка - это вывод на видео? или куда?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 06 июл 2016, 00:45 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Ну на заданные мне вопросы тут ответили, отвечу на другие :)
Madf писал(а):
зы: вообще бутовая область в авр небольшая, полноценно поддержку файловой системы на SD не получится сделать...впрочем и ОЗУ мало

1к бута в авр это просто праздник в сравнении с 2к в мсп430. В мсп430 средняя команда занимает 5-6 байт :cry: Вот где я помучился со своим загрузчиком, правда загрузчик по эфиру...
Да и можно расширять загрузчик до любых размеров, отьедая основную память, а в самом загрузчике запретить себя портить.
Для sd есть очень маложрущие файловые системы от чана:
http://elm-chan.org/fsw/ff/00index_e.html
Есть еще миниатюрнее.

Загрузчиков под авр много, разных, хороших. Только под ардуины их наклепали штук 5. Есть с криптографией - гуглить "avr aes".
https://habrahabr.ru/post/224383/
http://microsin.net/programming/AVR/avr231-aes-bootloader.html
http://we.easyelectronics.ru/AVR/zagruzchik-dlya-mikrokontrollerov-avr.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 06 июл 2016, 13:00 
Не в сети

Зарегистрирован: 03 янв 2012, 12:55
Сообщения: 3298
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...
Дим, я как бы в теме, но всё равно спасибо.)
На счет SD карты, проблема была в том, что минимально для работы с ней, нужно около 512 байт буфера, чтобы элементарно была возможность работать с её блоком/страницей, ещё нужно место под переменные + вообще память для переработки файловой системы. В общем к чему это я, что все эти наработки не работают на удобных, мелких МК типа Attiny, чтение на "лету" SD карты не встречал (без запоминания буфера).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Исполнение инструкций с CD карты
СообщениеДобавлено: 06 июл 2016, 15:42 
Не в сети
Аватара пользователя

Зарегистрирован: 13 янв 2011, 15:25
Сообщения: 8033
Откуда: Санкт-Петербург
Madf писал(а):
На счет SD карты, проблема была в том, что минимально для работы с ней, нужно около 512 байт буфера, чтобы элементарно была возможность работать с её блоком/страницей

Нууууу, а говоришь в теме. :)
Вообще не встречал такой проблемы, тем более если с карточки надо только читать.
Цитата:
Очень экономное использование RAM (44 байта на рабочую область + некоторое количество на стек).
Очень маленький объем программного кода (2 .. 4 килобайта).

http://microsin.net/programming/file-systems/petit-fatfs-file-system.html
Плеер wav на тиньке:
http://ra4nal.qrz.ru/wav85.shtml
Memory Usage (R0.03)
Код:
                   АVR             x86
Compiler           gcc(WinAVR)     VC6
_WORD_ACCESS       1               1
Code (default)     2020            1589
Code (!_USE_READ) -428             -236
Code (_USE_DIR)   +564             +415
Code (_USE_LSEEK) +490             +228
Code (_USE_WRITE) +516             +323
RAM (bss)         2                4
RAM (work)        42               44

http://elm-chan.org/fsw/ff/pf/appnote.html
На pic, компилицо в 163 байта озу со всеми проигрывателями :)
http://www.labkit.ru/html/autocontrol?id=455


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO