МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2
  • 3

ТЕМА: Заметки начинающего марсовода

Заметки начинающего марсовода 2 года 9 мес. назад #5471

  • Patison
  • Patison аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 27
  • Спасибо получено: 0
Совсем недавно я влился в ряды счастливых марсоводов, купив платку Марсоход3 и сетевой шильд к ней.
Я - начинающий марсовод, чайник.
Т.к. опыта у меня в данном направлении ноль, сначала я поморгал диодами, взяв пример с сайта.
После этого сделал простенький проектик на логике, где пара светодиодов загорались при нажатии соответствующей кнопки на плате.
Затем я решил сделать стековый процессор J1. Собрал из кусочков по разным местам почти вслепую без понимания тонкостей проектик.
Вот что получилось:

Код проектика здесь:

Вложенный файл:

Имя файла: max10_j1_201602071344.zip
Размер файла: 18 KB

Ведет себя программа из двух строк, прописанных в инициализационном файле J1MK.mif так же просто: читает состояние кнопок и выводит их состояние на светодиоды.
При старте загораются два младших светодиода.
При нажатии на любую кнопку на Марсоход3 гаснет соответствующий светодиод.
Если кто запустит, отпишитесь пожалуйста здесь, работает этот проект или я что-то туда недовложил или сделал неправильно.
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

AI - хобби с детства
Последнее редактирование: от Patison.

Заметки начинающего марсовода 2 года 9 мес. назад #5472

  • Patison
  • Patison аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 27
  • Спасибо получено: 0
По моему недосмотру эта тема попала в категория "Вопросы о плате Марсоход".
Если можно, прошу администраторов перенести ее в "Проекты пользователей" а данный пост удалить, т.к. возможно, я буду еще кое-какие проектики публиковать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

AI - хобби с детства
Последнее редактирование: от Patison.

Заметки начинающего марсовода 2 года 9 мес. назад #5473

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 631
  • Спасибо получено: 51

Patison пишет: Ведет себя программа из двух строк, прописанных в инициализационном файле J1MK.mif

Программа сразу в машинных кодах писалась?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Заметки начинающего марсовода 2 года 9 мес. назад #5475

  • Patison
  • Patison аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 27
  • Спасибо получено: 0

Leka пишет: Программа сразу в машинных кодах писалась?

В J1: стековый процессор для ПЛИС автор написал зародыш компилятора на Питоне.
Здесь все требуемые файлы:

Вложенный файл:

Имя файла: 1.zip
Размер файла: 2 KB

Я в Убунту запустил команду: python j1t.py test1.j1 > test1.hex
И был создан текстовый файл test1.hex с четырьмя байтами, которые я потом руками перенес в Quartus 15.1 Prime Lite в файл инициализации.
Я проверил код побитно. Сначала выполняются две команды, описание которых на русском языке можно посмотреть в исходном файле test1.j1, а затем до конца памяти выполняются команды Nop, т.к. она далее заполнена нулями. В завершение счетчик команд переходит вновь на 0 и цикл повторяется.

Автор процессора J1 сделал модернизированную его версию J1a Swapforth is a cross-platform ANS Forth и в памяти разместил ядро языка SwapForth. Там же имеется и 32 разрядный стековый процессор J1b. Поробую что-нибудь оттуда взять интересное.
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

AI - хобби с детства
Последнее редактирование: от Patison.

Заметки начинающего марсовода 2 года 9 мес. назад #5476

Patison пишет:

Leka пишет: Программа сразу в машинных кодах писалась?

В J1: стековый процессор для ПЛИС автор написал зародыш компилятора на Питоне.
Здесь все требуемые файлы:

Вложенный файл:

Имя файла: 1.zip
Размер файла: 2 KB

Я в Убунту запустил команду: python j1t.py test1.j1 > test1.hex
И был создан текстовый файл test1.hex с четырьмя байтами, которые я потом руками перенес в Quartus 15.1 Prime Lite в файл инициализации.
Я проверил код побитно. Сначала выполняются две команды, описание которых на русском языке можно посмотреть в исходном файле test1.j1, а затем до конца памяти выполняются команды Nop, т.к. она далее заполнена нулями. В завершение счетчик команд переходит вновь на 0 и цикл повторяется.

Автор процессора J1 сделал модернизированную его версию J1a Swapforth is a cross-platform ANS Forth и в памяти разместил ядро языка SwapForth. Там же имеется и 32 разрядный стековый процессор J1b. Поробую что-нибудь оттуда взять интересное.


С этим или другим ядром, но обязательно надо будет сделать форт-систему. Некоторые ведь и не работали никогда в этом и не знают, что форт сам себе язык, компилятор, интерпретатор, операционная система и все прикладные программы вместе взятые, так как всякая программа форта является его ключевым словом. Компилятор под форт-процессор, работающий не в форт-системе не позволяет, как мне кажется, процессор правильно задействовать.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Заметки начинающего марсовода 2 года 9 мес. назад #5478

  • Patison
  • Patison аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 27
  • Спасибо получено: 0

Chaosorg пишет: С этим или другим ядром, но обязательно надо будет сделать форт-систему. Некоторые ведь и не работали никогда в этом и не знают, что форт сам себе язык, компилятор, интерпретатор, операционная система и все прикладные программы вместе взятые, так как всякая программа форта является его ключевым словом. Компилятор под форт-процессор, работающий не в форт-системе не позволяет, как мне кажется, процессор правильно задействовать.

