Kopa 0 13 мая, 2009 Опубликовано 13 мая, 2009 (изменено) · Жалоба Я всего лишь писал приложение (для AT90S8515) на базе того, что было на тот момент в TinyBoot. Потом, пытался переписать всё на С под IAR, но не влез в доступную flash. В TinyBoot, если не принимать дополнительных действий ( по сокращению ядра ), неиспользуемая часть ядра не убирается из созданного flash образа ( это не сильно давило или использовался в большей степени внутренний ассемблер системы? ) P.S. Частично думаю, управлять этим можно, если использовать возможности байт-кода в системе или иметь реализацию генерации с шитым кодом вместо нативного. Оптимизатор Форт кода в tb в целом слабый. Изменено 13 мая, 2009 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 27 13 мая, 2009 Опубликовано 13 мая, 2009 · Жалоба А файлы описания камней тоже все перепахивать придётся #define x y придётся заменять на : x y; а может и похитрее как-нето Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 13 мая, 2009 Опубликовано 13 мая, 2009 (изменено) · Жалоба А файлы описания камней тоже все перепахивать придётся #define x y придётся заменять на : x y; а может и похитрее как-нето Лучше с использованием слова asmlabel, для того чтобы константы, по ненадобности не попали в целевой образ, а остались в builder зоне. ( ещё см файл alabavrm.ff ) P.S. Простую поддержку #define можно добавить т.к. это не сложно:) но возможно потребуется перекомпиляция исходного ядра системы. ( опыт был при расширении системы описания констант битами и добавлении поддержки более полноценных макросов ) есть подводные камни ( т.к. не любой версией win32forth проект соберётся, но как же без трудностей:) Изменено 13 мая, 2009 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 27 14 мая, 2009 Опубликовано 14 мая, 2009 · Жалоба Блин, вот же зараза... Я теперь по ночам спать спокойно не могу! И на си глядеть тоже... Всё мерещится типа "а вот этот кусок можно было парой слов написать"! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 14 мая, 2009 Опубликовано 14 мая, 2009 (изменено) · Жалоба Блин, вот же зараза... Я теперь по ночам спать спокойно не могу! И на си глядеть тоже... Всё мерещится типа "а вот этот кусок можно было парой слов написать"! Поздравляю. "Форт-вирус" проник в Ваше сознание:) P.S. На си я гляжу спокойнее, но мыслить при программировании, в рамках Форт базиса, почему то комфортнее ( и даже необходимость использования стека не особо замечаешь:) Приятного чтения второй книги Броуди " Способ мышления Форт" ( Thinking Forth ) Изменено 14 мая, 2009 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
chu 0 14 мая, 2009 Опубликовано 14 мая, 2009 · Жалоба Вот кой-чего по МСП нашёл, но товарищи хотят ... 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 27 14 мая, 2009 Опубликовано 14 мая, 2009 · Жалоба Приятного чтения второй книги Броуди " Способ мышления Форт" ( Thinking Forth ) Вот это вещь! Вот с чего надо начинать изучать программирование, а не с "С++ для начинающих"! я уж молчу про васик... Чему только студентов учат... Да... и не стоит писать по-русски, даже если есть такая возможность. ЗЕЛЁНЫЙ ЯБЛОКИ - не звучит... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 14 мая, 2009 Опубликовано 14 мая, 2009 · Жалоба В TinyBoot, если не принимать дополнительных действий ( по сокращению ядра ), неиспользуемая часть ядра не убирается из созданного flash образа ( это не сильно давило или использовался в большей степени внутренний ассемблер системы? ) Естественно, давило, ибо флеши не так много. И, естественно, пришлось повыкидывать много лишнего и на внутреннем ассемблере кое-что написать. Но не думаю, что это можно назвать развитием. PS Понравилась ещё одна фича. Программу на форте можно держать во внешней флеши и оттуда же исполнять, что в случае с AVR, который может исполнять нативный код только из внутренней флеши, довольно большое преимущество. Да... и не стоит писать по-русски, даже если есть такая возможность. ЗЕЛЁНЫЙ ЯБЛОКИ - не звучит... А как бы Вы отнеслись к слову ПОЧТИ, проверяющему значение на попадание в диапазон? :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mOleg 0 14 мая, 2009 Опубликовано 14 мая, 2009 · Жалоба на всякий случай кину ссылочку на статьи, посвященные Форту Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 27 14 мая, 2009 Опубликовано 14 мая, 2009 · Жалоба PS Понравилась ещё одна фича. Программу на форте можно держать во внешней флеши и оттуда же исполнять И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат. Я так делал с плисами xilinx. Подправил проект, залил на флешку, пошел на комплекс, воткнул на ходу, посмотрел, не понравилось - пошёл опять править. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Corvinus 0 14 мая, 2009 Опубликовано 14 мая, 2009 · Жалоба Вчера полдня читал книжку, в которой плавающая точка гневно осуждается, а вместо неё рекомендуется применять операцию масштабирования */ и фиксированную двоичную точку. А что это за книжка? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mak4444 0 14 мая, 2009 Опубликовано 14 мая, 2009 · Жалоба Цитата P.S. Требуемую функциональнось Форта для MSP можно сделать своими силами. Это я уже понял, как глянул на исходник инлайн -ассемблера Однако, как всегда, хочется готовое что-то найти, чтобы не изобретать велосипед. Распределенная форт-система. Представление удаленного контроллере в виде виртуального адресного пространства. http://fpauk.narod.ru/spmfor.1.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IgorKossak 0 14 мая, 2009 Опубликовано 14 мая, 2009 · Жалоба И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат. Я имел в виду внешнюю параллельную память на шине МК, а не USB flash. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 15 мая, 2009 Опубликовано 15 мая, 2009 (изменено) · Жалоба А что это за книжка? Про использование фиксированной точки? Скорее всего Броуди " Введение в Форт" ( там ещё приведена небольшая таблица некоторых математических констант для использования с операцией масштабирования */ ) И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат. Похожая методика "Последовательное проектирование и отладка микропроцессорных систем управления " Один из вариантов использовать сервис байт-кодов с исполнением из ОЗУ ( возможно придётся немного подправить систему) В tinyboot есть возможности по исполнению кода через терминальный канал, и загрузка предкомпилированного байт-кода к основному коду во flash. ( возможность стирания кода во flash тоже должна существовать ) т.к. при создании ядра есть возможность указать создания кода с возможностью векторизации ( хранение в таблице ОЗУ адресов примитивов и инициализация её при старте) директивы static и dynamic то можно по мере необходимиости в Runtime подменять адреса переходов или наполнять заданное слово необходимым содержанием:) Интересная статья по похожему применеию Д.В.Рагозин "ЭКОНОМИЧНЫЙ ИНТЕРПРЕТАТОР ДЛЯ УЗЛОВ СЕНСОРНОЙ СЕТИ" Я имел в виду внешнюю параллельную память на шине МК, а не USB flash. Если в контроллере есть USB, то по его каналу тоже можно организовать сервис "удалённого" исполнения и загрузки команд:) Изменено 15 мая, 2009 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 27 15 мая, 2009 Опубликовано 15 мая, 2009 · Жалоба Я имел в виду внешнюю параллельную память на шине МК, а не USB flash. Да не USB, а типа атмеловской AT17 Ещё лучше SD/MMC В общем, есть над чем подумать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться