|
|
  |
А вот бы на FORTH написать..., ;-) |
|
|
|
May 13 2009, 11:11
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(IgorKossak @ May 13 2009, 14:22)  Я всего лишь писал приложение (для AT90S8515) на базе того, что было на тот момент в TinyBoot. Потом, пытался переписать всё на С под IAR, но не влез в доступную flash. В TinyBoot, если не принимать дополнительных действий ( по сокращению ядра ), неиспользуемая часть ядра не убирается из созданного flash образа ( это не сильно давило или использовался в большей степени внутренний ассемблер системы? ) P.S. Частично думаю, управлять этим можно, если использовать возможности байт-кода в системе или иметь реализацию генерации с шитым кодом вместо нативного. Оптимизатор Форт кода в tb в целом слабый.
Сообщение отредактировал Kopa - May 13 2009, 11:21
|
|
|
|
|
May 13 2009, 11:39
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(MrYuran @ May 13 2009, 15:29)  А файлы описания камней тоже все перепахивать придётся #define x y придётся заменять на : x y; а может и похитрее как-нето Лучше с использованием слова asmlabel, для того чтобы константы, по ненадобности не попали в целевой образ, а остались в builder зоне. ( ещё см файл alabavrm.ff ) P.S. Простую поддержку #define можно добавить т.к. это не сложно  но возможно потребуется перекомпиляция исходного ядра системы. ( опыт был при расширении системы описания констант битами и добавлении поддержки более полноценных макросов ) есть подводные камни ( т.к. не любой версией win32forth проект соберётся, но как же без трудностей
Сообщение отредактировал Kopa - May 13 2009, 11:41
|
|
|
|
|
May 14 2009, 10:07
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(MrYuran @ May 14 2009, 12:57)  Блин, вот же зараза... Я теперь по ночам спать спокойно не могу! И на си глядеть тоже... Всё мерещится типа "а вот этот кусок можно было парой слов написать"! Поздравляю. "Форт-вирус" проник в Ваше сознание P.S. На си я гляжу спокойнее, но мыслить при программировании, в рамках Форт базиса, почему то комфортнее ( и даже необходимость использования стека не особо замечаешь  Приятного чтения второй книги Броуди " Способ мышления Форт" ( Thinking Forth )
Сообщение отредактировал Kopa - May 14 2009, 10:10
|
|
|
|
|
May 14 2009, 10:16
|

Частый гость
 
Группа: Участник
Сообщений: 95
Регистрация: 13-12-07
Пользователь №: 33 246

|
Цитата Вот кой-чего по МСП нашёл, но товарищи хотят ... 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
|
|
|
|
|
May 14 2009, 13:12
|

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

|
Цитата(Kopa @ May 14 2009, 14:07)  Приятного чтения второй книги Броуди " Способ мышления Форт" ( Thinking Forth ) Вот это вещь! Вот с чего надо начинать изучать программирование, а не с "С++ для начинающих"! я уж молчу про васик... Чему только студентов учат... Да... и не стоит писать по-русски, даже если есть такая возможность. ЗЕЛЁНЫЙ ЯБЛОКИ - не звучит...
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
May 14 2009, 14:27
|

Шаман
     
Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221

|
Цитата(Kopa @ May 13 2009, 14:11)  В TinyBoot, если не принимать дополнительных действий ( по сокращению ядра ), неиспользуемая часть ядра не убирается из созданного flash образа ( это не сильно давило или использовался в большей степени внутренний ассемблер системы? ) Естественно, давило, ибо флеши не так много. И, естественно, пришлось повыкидывать много лишнего и на внутреннем ассемблере кое-что написать. Но не думаю, что это можно назвать развитием. PS Понравилась ещё одна фича. Программу на форте можно держать во внешней флеши и оттуда же исполнять, что в случае с AVR, который может исполнять нативный код только из внутренней флеши, довольно большое преимущество. Цитата(MrYuran @ May 14 2009, 16:12)  Да... и не стоит писать по-русски, даже если есть такая возможность. ЗЕЛЁНЫЙ ЯБЛОКИ - не звучит... А как бы Вы отнеслись к слову ПОЧТИ, проверяющему значение на попадание в диапазон?
|
|
|
|
|
May 14 2009, 16:06
|
Группа: Новичок
Сообщений: 2
Регистрация: 23-03-08
Пользователь №: 36 169

|
|
|
|
|
|
May 14 2009, 16:34
|

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

|
Цитата(IgorKossak @ May 14 2009, 18:27)  PS Понравилась ещё одна фича. Программу на форте можно держать во внешней флеши и оттуда же исполнять И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат. Я так делал с плисами xilinx. Подправил проект, залил на флешку, пошел на комплекс, воткнул на ходу, посмотрел, не понравилось - пошёл опять править.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
May 14 2009, 17:11
|
Частый гость
 
Группа: Участник
Сообщений: 153
Регистрация: 16-06-07
Из: Армения
Пользователь №: 28 476

|
Цитата(MrYuran @ May 13 2009, 14:50)  Вчера полдня читал книжку, в которой плавающая точка гневно осуждается, а вместо неё рекомендуется применять операцию масштабирования */ и фиксированную двоичную точку. А что это за книжка?
|
|
|
|
|
May 14 2009, 19:12
|
Группа: Новичок
Сообщений: 2
Регистрация: 14-05-09
Пользователь №: 49 087

|
Цитата(MrYuran @ May 13 2009, 11:16)  Цитата P.S. Требуемую функциональнось Форта для MSP можно сделать своими силами.
Это я уже понял, как глянул на исходник инлайн -ассемблера Однако, как всегда, хочется готовое что-то найти, чтобы не изобретать велосипед. Распределенная форт-система. Представление удаленного контроллере в виде виртуального адресного пространства. http://fpauk.narod.ru/spmfor.1.rar
|
|
|
|
|
May 15 2009, 03:27
|
Знающий
   
Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861

|
Цитата(Арташес @ May 14 2009, 20:11)  А что это за книжка? Про использование фиксированной точки? Скорее всего Броуди " Введение в Форт" ( там ещё приведена небольшая таблица некоторых математических констант для использования с операцией масштабирования */ ) Цитата(MrYuran @ May 14 2009, 19:34)  И как это осуществить? Очень интересное решение, особенно на макете. вместо того чтобы таскать туда-сюда для перепрошивки, взял, воткнул флешку и посмотрел результат. Похожая методика "Последовательное проектирование и отладка микропроцессорных систем управления " Один из вариантов использовать сервис байт-кодов с исполнением из ОЗУ ( возможно придётся немного подправить систему) В tinyboot есть возможности по исполнению кода через терминальный канал, и загрузка предкомпилированного байт-кода к основному коду во flash. ( возможность стирания кода во flash тоже должна существовать ) т.к. при создании ядра есть возможность указать создания кода с возможностью векторизации ( хранение в таблице ОЗУ адресов примитивов и инициализация её при старте) директивы static и dynamic то можно по мере необходимиости в Runtime подменять адреса переходов или наполнять заданное слово необходимым содержанием  Интересная статья по похожему применеию Д.В.Рагозин "ЭКОНОМИЧНЫЙ ИНТЕРПРЕТАТОР ДЛЯ УЗЛОВ СЕНСОРНОЙ СЕТИ" Цитата(IgorKossak @ May 14 2009, 22:21)  Я имел в виду внешнюю параллельную память на шине МК, а не USB flash. Если в контроллере есть USB, то по его каналу тоже можно организовать сервис "удалённого" исполнения и загрузки команд
Сообщение отредактировал Kopa - May 15 2009, 03:51
|
|
|
|
|
May 15 2009, 04:41
|

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

|
Цитата(IgorKossak @ May 14 2009, 23:21)  Я имел в виду внешнюю параллельную память на шине МК, а не USB flash. Да не USB, а типа атмеловской AT17 Ещё лучше SD/MMC В общем, есть над чем подумать
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|