Наоборот, гораздо больше можно сделать в машинных кодах или на стековом ассемблере, чем на языке высокого уровня, если он не использует все аппаратные возможности. Тут дело не в языках, а в нас, думающих в их рамках.
Я привык писать программные эмуляторы своих собственных разных стековых процессоров. И в машинных кодах могу написать несколько килобайт. Но отладка таких программ очень трудоемка. Недавно написал типизированный стековый процессор. Хоть он и помедленнее чем обычные, но эксепшены ловят и обрабатывают множество непредвиденных ошибок. Это как Паскаль и С.
Вот и подумываю над аппаратным типизированным процессором может быть даже с возможностью отключения типизации. Когда-то писал компиляторы к самодельному псевдопараллельному движку на 64 битных стековых процессорах. Но это было еще в 2000 году. Тогда я сделал стековый процессор с одним общим стеком команд и данных. И команд у процессора было совсем немного. Я тогда сделал даже интересное взаимодействие множества процессоров между собой. Это было в рамках моего домашнего проекта многоагентной системы ИИ.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

AI - хобби с детства
Последнее редактирование: от Patison.

Заметки начинающего марсовода 2 года 9 мес. назад #5479

Patison пишет:

Chaosorg пишет: С этим или другим ядром, но обязательно надо будет сделать форт-систему. Некоторые ведь и не работали никогда в этом и не знают, что форт сам себе язык, компилятор, интерпретатор, операционная система и все прикладные программы вместе взятые, так как всякая программа форта является его ключевым словом. Компилятор под форт-процессор, работающий не в форт-системе не позволяет, как мне кажется, процессор правильно задействовать.

Наоборот, гораздо больше можно сделать в машинных кодах или на стековом ассемблере, чем на языке высокого уровня, если он не использует все аппаратные возможности. Тут дело не в языках, а в нас, думающих в их рамках.
Я привык писать программные эмуляторы своих собственных разных стековых процессоров. И в машинных кодах могу написать несколько килобайт. Но отладка таких программ очень трудоемка. Недавно написал типизированный стековый процессор. Хоть он и помедленнее чем обычные, но эксепшены ловят и обрабатывают множество непредвиденных ошибок. Это как Паскаль и С.
Вот и подумываю над аппаратным типизированным процессором может быть даже с возможностью отключения типизации. Когда-то писал компиляторы к самодельному псевдопараллельному движку на 64 битных стековых процессорах. Но это было еще в 2000 году. Тогда я сделал стековый процессор с одним общим стеком команд и данных. И команд у процессора было совсем немного. Я тогда сделал даже интересное взаимодействие множества процессоров между собой. Это было в рамках моего домашнего проекта многоагентной системы ИИ.


Так а разве Форт и не знаменит именно тем, что он с одной стороны низкоуровневый в хорошем смысле (т.е. как ассемблер), а с другой стороны содержит мощные механизмы для поднятия на столь высокий уровень абстракции, на сколько надо.

Я был на той страничке про J1 и вижу там минимальную систему, но не вижу оболочки. Не подскажете, там в словаре есть слово для интерактивного диалога?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Chaosorg.

Заметки начинающего марсовода 2 года 9 мес. назад #5480

  • Patison
  • Patison аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 27
  • Спасибо получено: 0
2Chaosorg: Я не изучал демопроект J1 с игровой консолью. Можете сами скачать и порытся в архивах. J1 был сделан как встраиваемое решение TCP камеры робота. Вот здесь в усовершенствованном процессоре J1 форт декларирован, и скорее всего все, что вам нужно, там есть: Swapforth is a cross-platform ANS Forth
Кстати, стековый движок, по крайней мере раньше, был и в Java машине и в .NET с его языком MSIL. Вовсе не обязательно стековому процессору быть именно Форт-системой.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

AI - хобби с детства
Последнее редактирование: от Patison.

Заметки начинающего марсовода 2 года 9 мес. назад #5481

Patison пишет: 2Chaosorg: Я не изучал демопроект J1 с игровой консолью. Можете сами скачать и порытся в архивах. J1 был сделан как встраиваемое решение TCP камеры робота.
Кстати, стековый движок, по крайней мере раньше, был и в Java машине и в .NET с его языком MSIL. Вовсе не обязательно стековому процессору быть именно Форт-системой.


Это да, там стеки и стековых машин без Форта немало. Ок, в сторону Форт-машины буду идти самостоятельно.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Chaosorg.

Заметки начинающего марсовода 2 года 9 мес. назад #5482

  • Patison
  • Patison аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 27
  • Спасибо получено: 0

Chaosorg пишет: Ок, в сторону Форт-машины буду идти самостоятельно.

Посмотрите выше предыдущее сообщение. Я дописал там ссылку, которую еще ранее давал.
Я вовсе не против языка Форт, а скорее всего за. Только я на нем ничего почти не писал и тонкостей идеологии этого языка еще не прочувствовал. Меня в нем многое привлекает, особенно создание и немедленное использование новых функций. Но мне нужно нечто бОльшее и скорее всего я буду разрабатывать язык и аппаратуру параллельных стековых вычислений для моих целей создания AI. В общем, не хватает некоторого мозговоаго штурма.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

AI - хобби с детства
  • Страница:
  • 1
  • 2
  • 3
Время создания страницы: 0.691 секунд

facebook  GitHub  YouTube  Twitter
Вы здесь: Начало Forum Наш форум Вопросы о плате Марсоход Заметки начинающего марсовода