|
|
  |
Basic Interpreter for AVR, Хочу написать |
|
|
|
Apr 5 2006, 20:47
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(beer_warrior @ Apr 5 2006, 18:42)  Это уже больше похоже на ОС.Речь же идет об интерпретаторе. Кстати совсем без улыбок. Вспомни множество одноплатных эвм. Бэйсик там и выполняет по сути функцию ОС. Да и по-моему вполне обоснованное решение. Это же интерпретатор. Т.е любая команда может быть сразу же исполнена. Ну например на приглашение написал 2+2 и получил свои 4. Зато такой продукт можно поставлять как законченный. В откомпилированном виде. И типовые решения для векторов. Например для rs232. Короче если бы это делал я, то делал бы так как я описал. В любом случае это практически не даёт проигрыша в производительности (+3 такта на вызов). По поводу Форта. Пробовал когда-то ещё в институте. Может это и мощная штука, ну уж очень координальная.  Я тут старую книжку по C взял и во вступлении напоролся на фразу типа Си это отмерающий язык, а вот Форт сейчас стремительно завоёвывает популярность.  Тому уже больше 20 лет. Нифига что-то стремительности не видно. Хочется задать вопрос - почему?
|
|
|
|
|
Apr 5 2006, 21:49
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892

|
Есть у меня давняя потаенная мечта - сделать контроллер, у которого * все RT задачи были бы на писаны на С/ASM под мультитаскером * управляющая логика общалась бы через очереди с RT частью (обычно эта часть не сильно сложная и не сильно RT) Вижу, что я не одинок. Но смущает меня изначальная ориентация на AVR. Это чудный кристалл, но не для этой задачи. Щас в меня полетят кирпичи и палки... Я предлагаю: * LPC229x c 256K FLASH * 2 микрухи SRAM 4Mbit (256kx 16) на ОЗУ * портировать на это упомянутый выше замечательный пример на LUA Цитата(proba @ Apr 5 2006, 10:01)  Вот отличие от игрушек с BASIC и AVR, это получился бы вполне ценный коммерческий продукт, над которым негрешно дого и плодотворно работать. Так сказать, и кайф поймаете, и денежные перспективы не такие уж и стремные. IMHO, есть масса задач, который надо решать скриптовыми языками. IO порт опрашивать из скрипта - маразм, а от из FIFO читать да анализировать - полный кайф!
|
|
|
|
|
Apr 6 2006, 04:23
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(beer_warrior @ Apr 5 2006, 17:42)  2Kopa вижу не первый ваш пост посвященный Форту. О языки слыхал много и возможно это действительно решение. Где можно почитать толковый Getting Started? Знакомство с возможностями Форт языка можно начать с http://forth.org.ru ( в разделе литература ,если поискать, находятся ссылки на учебники и стандарт форта 94г. переведенный на русский язык) Обсуждения околофортовских вопросов находится в раздел wiki этого сайта. По поводу популярности языка можно высказать следующее мнение: 1. Язык разрабатывался и применяется для разработки встроенного ПО в ограниченых ресурсах. Изначально применялась техника шитого кода для уменьшения объема исполняемого кода. Сейчас, зачастую, язык компилируется в код процессора. 2. Парадигма программирования близка к функциональному программированию. И предполагает обработку данных потоковым способом. Данные при этом неявным способом могут передаваться между процедурами ( в терминалогии Форт системм гланым понятием выступает - слово ). В процедуре же они , из возможностей стандарта 94г., могут иметь локальные имена (формальные параметры). На переходе 90х годов для разработки крупных проектов приняли, более жесткую и прозрачную парадигму привязки программ обработки данных к самим данным. 3. Для начального изучения основ алгоритмов не так хорош, в силу своей изоморфности. 4. Разработка форто подобного языка проводилась до недавнего времени в МГУ назывался он ДССП ( диалоговая система структурного программирования ). Одна из поставленных целей это сокращение разрыва между языком и процессором. 5. Язык не поддержан крупными производителями, по разным причинам. 6. Изданная литература по языку в России начала 90х годов не отражает текущее состояния возможностей языка. 7. В силу своей изоморфности, расширяемости и внутреннего построения данный язык может быстро трансформироваться в любой другой язык. Доступ к внутренней форт машине всегда открыт!!!! Математическая модель Форт машины близка к Java, Net и многим другим виртуалкам. Поддержку синтаксисиса своего языка необреминительное занятие. Более менее расширенных несовместимых реализаций Форт языка много. 8. Минимальный контроль над действиями программиста не всегда способствует дисциплине программирования. ... В активе русского форта SPF написаны пара серьезных программ eserv ( мультисервер) и nncron ( продвинутый планировщик) Извиняюсь за офтопик. На данном форуме, наверное только, =AK= использует его для работы ( поправьте меня если еще кто находит реальные применения данному языку)
|
|
|
|
|
Apr 6 2006, 06:18
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892

