0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
|
|
1 | |
Создаем ROBO_API18.02.2010, 08:30. Показов 292580. Ответов 148
Метки нет (Все метки)
Пища для размышлений:
Виртуальные машины Понятно, что шасси и механика может быть различной, но в данном случае это уже зависит от реализации непосредственно виртуальной машины, а нам бы общую концепцию выработать. Синтаксис. Может даже свой язык. А если кто и компилятор осилит накатать ваще будет феерично.
0
|
18.02.2010, 08:30 | |
Ответы с готовыми решениями:
148
Создаем полноценный функциональный генератор СОЗДАЁМ САЙТ Создаем проект Создаём сеть |
otix_os
|
|
19.02.2010, 16:07 | 41 |
Хочу прикрутить нечто подобное к глобусу, но нацеленное на отображение графики в память, откуда оно будет выводиться на светодиоды, касательно компилятора - проблем нет, как будет относительно продуманный синтаксис и система байткода - обращайтесь, сделаю :-)
|
0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 28
|
|
19.02.2010, 16:49 | 42 |
otix_ac, а зачем скрипт глобусу? Для смены картинки ему лучше битмап загружать. Там же только изображение, никаких действий особо
0
|
0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 28
|
|
19.02.2010, 17:00 | 43 |
SWK
> Если же свалить все в одну кучу, на один контроллер, пусть даже ARM, да еще с виртуальными машинами, вообще замаешься отлаживать > все сразу: и работу датчиков, и ходовую, и скрипты, и ВМ... Вот! В контроллере (пусть и арм) будет только ВМ и драйверы устройств. Ничего больше, поэтому и отлаживать будет почти нечего! Вся отладка будет вестись на ПК - отладка скриптов :) Да, ВМ, конечно, сначала придется разработать и заставить работать, но без этого никуда не деться > А нафига? Центральный контроллер будет получать от компа конкретные задания высокого уровня Потому, что ваш ЦК и будет всю жизнь выполнять только эти действия. А его перепрограммирование на что-то другое займет кучу времени, так как еще и отладка понадобится. Естественно, что для создания робота под конкретные действия лучше зашить все и сразу, но для экспериментов , имхо, лучше скрипты. > Если же ему спускать целую портянку скриптов, в которых уже жестко прописаны все мелкие действия, какой же это интеллект? Это > уровень древней ЭВМ с перфолентой. Так у вас то же самое, но без скриптов и ВМ
0
|
0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 28
|
|
19.02.2010, 17:06 | 44 |
Кстати на счет интеллекта. Первый путь - это алгоритмизация относительно внешних объектов и событий. Тут мы в любом случае получаем пусть и сложный, но автомат. Второй путь - нечеткая логика. А это классификация и нейронные сети. Но для второго пути нужны мощности и объемы. Для ВМ объемы не проблема (см. выше), но с мощностью придется что-то делать. Это либо переход на другой проц, либо модернизация алгоритмов для выноса из них операций с плавающей точкой (или свести их к минимуму)
0
|
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
|
|
19.02.2010, 19:28 | 45 |
А зачем фаззи лоджику плавающая точка? Там можно все и целочисленно намутить.
0
|
SWK
|
|
19.02.2010, 19:40 | 46 |
Сообщение от DY HOTT
|
0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 28
|
|
19.02.2010, 21:56 | 47 |
Поэтому я и сказал - оптимизировать
0
|
Svimssom
|
|
20.02.2010, 10:29 | 48 |
Сообщение от SWK
|
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
|
|
20.02.2010, 14:08 | 49 |
Holy War Mode off
И меня в это не втягивайте, а то знаете же...
0
|
0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 28
|
|
20.02.2010, 15:36 | 50 |
SWK
Я смотрю, ты программу для PIC пишешь на Паскале. Каким компилятором ты пользуешься ? PS: Я одно время разрабатывал свой собственный компилятор паскаля, как раз для PIC. Сейчас хочу вернуться к старому проекту, переработать (классы, авр-архитектура) и закончить его. Все компиляторы паскаля для PIC, которые я видел до этого, мне очень сильно не нравились.
0
|
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
|
|
20.02.2010, 16:16 | 51 |
micropascal у него.
0
|
SWK
|
|
20.02.2010, 23:52 | 52 |
Я в 80х годах на работе от нужды, чтобы работать с однокристаллками РВЕ35 (КР1816ВЕ35), позже с 48, сделал микропроцессорный отладочный комплекс на КР580ВМ80А, для которого написал полную кросс - систему, - редактор, компилятор, дизассемблер, отладчик, программатор. Программы хранил на нигнитофоне Илеть 203... Потратил полгода, зато сэкономил потом кучу времени на разработках контроллеров. Из заводских компов у нас в то время были только ДВК-2, и то гораздо позже, когда у меня уже все работало... В 89г купили 3шт "Корвет" (сам с Москвы их поездом вез), там в комплекте уже было 10 языков и 2 операционки - CP/M-80 и МикроДОС. Сейчас намахать компилятор для микроконтроллера, например, на DELPHI, не проблема, только зачем, когда готовых полно... |
0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 28
|
|
21.02.2010, 00:10 | 53 |
DY HOTT
Спасибо, я так и думал -- To Ott Что с виртуальной машиной? Не хочется что бы обсуждение умерло. Предлагайте свои идеи что ли :) Начать, я думаю, лучше с синтаксиса и основных механизмов входного языка. Свой вариант я уже предложил. Так же нужно подумать о вычислительной модели и разрядности ВМ. Предлагаю для простоты ВМ сделать 8-разрядной регистровой с одним аккумулятором. Я думаю, что это упростит вычисления на микроконтроллере и сильно уменьшит размер занимаемой памяти по сравнению со стековой ВМ. Так же хотелось бы услышать соображения по поводу распараллеливания процессов
0
|
0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 28
|
|
21.02.2010, 00:15 | 54 |
SWK
Спасибо за ответ. На делфи и намахивал :) А работать я стал именно над паскалем, так как он не очень популярен в среде микроконтроллеров. Вот разве что от микроэлектроники компилятор более-менее, но то что они сделали с механизмом библиотек для меня не понятно.. И к тому же оптимизатор там не очень - код сжирает кучу памяти. Были у них и другие недостатки, уже не вспомню. Сделать лучше чем они вполне реально. Даже одному, имхо, главное что бы желание было. Долго, правда.. :)
0
|
SWK
|
|
21.02.2010, 00:30 | 55 |
Сообщение от oiori
|
0 / 0 / 0
Регистрация: 15.02.2010
Сообщений: 28
|
|
21.02.2010, 00:48 | 56 |
Сообщение от SWK
0
|
SWK
|
|
21.02.2010, 01:22 | 57 |
|
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
|
|
21.02.2010, 06:27 | 58 |
А что я уже скелетик набросал. Сегодня наверное первый прототип выложу на обсуждение.
0
|
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
|
|
21.02.2010, 08:05 | 59 |
Архитектуру я закладываю такую:
8ми разрядная, с жесткой привязкой по функционалу к железу. Т.е. это не универсальная ВМ которую можно куда угодно воткнуть, а скорей концепция и ВМ придется писать под каждую железку заново, с учетом ее функционала. Коды команд 8разрядов+операнды (любое число). Есть несколько десятков (максимум 255) РОН с которыми можно обращаться по усмотрению. Сами команды очень похожи на ассемблерные. Т.е. по сути я делаю надассемблер, управляющий уже не процессорным ядром, а устройством.
0
|
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
|
|
21.02.2010, 12:07 | 60 |
Ну вот. Тягайте проект:
http://iosyitistromyss.ru/file... C-RTOS.ZIP Пока самый мизер. Потому как обкатал просто технологию. Еще все сыро и в зачатках, но идея будет уже ясна. в файле VM_PROG.h находится собственно код программы для VM вот такого вида: Код
static u08 VM_PGM[]= { FWD, //0 DLY,T(1000), //1,2,3 STP, //4 DLY,T(1000), //5,6,7 BCK, //8 DLY,T(2000), //9,10,11 STP, //12 OFF //13 }; Код
//VM Task Table ========================================================== static TPTR VM_FUNC[] PROGMEM = { &VM_OFF, //0 &VM_Back, //1 &VM_Forward, //2 &VM_Delay, //3 &VM_Stop //4 }; Код
void VM_Delay(void) { u16 delay; u08 *OneByte; OneByte = (u08 *)&delay; *OneByte = VM_PGM[++VM_PC[0]]; OneByte++; *OneByte = VM_PGM[++VM_PC[0]]; VM_PC[0]++; SetTimerTask(VM,delay); }
0
|
21.02.2010, 12:07 | |
21.02.2010, 12:07 | |
Помогаю со студенческими работами здесь
60
Создаем TimeMsgDlg! создаём статейки Создаём игру Создаём игру! Создаём wi-fi сеть Создаём редактируемый сайт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |