Перейти к содержанию
    

Это уже больше похоже на ОС.Речь же идет об интерпретаторе.

 

Кстати совсем без улыбок. Вспомни множество одноплатных эвм. Бэйсик там и выполняет по сути функцию ОС. Да и по-моему вполне обоснованное решение. Это же интерпретатор. Т.е любая команда может быть сразу же исполнена. Ну например на приглашение написал 2+2 и получил свои 4.

 

Зато такой продукт можно поставлять как законченный. В откомпилированном виде. И типовые решения для векторов. Например для rs232.

 

Короче если бы это делал я, то делал бы так как я описал. В любом случае это практически не даёт проигрыша в производительности (+3 такта на вызов).

 

По поводу Форта.

Пробовал когда-то ещё в институте. Может это и мощная штука, ну уж очень координальная. :)

Я тут старую книжку по C взял и во вступлении напоролся на фразу типа Си это отмерающий язык, а вот Форт сейчас стремительно завоёвывает популярность. :) Тому уже больше 20 лет. Нифига что-то стремительности не видно. Хочется задать вопрос - почему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

аналогичный мысль и у меня в голове,только на мс12ne64 , автономныи Basic контроллер для дома,программируемый через web и способный посылать email или sms если что-то екстренное. пока только нашел примитивныи basic, написанный в C, но мне кажется , проблемы будут с real-time. скорее всего, надо делать так что интерпретатор запускался с определенном интерваллом, например раз в сек. тогда процессору останется время для web применении

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть у меня давняя потаенная мечта - сделать контроллер, у которого

* все RT задачи были бы на писаны на С/ASM под мультитаскером

* управляющая логика общалась бы через очереди с RT частью (обычно эта часть не сильно сложная и не сильно RT)

 

Вижу, что я не одинок.

 

Но смущает меня изначальная ориентация на AVR. Это чудный кристалл, но не для этой задачи.

 

Щас в меня полетят кирпичи и палки... Я предлагаю:

* LPC229x c 256K FLASH

* 2 микрухи SRAM 4Mbit (256kx 16) на ОЗУ

* портировать на это упомянутый выше замечательный пример на LUA

posmotrite Circuitcellar M16C contest , tam jest project PLC Basic i project Lua. Renesas M16C nemnogo moshneje AVR noo ne osobo.

http://www.circuitcellar.com/renesas2005m16c/

http://www.circuitcellar.com/renesas2005m1...inners/1685.htm

http://www.circuitcellar.com/renesas2005m1...ers/DE/1678.htm

Вот отличие от игрушек с BASIC и AVR, это получился бы вполне ценный коммерческий продукт, над которым негрешно дого и плодотворно работать. Так сказать, и кайф поймаете, и денежные перспективы не такие уж и стремные. IMHO, есть масса задач, который надо решать скриптовыми языками. IO порт опрашивать из скрипта - маразм, а от из FIFO читать да анализировать - полный кайф!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть у меня давняя потаенная мечта - сделать контроллер, у которого

* все RT задачи были бы на писаны на С/ASM под мультитаскером

* управляющая логика общалась бы через очереди с RT частью (обычно эта часть не сильно сложная и не сильно RT)

Дык, а разве не так все нормальные программы пишутся?..

Что-то Вы пропустили imho.. Интерпретатор то здесь с какого боку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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= использует его для работы

( поправьте меня если еще кто находит реальные применения данному языку)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то Вы пропустили imho.. Интерпретатор то здесь с какого боку?
С юзеровского.

 

Юзера пускать писать управляющую программу на С, а потом обучать его компиляции - самоубийство. :wacko:

 

А вот сваять скрипт на LUA (из которого при правильном подоходе _физически_ ничего нельзя "вынести" в других частях ПО) может любой чуть-чуть продвинутый кустомер.

 

По сути, этот попытка решить задачу конфигурации. Для гибкого устройства приходитсся писать супер управляющую программу с тонной конфигурационных параметров. При этом

* отладить такое чудо бесконечно сложно

* отконфифигурировать такое "чудо" может только сам разработчик (и то, пока не отвлекся на другой проект :biggrin: ).

 

А тут вместо мегабайтного конфигурационного файла - скриптовая прога. Что хочешь, что и пиши (в пределах ресурса контроллера).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5. Язык не поддержан крупными производителями, по разным причинам.
Интересно, почему? Вот глядя в доку - все очень классно. А чего же не юзают в реальном мире?

 

Или все дело в стереотипе мышления?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5. Язык не поддержан крупными производителями, по разным причинам.
Интересно, почему? Вот глядя в доку - все очень классно. А чего же не юзают в реальном мире?

 

Или все дело в стереотипе мышления?

 

1. По поводу поддержки крупным( считай потребители его "миллионы") производителем, то

по этому поводу можно предположить, что зависимость потребителя от производителя ПО

станет минимальной-> доходы производителя резко упадут.

