Forth http://fforum.winglion.ru/ |
|
amForth залить в железку http://fforum.winglion.ru/viewtopic.php?f=39&t=2618 |
Страница 1 из 15 |
Автор: | Mechanic [ Пт июл 09, 2010 07:36 ] |
Заголовок сообщения: | amForth залить в железку |
Добрый день, уважаемые форумчане! Если у кого есть опыт использования amForth для AVR помогите советом как его скомпилировать правильно и залить в железо. Уже неоднократно пробовал компилировать разные версии 3.4, 3.7, 3.9 и все время возникает одна и та же ошибка после заливки. Распишу свои действия и может кто-то поправит: 1. Создаю проект в AVR Studio v4.17., коппилирую .asm, все проходит без ошибок: Segment Begin End Code Data Used Size Use% --------------------------------------------------------------- [.cseg] 0x000000 0x003f9e 1706 5936 7642 16384 46.6% [.dseg] 0x000060 0x000060 0 0 0 1024 0.0% [.eseg] 0x000000 0x000040 0 64 64 512 12.5% Assembly complete, 0 errors. 0 warnings 2. Получаю на выходе два файла, один для прошивки программы, второй для EEPROM. Заливаю оба в мегу16, подключаю к терминальной программе. При включении выводится надпись: amforth 3.9 ATmega16 > 3. Любые действия в интерпретирующем режиме работают нормально, то есть можно и дать команду words и сложить пару чисел, но как только пытаюсь скомпилировать любое определение в словарь даже пустое типа : aaaa ; сразу клинит и после этого на любой ввод команды выдает ошибки типа: ?? -13 8 пока снова не перезальешь. Помогите разобраться где собака зарыта ? В то же время когда залил готовую прошивку с сайта http://www.forth.cz/ все работает! |
Автор: | Гость [ Вт июл 13, 2010 16:01 ] |
Заголовок сообщения: | Re: amForth залить в железку |
Когда что то не получается - читай документацию :-) Выяснилось, что ядро форт системы состоит из двух частей которые грузятся в разные участки памяти микроконтроллера. Одна в область загрузчика (NRWW), а другая в общую память (RWW). Неправильно выставленные фьюзы при программировании не давали возможность выполнения функции самопрограммирования одной из областей! В итого все заработало в железе, подгрузил как было указано на форуме слово marker (спасибо за это). Поморгал уже светодиодами, подключил дисплей. Супер! Решил попробовать поэмулировать amforth 3.9 в Proteus и Mplab. В протеусе работает как интерпретатор. Самопрограммирование не работает.... В мплабе сразу вылетает с ошибкой. Может кто то моделировал удачно amforth в Proteus или Mplab ? |
Автор: | chu [ Пт сен 10, 2010 16:59 ] |
Заголовок сообщения: | Re: amForth залить в железку |
amforth 4.0 + AVR ATmega32 ( макет самопальный). Все прекрасно работает. Впечатления положительные. Uploader самописный ( SPF4). Подгрузил все библиотечные файлы.frt. > amforth 4.0 ATmega32 > .res free FLASH cells 7240 free RAM cells 1734 used EEPROM cells 64 used data stack cells 0 used return stack 10 free return stack 70 ok > Еще половина памяти свободна. Крутил моторчиками DC ( от старого магнитофона, драйверы - L293B) Крутил шаговик ДШИ-200 ( ключи - ULN2003) Через ШИМ управлял яркостью светодиода. Вывод: amforth замечательно подходит для ботостроителей ( собственно он и создавался с прицелом на Arduino, как я понял). Ассемблер и мультитаскер пока не шевелил. amForth 4.2 + AVR ATmega32 + шаговые двигатели http://roboforum.ru/forum58/topic4406-60.html |
Автор: | diver [ Чт фев 03, 2011 18:01 ] |
Заголовок сообщения: | Re: amForth залить в железку |
Вопрос на засыпку: может у меня руки не оттуда... но как вообще скомпилировать проект. хоть какой-ндь из примеров (или шаблон проекта) из AmForth? никак не могу подружить Amforth (версия 4.2) с AvrStudio (версия 4.18.684)? |
Автор: | chu [ Вс фев 06, 2011 12:55 ] |
Заголовок сообщения: | Re: amForth залить в железку |
AVR Studio 4.18.700 AVR ATmega32 @16MHz ... ...хм, а как файлик прикрепить ладно, положу на робофорум. фьюзы вложены. |
Автор: | undume [ Вс фев 06, 2011 17:33 ] |
Заголовок сообщения: | Re: amForth залить в железку |
2diver Попробуйте аврой (avra), у меня тоже студией не хотел собираться. |
Автор: | diver [ Вс фев 06, 2011 17:44 ] |
Заголовок сообщения: | Re: amForth залить в железку |
спасибо! попробую |
Автор: | Ilya [ Пт дек 23, 2011 19:00 ] |
Заголовок сообщения: | Re: amForth залить в железку |
Решил реализовать детскую мечту об управлении железкой - заказал Дурынду (Arduino набор для чайников (контроллер, макетка, резики, кондёры, проводочки, и т.п.)). Ессно, первым делом узнал, что можно запихнуть в Дурынду amForth!!! Какого мнения профессионалы по поводу: есть ли достоинства/преимущества/недостатки у amForth перед стандартным ЯП Arduino? |
Автор: | Kopa [ Пт дек 23, 2011 21:13 ] |
Заголовок сообщения: | Re: amForth залить в железку |
Ilya писал(а): Какого мнения профессионалы по поводу: есть ли достоинства/преимущества/недостатки у amForth перед стандартным ЯП Arduino? А разве чтение этого форума ничего не прояснило? Навскидку: Из плюсов аmForth: Форт находится в железке после его прошивки ничего больше прошивать не надо. циклы компиляция/проверка/отладка минимальны по длительности и необременительны и максимально итерактивны по используемому интерфейсу. доступ к периферии и опробация решений на ура:) очень компактный (много чего в ардуино можно накодить) существует готовый библиотечный код работы с периферией ассемблерный код для асма из проекта генерится утилитой g4.fs http://www.forth-ev.de/repos/g4 + стандартные возможности Форт языка. Возможные минусы amForth код на критических участках, скорее всего придётся писать на отличающемся ассемблере (скорее всего на самом простом ассемблере в стиле Форт) т.к. процедуры amForth , могут не дать необходимой скорости отработки программы. Понадобится знание архитектуры и возможностей AVR что впрочем узнаётся в процессе. использование Форт языка с непривычным синтаксисом и возможным непониманием его сильных сторон. Какие ещё плюсы|минусы в amForth можно сказать рассмотрев его более детально. аmForth не единственный Форт доступный для AVR, но наиболее популярный и поддержанный пользователями. P.S. Какой контроллер у заказанного "бедуина". |
Автор: | Ilya [ Пт дек 23, 2011 21:53 ] |
Заголовок сообщения: | Re: amForth залить в железку |
Kopa писал(а): А разве чтение этого форума ничего не прояснило? Навскидку: Из плюсов аmForth: Форт находится в железке после его прошивки ничего больше прошивать не надо. .....кусь.... Какие ещё плюсы|минусы в amForth можно сказать рассмотрев его более детально. аmForth не единственный Форт доступный для AVR, но наиболее популярный и поддержанный пользователями. P.S. Какой контроллер у заказанного "бедуина". 1) Контроллер - ATmega328 (серия UNO). Из минусов: 2) а разве уже реализованы все (может все и нафиг не нужны!) "либы" из арудиновской.студии? 3) Не силён в англицком, но понял, что потребуется заменить "бутлоадер" на amForth + докупить (или спаять) для этой цели программатор!? |
Автор: | Kopa [ Сб дек 24, 2011 10:05 ] |
Заголовок сообщения: | Re: amForth залить в железку |
Ilya писал(а): 1) Контроллер - ATmega328 (серия UNO). Основных ресурсов Flash - 32К, ОЗУ - 2К должно хватить для комфортного использования Форт Ilya писал(а): Из минусов: 2) а разве уже реализованы все (может все и нафиг не нужны!) "либы" из арудиновской.студии? Возможно и не реализованы, но это можно решить разными вариантами:) по мере определения потребностей и существующих возможных решений. Ilya писал(а): 3) Не силён в англицком, но понял, что потребуется заменить "бутлоадер" на amForth + докупить (или спаять) для этой цели программатор!? Для заливки кода должно хватить имеющейся микросхемы USB-FTDI Программатор может потребоваться в особо тяжёлых случаях а на той же FTDI есть простой вариант создания JTAG отладчика. |
Автор: | Ilya [ Сб дек 24, 2011 22:14 ] |
Заголовок сообщения: | Re: amForth залить в железку |
Kopa писал(а): Абревиатуры вполне обычные, а начинающий это не диагноз:) Насколько начинающий и в чём. Для начинающих можно и вводную написать по интересующим вопросам. Электроникой владел в своё время и даже собрал Орион-128 (в своё время, конец 80-х) и даже отремонтировал "сожжённый" по питанию Синклер (выгорел проц Z80, часть памяти, и часть "логики"), а уж пайке меня обучили профессионально - в ПТУ! Мануал - дело хорошее! Планирую в будущем внедрить "умность" в строящийся дом (строю сам). Соответственно (если перейти на amForth): 1) взаимодействие с GSM модулем 2) POP&SMTP - тут проще (в своё время, я реализовал часть протокола SMTP под nnCron) 3) и самое главное! как залить amForth в Arduino!!! |
Автор: | Kopa [ Сб дек 24, 2011 23:14 ] |
Заголовок сообщения: | Re: amForth залить в железку |
Ilya писал(а): Соответственно (если перейти на amForth): 1) взаимодействие с GSM модулем Общая стратегия (т.к. GSM модулем не использовал) Посмотреть используемые модули в различных открытых устройствах, найти в i-net спецификации на эти модули, узнать/оценить мнение на сайтах разработчиков электроники (например на electronix.ru и др.), оценить доставаемость (может проще использовать из(в) существующем устройстве если по данному модулю достаточно информации), посмотреть уже варианты готовых решений (например с Фортом есть ES-Logic GSM контроллеры автоматизации умного дома) и.т.д. а дальше по обстоятельствам. например купить готовый модуль для Аrduino, если он поддержан библиотечно и с ним дальше работать (если с Фортом то тоже существуют Варианты - на компиляторе Aduino написать ФортМашину для интеграции с библиотекой и генерировать для компилятора подключаемый массив байт кода или в других вариантах) ... Ilya писал(а): 3) и самое главное! как залить amForth в Arduino!!! Самое простое использовать программатор (программу программирования контроллеров их куча Poni-Prog и др.) Например можно использовать если есть последовательный или параллельный порты и заливать по SPI протоколу (мну заливал образ Флеш через LPT в форт среде ff303) amForth (для аrduino) скорее всего заливает образ через API соответствующего USB драйвера а boot область уже имеет соответствующий загрузчик. FTDI 232 позволяет и управлять выходными "пинами" последовательного интерфейса. P.S. Что то прояснилось? |
Автор: | Ilya [ Пт дек 30, 2011 22:06 ] |
Заголовок сообщения: | Re: amForth залить в железку |
Kopa писал(а): Ilya писал(а): 3) и самое главное! как залить amForth в Arduino!!! Самое простое использовать программатор (программу программирования контроллеров их куча Poni-Prog и др.) Например можно использовать если есть последовательный или параллельный порты и заливать по SPI протоколу ......... FTDI 232 позволяет и управлять выходными "пинами" последовательного интерфейса. P.S. Что то прояснилось? Железяка уже в руках и "прояснилось" многое!!! 1) Стандартный ЯП Wiring - простенький, удобненький + кучка всяких либ, НО, он не ФОРТ!!! Побаловался пару часиков - поморгал светиками, обработал нажатия кнопок, ... и решил залить Сабж... 2) В моём варианте UNO r3 - уже и в помине нет FTDI 232, а есть atmega16u2 с DFU-mode. Курю иноязычные мануалы: устанавливаю avr-скую студию, удаётся скомпилить amForth 4.6, устанавливаю dfu-programmer (сижу под Arch-ем), пытаюсь залить полученный .hex а прога не видит устройства!? 3) Качаю исходники dfu-programmer (стоковый не поддерживает 16u2) и слегка корректирую исходник, компилю и могу залить фирменный bootloader, а amForth - ФИГУ!!! Благо в компе есть LPT-порт - буду паять "lpt-programmer", если не получиться прошить через него, то буду заказывать ICSP-программатор. |
Автор: | Гость [ Пн янв 02, 2012 22:31 ] |
Заголовок сообщения: | Re: amForth залить в железку |
Ilya писал(а): ... если не получиться прошить через него, то буду заказывать ICSP-программатор. Посмотрите ещё на загрузчик от chu http://roboforum.ru/forum58/topic4406-60.html в последних сообщениях данного топика. |
Страница 1 из 15 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |