|
Форт (Forth) и MSP430 для изучения, Программирование и исследование на Форт |
|
|
|
Sep 20 2012, 15:31
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Есть интересное направление - например, в частности, использование Форт языка для быстрого и эффективного изучения возможностей контроллера MSP430 и внешней периферии. 4e4thКод 4E4th on the LaunchPad - 8/16K Recently we had a meeting in the Lower Rhine region dreaming about a small nice affordable board with a modern MCU and a compact Forth inside.
There it is!
The TI LaunchPad with 4E4th on it. 16K FLASH - 8K Forth and 8K for our own apps. The 4E4th is covered in a 20Pin DIL MSP430G2553. Now our goal is to supply a TI LaunchPad ready with the MSP430G2553 and Forth inside - all for 4€ - plug in the USB, open the terminal, and there we go! CamelForth430 is the kernel of 4E4th.
I think these are exciting developments.
Michael P.S. Возможно окажется полезным инструментарием проект немецкого Форт сообщества. В репозитарии есть ещё некоторые Форт системы для MSP430. Хотчется услышать мнение участников местного форума. C MSP430 близко не работал, но "ностальгия" по системе команд PDP-11 осталась  И если приобрести launch pad ($4,6) то можно многое сделать используя Форт идеалогию. Есть и другие Форт системы для MSP430, но наверное без "продвижителя" данного направления тема "заглохнет":)
Сообщение отредактировал Kopa - Sep 20 2012, 17:15
|
|
|
|
|
 |
Ответов
|
Sep 20 2012, 18:49
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Ага. Спасибо. Уже читаю. Н-н... да. Забавно. Очередное Дурдуино для домохозяек. Читаю, и иногда подвисаю на приятных воспоминаниях по временам РК-86... Ну мы тогда Форт тоже изредка юзали. Так, не серьезно. Скорее от безысходности -- ведь Си-компайлера для РК-ашек тогда не было. Зато были широко распространены только ассемблер и Бейсик, которые закрывали почти весь спектр тогдашних задач. Ходил по рукам, правда, еще какой-то не работающий Лэйди-Паскаль. Ну и этот там был -- Форт. Был больше для "коллекции программ", чем для работы. Я, вот, только не понимаю -- где его (Форт внутри msp430) можно сейчас реально применить с пользой? Сейчас всяких кросс-компиляторов -- мать моя! -- каких только нет! Профи в основном пишут либо на С, либо на асме. Всякие Форты, Паскали, Бэсики, PL... -- это экзотика, а не инструмент для зарабатывания денег. А не профи -- "непрофи" юзают Ардуины. Может быть я чего-то не догоняю.  Но мне кажется, что что-то все-таки ускользает от моего понимания. Что-то я не представляю, что же _такое_толковое_ можно написать на Форте, причем _это_толковое_ ну никак невозможно было бы так же красиво реализовать на С/С++? В чем фишка? -- Чувствую, что меня кидают. А где -- понять не могу. (с) из анекдота
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Sep 21 2012, 05:15
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(zhevak @ Sep 20 2012, 22:49)  Я, вот, только не понимаю -- где его (Форт внутри msp430) можно сейчас реально применить с пользой? 1. мета-язык (в т.ч. красивая обертка для ассемблера) 2. встраиваемый интерактивный скриптовой движок, который без труда ложится в любой контроллер, от младших пиков и авр до арм. 3. возможна очень плотная упаковка программы засчет использования байт-кода 4. распределенная система хост-таргет с возможностью перераспределения в ходе отладки 5. много ещё чего Теперь о грустном: к сожалению, систем типа "сел и поехал" практически нет, а если есть ( SwiftForth), то стоит вполне конкретно. Остальные предполагают полное погружение, чтобы хотя бы хелловорд изобразить. Ну и резкий контраст между автоматизированными оболочками, к которым все уже привыкли, и "системой в себе", которой является forth. Цитата(Microwatt @ Sep 21 2012, 03:33)  Вряд ли его сейчас станут применять массово Посмотрите спецификацию CIL (основа дотнета) Ничего не напоминает ?
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Sep 23 2012, 10:43
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(MrYuran @ Sep 21 2012, 11:15)  1. мета-язык (в т.ч. красивая обертка для ассемблера) 2. встраиваемый интерактивный скриптовой движок, который без труда ложится в любой контроллер, от младших пиков и авр до арм. 3. возможна очень плотная упаковка программы засчет использования байт-кода 4. распределенная система хост-таргет с возможностью перераспределения в ходе отладки 5. много ещё чего 1. Ичё? Продолжайте свою мысль, а то она как-то внезапно оборвалась. Клиенту, для кого создается гаджет не то что бы "красивая обертка" не нужна -- ему вообще пофигу на каком языке пишется встроенное в его гаджет ПО. Красота для программиста? ... Сомнительно. Прогеры пишут свои программы не для красоты, а чтобы устройство работало. Программисту-разработчику от этой красоты ни холодно-ни жарко. Удобство использования нужно -- это да. А красота ... это уже к гуманитариям -- художникам, поэтам, музыкантам... К "любителям программирования", которые пишут красивый код не для работы, а для личного самоудовлетворения. (Еще один из множества разновидностей онанизма?) 2. Скрипт -- это хорошо. Скрипт -- это компактно и мощно. Скрипт -- это сверхвысокоуровнево. (Вчера прочитал: "Python -- это язык сверхвысокого уровня". Вот это я понимаю!) Ляжет-то он, конечно, ляжет... но опять же -- какие задачи он нацелен? Что им решать? Приведите какие-нибудь конкретные примеры, что ли. А я (или кто-нибудь) попробуем обсудить -- возможно ли эту задачу решить с помощью каких-то иных средств так же быстро и правильно, как на Форте. Но пока, я в упор не вижу -- где можно использовать "скриптовый" язык в МК-устройствах. Вот, смотрите -- с одной стороны мы согласны отдать 8 кило флэша под сам Форт. Хорошо. Но, что мы при этом получаем взамен? А если мы отдаем столько же памяти под какую-нибудь RTOS -- что мы в этом случае теряем, и что получаем? Вы ведь не хотите отдать область создания ПО для МК домохозяйкам? И да! Скрипты! Это область, когда нужно оперативно накидать прожку, чтобы быстро разрулить большой объем работы. Скрипты хороши тогда, когда нужно время от времени подправлять их (скриптов) работу. Но мы знаем, что в 99.9% МК-устройствах программа заливается один раз. И пашет там пожизненно. Заметьте, поменять уставки (установки, параметры, конфиги) -- это не то, что поменять скриптовую прогу. 3. Очень плотная упаковка кода? Хм... Это как? Разве есть какие-то проблемы с МК, у которых не хватает памяти? Люди уже давно не пишут на асме большие проги (большие, скажем, 2-4 килоайт) ради того, чтобы сэкономить еще "один байт". Смысл ужиматься? Не хватает памяти -- возьмите другой МК. Давно уже канули времена, когда разница в МК с разным объемом памяти была ощутима. По инерции приводят гипотетические примеры, дескать -- для производства, которое выдает на гора стони-тысячи изделий в месяц, это проблема стоит очень остро. -- Фигня! Бред! У меня такое же производство, и я по первости тоже искал себе "проблему одного байта". Сейчас понял -- надуманно это все! Стоимость МК в изделии составляет от силы несколько процентов. Какая разница, во сколько будет выливаться себестоимость изделия -- в 2345 рублей или 2389? Важно не это, а динамика развития производства. Если каждый месяц количество заказов увеличивается на 10-30%, то экономить на 1-2% за счет "узкого" проца -- только себе засерать развитие. Производите разработку -- Отлично! Закладывайте сразу проц в двукратным количеством памяти. По деньгам не чувствительно, зато будет пространства для маневра. 4. "Переведи!" (с) из советского к/ф. Это как? Ничего не понял. 5. Ни о чем! Всё будет надуманно и высосано из пальца. (Паручики, молчать!!!) Теперь о грустном. К сожалению, я так и не понял -- зачем Форт? Или что он должен собой вытеснить (заменить)? Да! И еще пара вопросов. 1. О манагерах. Я их тоже недолюбливаю. Но в данном вопросе с ними солидарен. Вот, допустим, был у меня один такой уникум -- разработчик МК-системы, писал на Форте. Уволился (не важно по какой причине!) Дальше что? Разработки встали колом? Все начинать с начала и на международном языке программирования (С/С++) или учить самому/учить людей Форту. Ну и зачем мне залазить в такой "производственный капкан"? 2. Как у Форта обстоят дела с многозадачностью? Можно-ли на нем написать event-driven ПО? (Уточняю -- событийно-управляемое ПО.) Грубо -- это такое ПО, которое всё время спит, то есть не кушает батарею, не греется. Но как только в системе возникает какое-либо событие (прерывание), система пробуждается и начинает его обрабатывать. В такой системе возможны порождения вторичных событий. События в систему могут поступать по нескольким каналам. Например: - тикает системный таймер, - пришел ответ по SPI, достать его из регистра и засунуть в буфер - UART отправил байт, и нужно в него загрузить следующий - юзвер нажал на кнопочку, - сработал концевик, датчик перегрузки и т.п. и т.д. А то получится как во времена DOS: Код do (!конец_работы()) { if (ответ_от_HDD_получен() == 1) обработать_файл(); else if (клавиатура_нажата() == 1) определить_нажатую_клавишу(); else if (событие_от_мышки() == 1) определить_какое_событие_случилось_у_мышки(); else if (тайм-аут_истек() == 1) погасить_экран(); } Ни в спячку систему не отправить, ни быстро отреагировать на событие.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Oct 30 2012, 22:26
|
Местный
  
Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197

|
Цитата(zhevak @ Sep 23 2012, 14:43)  1.Но пока, я в упор не вижу -- где можно использовать "скриптовый" язык в МК-устройствах. Скрипты хороши тогда, когда нужно время от времени подправлять их (скриптов) работу.
2. Очень плотная упаковка кода? Хм... Это как? Разве есть какие-то проблемы с МК, у которых не хватает памяти? Люди уже давно не пишут на асме большие проги (большие, скажем, 2-4 килоайт) ради того, чтобы сэкономить еще "один байт". Смысл ужиматься? Не хватает памяти -- возьмите другой МК.
3. Как у Форта обстоят дела с многозадачностью? Можно-ли на нем написать event-driven ПО? (Уточняю -- событийно-управляемое ПО.) 1. Менее грамотные специалисты-программисты просто пишут скриптовый файл -- система их выполняет. Актуально на мой взгляд, сложно ли будет написать форт интерпретатор который кушает что-то типа DOSовских *.BAT файлов? 2. Вот действительно как оценить упаковку кода? Наверное имелось в виду то, что программа на Форте меньше занимает строк, слов, выражений Я правильно понимаю? 3.Вот этот вопрос меня действительно интересует! Есть в Форте механизмы параллельного исполнения? Или единственный вариант -- упаковывать все события в системе в одну большую очередь и обрабатывать их единственным интерпретатором. И напоследок ещё один вопрос! Есть ли где примеры того что на форте написан рельно работающий интерпретатор для embedded устройств. Интересует хотя бы такие вещи: 1.Чтение конфигурационных файлов для загрузчика -- на подобие синтаксиса GRUB или UBOOT 2.Интерпретация FTP команд embedded FTP сервером ?
--------------------
|
|
|
|
Сообщений в этой теме
Kopa Форт (Forth) и MSP430 для изучения Sep 20 2012, 15:31   Kopa Цитата(zhevak @ Sep 23 2012, 14:43) Вы ве... Sep 23 2012, 13:20    zhevak Цитата(Kopa @ Sep 23 2012, 19:20) На само... Sep 23 2012, 15:50     Kopa Цитата(zhevak @ Sep 23 2012, 19:50) Обыва... Sep 23 2012, 16:18      zhevak Цитата(Kopa @ Sep 23 2012, 22:18) А их (Ф... Sep 23 2012, 17:07       Kopa Цитата(zhevak @ Sep 23 2012, 21:07) И еще... Sep 23 2012, 17:52   MrYuran Цитата(zhevak @ Sep 23 2012, 14:43) Какая... Sep 24 2012, 05:33    MrYuran Цитата(SyncLair @ Oct 31 2012, 02:26) 2. ... Oct 31 2012, 06:38     shreck 2MrYuran
А чем закончились ваши отношения с Forpo... Oct 31 2012, 07:24      MrYuran Цитата(shreck @ Oct 31 2012, 11:24) А чем... Oct 31 2012, 07:50    Kopa Цитата(SyncLair @ Oct 31 2012, 02:26) 1. ... Oct 31 2012, 12:30     MrYuran Цитата(Kopa @ Oct 31 2012, 16:30) На MSP4... Nov 1 2012, 13:59      Kopa Цитата(MrYuran @ Nov 1 2012, 17:59) Цена ... Nov 1 2012, 16:19 Microwatt Есть в ФОРТе нечто особенное. То, что сейчас кроме... Sep 20 2012, 23:33 Kopa Цитата(Microwatt @ Sep 21 2012, 03:33) Вр... Sep 21 2012, 12:50 Bloom я тоже изучал в свое время форт, было очень интере... Sep 21 2012, 01:14 polyname ЦитатаНо пока, я в упор не вижу -- где можно испол... Sep 23 2012, 11:16 zhevak Спасибо за примеры, polyname.
Да, действительно, ... Sep 23 2012, 11:46 Kopa Цитата(zhevak @ Sep 23 2012, 14:43) Тепер... Sep 23 2012, 12:55  zhevak Цитата(Kopa @ Sep 23 2012, 18:55) @ ... Sep 23 2012, 16:33   Kopa Цитата(zhevak @ Sep 23 2012, 20:33) Извин... Sep 23 2012, 17:06    zhevak я безвылазно сижу в Лине. Так что "левые проц... Sep 23 2012, 17:14    ReAl Цитата(Kopa @ Sep 23 2012, 20:06) За свое... Sep 23 2012, 18:30 polyname ЦитатаОдин из вариантов, можно и оптимальнееда, эт... Sep 23 2012, 13:08 polyname ЦитатаЕсли бы в языке было что-то стоящее, то наве... Sep 23 2012, 17:11 rezident Обращаюсь к модераторам раздела публично, поскольк... Sep 24 2012, 11:48 Kopa Цитата(rezident @ Sep 24 2012, 15:48) Обр... Sep 24 2012, 12:13  rezident Цитата(Kopa @ Sep 24 2012, 17:13) Парадок... Sep 24 2012, 13:56 Виктория Наверно лучше перенести в "Операционные систе... Sep 25 2012, 16:16 Kopa Цитата(Виктория @ Sep 25 2012, 20:16) Нав... Sep 25 2012, 19:34  MrYuran Цитата(Kopa @ Sep 25 2012, 23:34) Фoрт та... Sep 26 2012, 05:10   Виктория Цитата(MrYuran @ Sep 26 2012, 08:10) Очен... Sep 26 2012, 11:19    MrYuran Цитата(Виктория @ Sep 26 2012, 15:19) - П... Sep 26 2012, 11:55    Kopa Цитата(Виктория @ Sep 26 2012, 15:19) Да ... Sep 26 2012, 11:56    Tanya Цитата(Виктория @ Sep 26 2012, 15:19) - П... Sep 26 2012, 12:05 Kopa Немного ссылок на презентации Форта.
Включены сла... Sep 26 2012, 17:32 Виктория Цитата(Kopa @ Sep 26 2012, 20:32) Немного... Sep 27 2012, 13:42  MrYuran Цитата(Виктория @ Sep 27 2012, 17:42) Спа... Sep 27 2012, 13:57  Kopa Цитата(Виктория @ Sep 27 2012, 17:42) Спа... Sep 27 2012, 13:58   Виктория Цитата(Kopa @ Sep 27 2012, 16:58) А зачем... Sep 27 2012, 14:48 polyname ЦитатаСтудент ввел строку программы и тут же запус... Sep 26 2012, 18:26 Kopa Цитата(polyname @ Sep 26 2012, 22:26) и к... Sep 26 2012, 18:36  MrYuran Цитата(Kopa @ Sep 26 2012, 22:36) Встреча... Sep 27 2012, 04:41   Kopa Цитата(MrYuran @ Sep 27 2012, 08:41) А сс... Sep 27 2012, 12:28 MrYuran Специально заказал TI Launchpad, чтобы попробовать... Oct 30 2012, 13:38 Timmy Моё мнение по исходному вопросу: основной рыночной... Oct 31 2012, 19:59 Kopa Цитата(Timmy @ Oct 31 2012, 22:59) Моё мн... Oct 31 2012, 20:22 SBE Добавлю свои пять копеек, как бывший пользователь ... Nov 2 2012, 14:55 Kopa Цитата(SBE @ Nov 2 2012, 17:55) Время Фор... Nov 2 2012, 18:52  zhevak Что-то я вообще потерял всякую логику.
Один говор... Nov 2 2012, 22:07 chu Цитата(SBE @ Nov 2 2012, 21:55) До сих по... Nov 4 2012, 06:02  Kopa Цитата(chu @ Nov 4 2012, 10:02) Рискну пр... Nov 4 2012, 23:55  SBE Цитата(chu @ Nov 4 2012, 10:02) Рискну пр... Nov 8 2012, 16:05   chu Цитата(SBE @ Nov 8 2012, 23:05) ИМХО поле... Nov 8 2012, 17:55    Kopa Цитата(chu @ Nov 8 2012, 20:55) Точка зре... Nov 9 2012, 12:00 Xenia Форт - детище ещё тех времен, когда ... экономили ... Nov 3 2012, 10:51 Kopa + Nov 3 2012, 11:46 Kopa Цитата(Xenia @ Nov 3 2012, 13:51) ...
... Nov 3 2012, 12:10  MrYuran Цитата(Kopa @ Nov 3 2012, 16:10) Например... Nov 9 2012, 13:37   Kopa Цитата(MrYuran @ Nov 9 2012, 17:37) Форт ... Nov 9 2012, 14:16   SBE Цитата(MrYuran @ Nov 9 2012, 17:37) Сравн... Nov 9 2012, 16:11   zhevak Цитата(MrYuran @ Nov 9 2012, 19:37) Знаю,... Nov 9 2012, 17:57 Kopa Цитата(Xenia @ Nov 3 2012, 13:51) Перспек... Nov 3 2012, 13:20  Xenia Цитата(Kopa @ Nov 3 2012, 15:46) +
Цитата... Nov 3 2012, 15:15 Kopa Цитата(Xenia @ Nov 3 2012, 14:51) Более т... Nov 3 2012, 15:15 Kopa Цитата(Xenia @ Nov 3 2012, 14:51) Форт - ... Nov 3 2012, 15:21 chu MrYuran, а 4e4th имеется в наличии только в виде ... Nov 9 2012, 14:24 Kopa Цитата(chu @ Nov 9 2012, 17:24) MrYuran, ... Nov 9 2012, 14:39  chu О! точно. Kopa, спасибо. Полезная, на первый в... Nov 9 2012, 15:33 Xenia Еще позволю себе запузырить камень в огород Форта ... Nov 9 2012, 15:39 chu Цитата(Xenia @ Nov 9 2012, 22:39) Да и са... Nov 9 2012, 16:54  SBE Цитата(chu @ Nov 9 2012, 20:54) А програм... Nov 9 2012, 20:56   zhevak Цитата(SBE @ Nov 10 2012, 02:56) "Ср... Nov 9 2012, 22:05    Kopa Цитата(zhevak @ Nov 10 2012, 02:05) +1
Фо... Nov 10 2012, 03:42     zhevak Цитата(Kopa @ Nov 10 2012, 09:42) Это тол... Nov 10 2012, 07:53      Kopa Цитата(zhevak @ Nov 10 2012, 11:53) Дак з... Nov 10 2012, 08:21      Kopa Цитата(zhevak @ Nov 10 2012, 11:53) Замеч... Nov 10 2012, 09:17       zhevak Цитата(Kopa @ Nov 10 2012, 14:57) Да, дей... Nov 10 2012, 09:20        Kopa Цитата(zhevak @ Nov 10 2012, 12:20) PDP11... Nov 10 2012, 09:54         zhevak Цитата(Kopa @ Nov 10 2012, 15:54) Сейчас ... Nov 10 2012, 16:14          Kopa Цитата(zhevak @ Nov 10 2012, 20:14) Ревну... Nov 10 2012, 17:17    chu Цитата(zhevak @ Nov 10 2012, 05:05) Форт ... Nov 10 2012, 07:12     zhevak Цитата(chu @ Nov 10 2012, 13:12) В 1971 г... Nov 10 2012, 08:33      chu Цитата(zhevak @ Nov 10 2012, 15:33) Конкр... Nov 10 2012, 18:00       Kopa Цитата(chu @ Nov 10 2012, 22:00) Я полнос... Nov 10 2012, 18:28        chu Цитата(Kopa @ Nov 11 2012, 01:28) ... и ж... Nov 10 2012, 18:40       ReAl Цитата(chu @ Nov 10 2012, 20:00) "В ... Nov 10 2012, 18:43   Kopa Цитата(SBE @ Nov 10 2012, 00:56) Не могу ... Nov 10 2012, 06:38 ReAl Вот вы тут спорте, спорите...
Десять и пятнадцать ... Nov 10 2012, 18:36 chu Цитата(ReAl @ Nov 11 2012, 01:36) Впрочем... Nov 10 2012, 19:20  ReAl Цитата(chu @ Nov 10 2012, 21:20) Могу под... Nov 10 2012, 19:38 Kopa Цитата(ReAl @ Nov 10 2012, 21:36) Впрочем... Nov 10 2012, 20:17  ReAl Цитата(Kopa @ Nov 10 2012, 22:17) Вариант... Nov 10 2012, 20:39   Kopa Цитата(ReAl @ Nov 10 2012, 23:39) Так что... Nov 10 2012, 21:48 chu http://oko-planet.su/finances/financesday/...nih-l... Nov 11 2012, 07:13 Kopa Цитата(chu @ Nov 11 2012, 11:13) Sorry, н... Nov 11 2012, 08:29
2 страниц
1 2 >
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|