2. Привитые стереотипы играют доминирующую роль в восприятии предметной области и

способов работы с ней.

3. В реальном мире очень даже юзают, но т.к. этот язык достаточно уникален, то знают

о нем немногие. Да и на работе требуется мобильность проектов( в вузе его не преподают).

Печатных книг с хорошим учебным материалам не издается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. По поводу поддержки крупным( считай потребители его "миллионы") производителем, то

по этому поводу можно предположить, что зависимость потребителя от производителя ПО

станет минимальной-> доходы производителя резко упадут.

2. Привитые стереотипы играют доминирующую роль в восприятии предметной области и

способов работы с ней.

3. В реальном мире очень даже юзают, но т.к. этот язык достаточно уникален, то знают

о нем немногие. Да и на работе требуется мобильность проектов( в вузе его не преподают).

Печатных книг с хорошим учебным материалам не издается.

Просто заговор мирового "империалИзьма" против "рабочих-программистов". Интересно, сколько занимает эта самая фиртуальная forth машина скажем, для ARM, AVR или 68000?

 

На сайте http://forth.org.ru/ я то-то перевода стандарта 94 г. не нашел. Не ткнете носом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно, сколько занимает эта самая фиртуальная forth машина скажем, для ARM, AVR или 68000?

 

На сайте http://forth.org.ru/ я то-то перевода стандарта 94 г. не нашел. Не ткнете носом?

 

Все зависит от разработчика, его способностей и необходимой функциональности.

Примерные цифры 8кБ

 

Стандарт можно найти кликнув в разделе литература по первой ссылке, в открывшемся окне

кликнуть по ссылки УчебникиФорта ( тоже вверху страничке ). Бардак какой-то :)

Стандарт языка без знания общей идеалогии языка читать, может быть, трудно.

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть у меня давняя потаенная мечта - сделать контроллер, у которого

* все RT задачи были бы на писаны на С/ASM под мультитаскером

* управляющая логика общалась бы через очереди с RT частью (обычно эта часть не сильно сложная и не сильно RT)

Да, да, да!!!

Потребность в такой игрушке ощущаю уже года 2. И мелкие АРМы просто созданы для этой задачи.

ReVaLuaTe скачал довольно давно, только вот руки не доходят покопаться основательно.

И последнее 0.5М памяти зачем? Не слишком ли?

Я бы например предложил связку из последовательных флэш и рам,

у Атмела помоему есть оба в одном флаконе. Можно спокойно масштабировать в зависимости от размера скриптов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно, сколько занимает эта самая фиртуальная forth машина скажем, для ARM, AVR или 68000?

 

Примерно 2 кило на сях, см. http://sourceforge.net/projects/c-fvm

Но это не полный Форт, а именно виртуальная Форт-машина, где компилятор кроссовый.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потребность в такой игрушке ощущаю уже года 2.
Это совсем не игрушка!!!
И последнее 0.5М памяти зачем? Не слишком ли?

Я бы например предложил связку из последовательных флэш и рам,

у Атмела помоему есть оба в одном флаконе. Можно спокойно масштабировать в зависимости от размера скриптов.

Даже не 0.5, а 1М памяти.

 

Есть такая замечательная ОС - eCos. Я о ней тут довольно много писал, сам сейчас ее активно изучаю.

 

А для eCos есть порт LUA.

 

1М SRAM - этого хватит для комфортной отладки eCos с пликухой. Потребности памяти реального проекта будут определены позднее.

 

Гробить производительност на последовательной памяти - может, где-то это и допустимо, но не на этапе разработки и отладки.

 

 

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

 

Было это в 1986 году... Но сейчас я уже забыл все это в силу неактуальности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну да с eCos это уже не игрушка.:)

Я думал взять чего-н. попроще.Но в принципе можно поиграться и на максимуме, а потом урезать.

Впрочем разговор уже уходит за пределы AVR.

М.б. продолжим в ARM или OS?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну да с eCos это уже не игрушка.:)

Я думал взять чего-н. попроще.Но в принципе можно поиграться и на максимуме, а потом урезать.

Именно! Обрезать куда легче, чем пришивать. А для отладочной борды разница в цене не существенна - сама плата и время стоят куда дороже!

 

Кстати, есть свежая книжка по форту - непонятно, почему на сайте супер-пупер фортистов нет на нее ссылки (есть только перевод первого издания 10 летней давности)?

http://thinking-forth.sourceforge.net/

Впрочем разговор уже уходит за пределы AVR.

М.б. продолжим в ARM или OS?

Да! В ОСях тема недавно была хорошая - "Когда не нужна ОС РВ?" :biggrin:

http://electronix.ru/forum/index.php?showtopic=13407

Там всякие МЭКовские языки обсуждали пр - довольно близко к тому, что мы начали тут обсуждать.

 

Имеет смысл перенести обсуждение в ОСи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...