Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 16:30

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 151 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 11  След.
Автор Сообщение
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Вт янв 17, 2012 16:03 
Не в сети
Аватара пользователя

Зарегистрирован: Чт апр 26, 2007 21:09
Сообщения: 303
Благодарил (а): 12 раз.
Поблагодарили: 10 раз.
chess писал(а):
Wlad писал(а):
Я прошу прощения, что вклиниваюсь!
А кто-нибудь встречал реализации FORTH-а для XMega ?

Так там AVR Core CPU, поэтому любой форт под AVR пойдет. Разве что про периферию надо немного дописать. :)

А с "таблицей векторов прерываний" (в смысле размера адресов) ничего разве "шаманить" не надо?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Вт янв 17, 2012 16:05 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
oco писал(а):
Но конечно, закиньте ошибки на форум, посмотрю.

Ошибки из серии странных
Код:
THERE isn't unique
Exception #-2003 at: lib/ds1307.spf:2:3:
eg
    _DS1307_start_write DROP
    SWAP I2C_WRITE_DROP 
    I2C_WRITE_DROP 
    I2C_STOP
;

: DS1307_INIT ( -- 0
^ -2003 WORD OR FILE NOT FOUND

Например, начинаешь убирать комментарии в коде, ошибка
указывает на другое место. (возможно размера внутреннего стека не хватает? если есть переполнение) Использую один из последних spf4.

P.S. В коде примеров, в одном месте заметил, два раза использование ; ( на одной и другой строчке возможно опечатка
и вроде некритична)
для AVR вспоминается byteForth (можно взять некоторые идеи
и библиотеки). Есть ещё в виде прошивок (avise43 и др.). Общие библиотеки (работа с FAT16, SD и др, также можно брать из других проектов на Форте). Можно прицепить и транслятор арфметических выражений.

P.S. Для ХMega придётся допиливать (для использования введённых архитектурных особенностей) понравившийся вариант Форта.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Вт янв 17, 2012 16:08 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Wlad писал(а):
А с "таблицей векторов прерываний" (в смысле размера адресов) ничего разве "шаманить" не надо?


С этим должно быть меньше всего заморочек.
xMega более продвинутая архитектура по введённым возможностям:)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Вт янв 17, 2012 16:18 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Для выкидывания лишнего кода имеет смысл доработать
сам spf т.к. данный код проекта "интегрируется" с spf.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Вт янв 17, 2012 17:04 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Mihail писал(а):
Kopa писал(а):
Ошибки из серии странных



Под Windows, что бы не заморачиваться с командной строкой, правлю файл avrforth.spf
из проекта (для INCLUDED вставляю имена файлов, предварительно убрав лишний код) и его компилю.
(ещё преобразовал файлы в 1251 кодировку для читаемости)

P.S. Вроде spf воспринимает и разделители 0xA 0xA нормально
и TAB?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Вт янв 17, 2012 18:20 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Kopa писал(а):
Вроде spf воспринимает и разделители 0xA 0xA нормально


Запускай
spf4.exe UNIX-LINES AVRFORTH.spf
И новый spf4


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Вт янв 17, 2012 19:01 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
Mihail писал(а):
Kopa писал(а):
Вроде spf воспринимает и разделители 0xA 0xA нормально


Запускай
spf4.exe UNIX-LINES AVRFORTH.spf
И новый spf4


С этой опцией примеры проекта нормально собрались (bin и hex файлы идентичны), только в LST файле есть отличия (наверное не принципиальные)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Ср янв 18, 2012 01:19 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Kopa писал(а):
P.S. В коде примеров, в одном месте заметил, два раза использование ; ( на одной и другой строчке возможно опечатка
и вроде некритична)

Не могли бы указать, где?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Ср янв 18, 2012 01:23 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Рад, что работает не только у меня :)

Kopa писал(а):
Mihail писал(а):
Запускай: spf4.exe UNIX-LINES AVRFORTH.spf
И новый spf4

С этой опцией примеры проекта нормально собрались (bin и hex файлы идентичны), только в LST файле есть отличия (наверное не принципиальные)


Как это bin и hex файлы идентичны? идентичны с чем?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Ср янв 18, 2012 01:32 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
chess писал(а):
oco писал(а):
Я думал сделать так: компилируем текущее определение не в целевую память, а куда-то отдельно, если встречаем незнакомые слова, то компилируем их в целевую память одно за другим, а затем переносим текущее определение в целевую память.

В таком варианте придется перенос текущего определения в целевую память делать с правкой адресных смещений в коде для кода содержащего структуры управления. Поэтому я от такого варианта и воздержался.

Вот тут подумал: управляющие структуры находятся в пределах одного определения, то есть относительные адреса не поменяются при переносе кода этого определения. Надо будет только переопределить смещения для rcall (вызов других определений), а это просто.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Ср янв 18, 2012 16:31 
Не в сети
Moderator
Moderator

Зарегистрирован: Ср май 10, 2006 15:37
Сообщения: 1132
Откуда: Chelyabinsk ( Ural)
Благодарил (а): 0 раз.
Поблагодарили: 9 раз.
oco писал(а):
Kopa писал(а):
P.S. В коде примеров, в одном месте заметил, два раза использование ; ( на одной и другой строчке возможно опечатка
и вроде некритична)

Не могли бы указать, где?


В файле tst_lcd.spf (слово .TRIPLE)

P.S. Идентичны - не отличаются от варианта в архиве.
lst имеет отличие в выводимых названиях некоторых слов (для
Linux и Windows внутренние слова, возможно не согласованы)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Ср янв 18, 2012 17:28 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Kopa писал(а):
В файле tst_lcd.spf (слово .TRIPLE)

Действительно, 2 раза, спасибо!
На самом деле ничего страшного, просто в конце два раза скомпилируется ret


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Пт фев 24, 2012 04:36 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
Потихоньку дорабатываю AVRForth. Что нового:
! исправлены ошибки
+ используются команды, специфичные для конкретного контроллера (по возможности): movw - работает, mul - работает
+ в словах IN, OUT, |=, &=~, != по возможности используются команды in, out
+ слова ['], '
! в EERTOS исправлены неточные временные интервалы для mega8
Скачать можно здесь: http://compas.com.ua/oco/file/avrforth0.2.tar.gz
К сожалению, автоматическое добавление в прошивку только используемых слов пока не реализовано.
Реально прошивка clock.spf.hex используется в моих настольных часах :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Пт фев 24, 2012 11:39 
oco писал(а):
Потихоньку дорабатываю AVRForth.

Отличная новость.
Какие еще задачи планируются к решению?
В рамках связки AVR Форта с Proteus может быть создан неплохой учебный материал:)


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Очередной AVRForth
СообщениеДобавлено: Пт фев 24, 2012 14:22 
Не в сети

Зарегистрирован: Ср май 10, 2006 13:51
Сообщения: 202
Благодарил (а): 3 раз.
Поблагодарили: 4 раз.
В планах:
- добить автовключение нужных слов
- добавить еще контроллеров
- могу написать инструкцию и статью по разработке кросс-транслятора
Какие еще предложения будут?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 151 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 11  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB