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

А вот бы на FORTH написать...

Я всего лишь писал приложение (для AT90S8515) на базе того, что было на тот момент в TinyBoot. Потом, пытался переписать всё на С под IAR, но не влез в доступную flash.

 

В TinyBoot, если не принимать дополнительных действий ( по сокращению ядра ),

неиспользуемая часть ядра не убирается из созданного flash образа

( это не сильно давило или использовался в большей степени внутренний ассемблер системы? )

 

P.S. Частично думаю, управлять этим можно, если использовать возможности байт-кода в системе

или иметь реализацию генерации с шитым кодом вместо нативного.

Оптимизатор Форт кода в tb в целом слабый.

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

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


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

А файлы описания камней тоже все перепахивать придётся

#define x y придётся заменять на : x y; а может и похитрее как-нето

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


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

А файлы описания камней тоже все перепахивать придётся

#define x y придётся заменять на : x y; а может и похитрее как-нето

 

Лучше с использованием слова asmlabel, для того чтобы константы,

по ненадобности не попали в целевой образ, а остались в builder зоне.

( ещё см файл alabavrm.ff )

 

P.S. Простую поддержку #define можно добавить т.к. это не сложно:)

но возможно потребуется перекомпиляция исходного ядра системы.

( опыт был при расширении системы описания констант битами и

добавлении поддержки более полноценных макросов )

есть подводные камни

( т.к. не любой версией win32forth проект соберётся, но как же без трудностей:)

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

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


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

Блин, вот же зараза...

Я теперь по ночам спать спокойно не могу!

И на си глядеть тоже...

Всё мерещится типа "а вот этот кусок можно было парой слов написать"!

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


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

Блин, вот же зараза...

Я теперь по ночам спать спокойно не могу!

И на си глядеть тоже...

Всё мерещится типа "а вот этот кусок можно было парой слов написать"!

 

Поздравляю. "Форт-вирус" проник в Ваше сознание:)

 

P.S. На си я гляжу спокойнее, но мыслить при программировании, в рамках Форт базиса,

почему то комфортнее ( и даже необходимость использования стека не особо замечаешь:)

Приятного чтения второй книги Броуди " Способ мышления Форт" ( Thinking Forth )

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

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


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

Вот кой-чего по МСП нашёл, но товарищи хотят ...

 

CamelForth for the Texas Instruments MSP430 © 2009 Bradford J. Rodriguez.

 

http://www.camelforth.com/page.php?8 This is an ALPHA TEST version of CamelForth/430, an ANSI Standard* Forth for the Texas Instruments MSP430 family of microprocessors. Version 0.2 - 9 January 2009

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


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

Приятного чтения второй книги Броуди " Способ мышления Форт" ( Thinking Forth )

Вот это вещь!

Вот с чего надо начинать изучать программирование, а не с "С++ для начинающих"!

я уж молчу про васик...

Чему только студентов учат...

 

Да... и не стоит писать по-русски, даже если есть такая возможность.

ЗЕЛЁНЫЙ ЯБЛОКИ - не звучит...

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


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

В TinyBoot, если не принимать дополнительных действий ( по сокращению ядра ),

неиспользуемая часть ядра не убирается из созданного flash образа

( это не сильно давило или использовался в большей степени внутренний ассемблер системы? )

Естественно, давило, ибо флеши не так много. И, естественно, пришлось повыкидывать много лишнего и на внутреннем ассемблере кое-что написать. Но не думаю, что это можно назвать развитием.

 

PS Понравилась ещё одна фича. Программу на форте можно держать во внешней флеши и оттуда же исполнять, что в случае с AVR, который может исполнять нативный код только из внутренней флеши, довольно большое преимущество.

 

Да... и не стоит писать по-русски, даже если есть такая возможность.

ЗЕЛЁНЫЙ ЯБЛОКИ - не звучит...

А как бы Вы отнеслись к слову ПОЧТИ, проверяющему значение на попадание в диапазон? :rolleyes:

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


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

PS Понравилась ещё одна фича. Программу на форте можно держать во внешней флеши и оттуда же исполнять

И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат.

 

Я так делал с плисами xilinx. Подправил проект, залил на флешку, пошел на комплекс, воткнул на ходу, посмотрел, не понравилось - пошёл опять править.

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


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

Вчера полдня читал книжку, в которой плавающая точка гневно осуждается, а вместо неё рекомендуется применять операцию масштабирования */ и фиксированную двоичную точку.

А что это за книжка?

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


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

Цитата

P.S. Требуемую функциональнось Форта для MSP можно сделать своими силами.

 

Это я уже понял, как глянул на исходник инлайн -ассемблера

Однако, как всегда, хочется готовое что-то найти, чтобы не изобретать велосипед.

 

 

Распределенная форт-система. Представление удаленного контроллере в виде виртуального

адресного пространства. http://fpauk.narod.ru/spmfor.1.rar

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


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

И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат.

Я имел в виду внешнюю параллельную память на шине МК, а не USB flash.

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


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

А что это за книжка?

 

Про использование фиксированной точки? Скорее всего Броуди " Введение в Форт"

( там ещё приведена небольшая таблица некоторых математических

констант для использования с операцией масштабирования */ )

 

 

И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат.

 

Похожая методика "Последовательное проектирование и отладка микропроцессорных систем управления "

 

Один из вариантов использовать сервис байт-кодов с исполнением из ОЗУ

( возможно придётся немного подправить систему)

 

В tinyboot есть возможности по исполнению кода через терминальный канал,

и загрузка предкомпилированного байт-кода к основному коду во flash.

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

 

т.к. при создании ядра есть возможность указать создания кода с возможностью

векторизации ( хранение в таблице ОЗУ адресов примитивов и инициализация её при старте)

директивы static и dynamic то можно по мере необходимиости в Runtime подменять адреса

переходов или наполнять заданное слово необходимым содержанием:)

 

Интересная статья по похожему применеию Д.В.Рагозин "ЭКОНОМИЧНЫЙ ИНТЕРПРЕТАТОР ДЛЯ УЗЛОВ СЕНСОРНОЙ СЕТИ"

 

Я имел в виду внешнюю параллельную память на шине МК, а не USB flash.

 

Если в контроллере есть USB, то по его каналу тоже можно организовать

сервис "удалённого" исполнения и загрузки команд:)

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

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


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

Я имел в виду внешнюю параллельную память на шине МК, а не USB flash.

Да не USB, а типа атмеловской AT17

Ещё лучше SD/MMC

В общем, есть над чем подумать

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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