Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср дек 12, 2018 03:27

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 219 ]  На страницу Пред.  1 ... 11, 12, 13, 14, 15
Автор Сообщение
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Пн мар 16, 2015 11:05 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 224
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
KPG писал(а):
...
Не понятно как в macros.asm in_ out_ влияют на появление ошибок для atmega64 ...

я в файле ...\core\words\no-jtag.asm сделал так
Код:
; ( -- )
; MCU
; disable jtag at runtime
VE_NOJTAG:
    .dw $FF05
    .db "-jtag",0
    .dw VE_HEAD
    .set VE_HEAD = VE_NOJTAG
XT_NOJTAG:
    .dw PFA_NOJTAG
PFA_NOJTAG:
    cli
    .ifdef MCUCSR
    in_ temp0, MCUCSR
    .else
    in_ temp0, MCUCR
    .endif

    ori temp0, ( 1<<JTD)

    .ifdef MCUCSR
    out_ MCUCSR, temp0
    out_ MCUCSR, temp0     ; needs to be done twice within 4 cycles
    .else
    out_ MCUCR, temp0
    out_ MCUCR, temp0     ; needs to be done twice within 4 cycles
    .endif
    sei
    jmp_ DO_NEXT

такая же ситуёвина со словом ( mode -- ) sleep
...\core\words\sleep.asm
Код:
;
;  sleep   ( mode -- )
;
;  mode selects the type of sleep mode to use.  Refer to the
;  SMCR documentation for details.  The following table is
;  based on the ATmega328P docs.
;
;  0 = Idle
;  1 = ADC noise reduction
;  2 = Power down
;  3 = Power save
;  4 = Reserved
;  5 = Reserved
;  6 = Standby
;  7 = External standby
;
;  Note that on the ATmega328P, Idle mode is the only sleep that
;  leaves interrupts enabled AND the USART running.  This means
;  you can wake up out of Idle mode just by sending a char to the
;  USART.  For all other sleep modes, you must either use reset
;  or provide some kind of timed or external event to wake up;
;  the USART won't work.


; ( mode -- )
; MCU
; put the controller into the specified sleep mode
VE_SLEEP:
    .dw $ff05
    .db "sleep", 0
    .dw VE_HEAD
    .set VE_HEAD = VE_SLEEP
XT_SLEEP:
    .dw PFA_SLEEP
PFA_SLEEP:
   andi   tosl, 7         ; leave only legal mode bits

    .ifdef  SMCR
   lsl      tosl      ; move to correct location (bits 3-1)
   ori      tosl, 1      ; set the SE bit
   out_   SMCR, tosl      ; set the sleep config
   sleep            ; nighty-night
   out_   SMCR, zerol      ; 0 protects against accidental sleeps

    .else            ; 0:15 28.02.2013 chu
   in_   tosh, MCUCR      ; save Interrupt Sense Control bits
   andi   tosh, 0x0F      ; se=0 sm=idle 0:15 28.02.2013
   swap   tosl                    ; move to correct location (bits 6-4)
   ori   tosl, ( 1<<SE )      ; set the SE bit
   or   tosl, tosh      ; restore Snterrupt Sense Control bits
   out_   MCUCR,tosl      ; set the sleep config
   sleep            ; nighty-night
   out_   MCUCR,tosh

    .endif
   loadtos            ; pop argument from stack
    jmp_    DO_NEXT

; last 1:06 09.04.2013 chu

правда в последних релизах эти слова отсутствуют (почемуто)...
зы. атымели такия атымели


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Чт мар 19, 2015 17:42 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 926
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
Попробовал скомпилить последний релиз. Собралось с некоторыми варнингами начиная с Atmega16
Но что то опять где то Uart или прошивка не запускается в кристале или Proteus/

P.S. Хотелось бы, что бы после сборки на "произвольный" кристал и например тест в Proteus сборка откликалась по Uart
Что этому может поспособствовать? (и какие могут быть рекомендации) :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Чт мар 19, 2015 19:24 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 224
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
KPG писал(а):
Хотелось бы, что бы после сборки на "произвольный" кристал...

угу, хотелось бы...
KPG писал(а):
... и например тест в Proteus ...

насколько я помню, для Proteus'а надо как то хитро прошивку собирать ( в Atmel Studio )
а с uart'ом да, раньше случались проблемы. связано было с кривой инициализацией
приемопередатчика, из-за чего "устаревшие" контроллеры на связь не выходили.
но сейчас (вроде как) это исправлено.
KPG писал(а):
...и какие могут быть рекомендации

chu писал(а):
Это я на сторонних сайтах говорю: amforth - без проблем! :work;
а на самом деле основная проблема - дотошная внимательность и обьемная рутина :zombypc;
:work2;


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Вс апр 12, 2015 02:10 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 926
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
Заметил одну "особенность" при сборке amForth5.8 для Atmega162.
Всё собралось, но первый Uart не заработал пока в template не оставил uart, вместо (логически верного uart_0 файла)
и подправил не совпавшие названия меток (добавив 0 в названии меток для первого Uart)

P.S. В Proteus всё равно не получилось запустить и для "произвольного" кристалла может не собраться из коробки.
Для режима самопрограммирования достаточно разместить слова отмеченные в листинге для размещения в бут секторе(порядка 100 байт используя org директиву)
и поэтому бут сектор в битах конфигурации может быть минимально возможным (например 128 байт если кристалл позволит)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Ср апр 15, 2015 09:54 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 224
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
KPG писал(а):
P.S. В Proteus всё равно не получилось запустить и для "произвольного" кристалла может не собраться из коробки.

chu писал(а):
насколько я помню, для Proteus'а надо как то хитро прошивку собирать ( в Atmel Studio )

Изображение


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Ср апр 15, 2015 18:02 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 926
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
chu писал(а):
насколько я помню, для Proteus'а надо как то хитро прошивку собирать ( в Atmel Studio )

А через ключи в bat файле?

P.S. Попробовал твой uploader под Win7 64 как то сразу не заработал пришлось провести некоторую "изыскательскую" работу над кодом загрузчика и библиотекой работы с СOM портом что бы понять как не работает (в одном локальном месте так ещё и не понял как нарушается баланс стека в коде :)
. В целом сейчас как то работает (отлаживал под АmForth 5.8 ), но есть некоторые ещё шероховатости в приеме ответных посылок (приходит в ответном считывании после отправки 0х0D несколько подтверждающих > обычно 2 е последовательности с возможными вариациями)
И ещё код не хочет первоначально работать с СOM портом, а только после того как сначала отработала программа TeraTerm.
Пробовал через ТераТерм загружать код, но бывает возникают какие то сбои на ровном месте и использование задержек в настройках COM порта не помогает.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Вт июн 23, 2015 19:13 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 926
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
В библиотечном файле quotations.frt есть "небольшая" прореха приводящая к неработоспособности кода в последних сборках

Код:

\ anonymous definitions in a definition
\ typical usage
\ : foo ... [: some words ;] ... ;
\
\ is equivalent to
\
\ :noname some words ; Constant #temp#
\ : foo ... #temp# ... ;
\

: [: ( -- quotation-sys )
     postpone ahead :noname  ; immediate

: ;] ( compile-time: quotation-sys -- ; run-time: -- xt )
    postpone ;
    ]                 \ в этом месте добавил
    >r
    postpone then
    r>
    postpone literal
    ]
; immediate

Тест кода из amForth
Код:
\ anonymous definitions in a definition

: if-else ( ... f xt1 xt2 -- ... )
\ Postscript-style if-else
    rot if
       drop
    else
       nip
    then
    execute ;

: test ( f -- )
    [: ." true" ;]
    [: ." false" ;]
    if-else ;
   
1 test cr \ writes "true"
0 test cr \ writes "false"

P.S. Возможно имеет смысл сообщить о выявленном дефекте кода. В некоторых файлах не казаны зависимости
(например, что bitnames требует builds> определение.

KPG писал(а):
Пробовал через ТераТерм загружать код, но бывает возникают какие то сбои на ровном месте и использование задержек в настройках COM порта не помогает.

В конфигурации COM API указал время тайминга по записи 0 - фиксируемые текущие ошибки пропали :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Вт июн 30, 2015 06:59 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 224
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
KPG писал(а):
В библиотечном файле quotations.frt есть "небольшая" прореха приводящая к неработоспособности кода в последних сборках
... сообщить о выявленном дефекте кода.


amforth-devel — Development discussion and user support писал(а):
... my Russion needs probably some refresh. After your hint I
did some checks myself, and indeed the quotations did not
work. The problem was a wrong LITERAL, introduced with
release 5.6, that got fixed by re-using the previous
version of literal.asm. Done with svn rev1866.

Thanks for the hint and greetings to the Russian
forthers!

Matthias


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Пт авг 28, 2015 01:01 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 926
Благодарил (а): 3 раз.
Поблагодарили: 33 раз.
На страничке amForth появился раздел
Проекты на amForth с описанием


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 219 ]  На страницу Пред.  1 ... 11, 12, 13, 14, 15

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


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

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


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

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