|
Цитата(defunct @ Apr 6 2006, 06:35)  Что-то Вы пропустили imho.. Интерпретатор то здесь с какого боку? С юзеровского. Юзера пускать писать управляющую программу на С, а потом обучать его компиляции - самоубийство. А вот сваять скрипт на LUA (из которого при правильном подоходе _физически_ ничего нельзя "вынести" в других частях ПО) может любой чуть-чуть продвинутый кустомер. По сути, этот попытка решить задачу конфигурации. Для гибкого устройства приходитсся писать супер управляющую программу с тонной конфигурационных параметров. При этом * отладить такое чудо бесконечно сложно * отконфифигурировать такое "чудо" может только сам разработчик (и то, пока не отвлекся на другой проект  ). А тут вместо мегабайтного конфигурационного файла - скриптовая прога. Что хочешь, что и пиши (в пределах ресурса контроллера).
|
|
|
|
|
Apr 6 2006, 07:03
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(Evgeny_CD @ Apr 6 2006, 09:36)  Цитата(Kopa @ Apr 6 2006, 08:23)  5. Язык не поддержан крупными производителями, по разным причинам. Интересно, почему? Вот глядя в доку - все очень классно. А чего же не юзают в реальном мире? Или все дело в стереотипе мышления? 1. По поводу поддержки крупным( считай потребители его "миллионы") производителем, то по этому поводу можно предположить, что зависимость потребителя от производителя ПО станет минимальной-> доходы производителя резко упадут. 2. Привитые стереотипы играют доминирующую роль в восприятии предметной области и способов работы с ней. 3. В реальном мире очень даже юзают, но т.к. этот язык достаточно уникален, то знают о нем немногие. Да и на работе требуется мобильность проектов( в вузе его не преподают). Печатных книг с хорошим учебным материалам не издается.
|
|
|
|
|
Apr 6 2006, 07:16
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(Evgeny_CD @ Apr 6 2006, 10:08)  Интересно, сколько занимает эта самая фиртуальная forth машина скажем, для ARM, AVR или 68000? На сайте http://forth.org.ru/ я то-то перевода стандарта 94 г. не нашел. Не ткнете носом? Все зависит от разработчика, его способностей и необходимой функциональности. Примерные цифры 8кБ Стандарт можно найти кликнув в разделе литература по первой ссылке, в открывшемся окне кликнуть по ссылки УчебникиФорта ( тоже вверху страничке ). Бардак какой-то  Стандарт языка без знания общей идеалогии языка читать, может быть, трудно.
Сообщение отредактировал Kopa - Apr 6 2006, 07:31
|
|
|
|
|
Apr 6 2006, 07:40
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Цитата Есть у меня давняя потаенная мечта - сделать контроллер, у которого * все RT задачи были бы на писаны на С/ASM под мультитаскером * управляющая логика общалась бы через очереди с RT частью (обычно эта часть не сильно сложная и не сильно RT) Да, да, да!!! Потребность в такой игрушке ощущаю уже года 2. И мелкие АРМы просто созданы для этой задачи. ReVaLuaTe скачал довольно давно, только вот руки не доходят покопаться основательно. И последнее 0.5М памяти зачем? Не слишком ли? Я бы например предложил связку из последовательных флэш и рам, у Атмела помоему есть оба в одном флаконе. Можно спокойно масштабировать в зависимости от размера скриптов.
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
Apr 6 2006, 08:05
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892

|
Цитата(beer_warrior @ Apr 6 2006, 11:40)  Потребность в такой игрушке ощущаю уже года 2. Это совсем не игрушка!!! Цитата(beer_warrior @ Apr 6 2006, 11:40)  И последнее 0.5М памяти зачем? Не слишком ли? Я бы например предложил связку из последовательных флэш и рам, у Атмела помоему есть оба в одном флаконе. Можно спокойно масштабировать в зависимости от размера скриптов. Даже не 0.5, а 1М памяти. Есть такая замечательная ОС - eCos. Я о ней тут довольно много писал, сам сейчас ее активно изучаю. А для eCos есть порт LUA. 1М SRAM - этого хватит для комфортной отладки eCos с пликухой. Потребности памяти реального проекта будут определены позднее. Гробить производительност на последовательной памяти - может, где-то это и допустимо, но не на этапе разработки и отладки. Нда, все это живо напомнило мне калькулятор МК-61. Помнится, "отформатировав могзи", я очень быстро на нем считал и писал программы. И когда мне в руки попадался обычный калькулятор "со скобками" - я удивлялся - нафига люди пользуются этим уродцем? Было это в 1986 году... Но сейчас я уже забыл все это в силу неактуальности.
|
|
|
|
|
Apr 6 2006, 08:34
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892

|
Цитата(beer_warrior @ Apr 6 2006, 12:18)  Ну да с eCos это уже не игрушка.  Я думал взять чего-н. попроще.Но в принципе можно поиграться и на максимуме, а потом урезать. Именно! Обрезать куда легче, чем пришивать. А для отладочной борды разница в цене не существенна - сама плата и время стоят куда дороже! Кстати, есть свежая книжка по форту - непонятно, почему на сайте супер-пупер фортистов нет на нее ссылки (есть только перевод первого издания 10 летней давности)? http://thinking-forth.sourceforge.net/Цитата(beer_warrior @ Apr 6 2006, 12:18)  Впрочем разговор уже уходит за пределы AVR. М.б. продолжим в ARM или OS? Да! В ОСях тема недавно была хорошая - "Когда не нужна ОС РВ?" http://electronix.ru/forum/index.php?showtopic=13407Там всякие МЭКовские языки обсуждали пр - довольно близко к тому, что мы начали тут обсуждать. Имеет смысл перенести обсуждение в ОСи.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|