Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 20:53

...
Google Search
Forth-FAQ Spy Grafic

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




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - m3forth - форт для ARM Cortex-M3
Автор Сообщение
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
dynamic-wind писал(а):
Renha писал(а):
на 8-битных атмегах ведь сделали шикарный 16-битный amforth

Шикарный, но очень уж медленный.

А есть ещё доступные варианты (кроме FF5)?
Сообщение Добавлено: Пн июл 13, 2015 23:13
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
Renha писал(а):
на 8-битных атмегах ведь сделали шикарный 16-битный amforth

Шикарный, но очень уж медленный.
Сообщение Добавлено: Пн июл 13, 2015 22:53
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
mOleg писал(а):
как бы да. Однако, памяти немного, команды 32 битные занимают 32 бита\команду.

система команд тут Thumb-2, где очень много часто употребляемых команд (например, работа с нижней половиной регистров) занимают 16 бит в памяти
mOleg писал(а):
Обращение к памяти 16 битное в командах пересылки память->регистр.

Извините, впервые слышу об этом. При обращении к памяти по невыровненному адресу используется два обращения по выровненным адресам (см http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337h/ch03s04s02.html)
Обращение к памяти 32-битное, но возможен и 16- и 8-битный доступ
Сообщение Добавлено: Пн июл 13, 2015 11:44
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
oco писал(а):
Процессор 32-битный

как бы да. Однако, памяти немного, команды 32 битные занимают 32 бита\команду. Обращение к памяти 16 битное в командах пересылки память->регистр.
Возможно я чего не уловил (только знакомлюсь помаленьку), но выигрыша от 32 бит не вижу.
Сообщение Добавлено: Вс июл 12, 2015 07:31
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
mOleg писал(а):
у меня вопрос, не возникало ли ощущение, что процессор таки 16 битный в большей степени, и лучше делать 16-разрядный форт (тем более, что для ряда камней памяти маловато)?

Процессор 32-битный
Сообщение Добавлено: Вт июн 30, 2015 19:38
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
Atmega, как и многие дешевые МК, становится несколько избыточной по ресурсам, поэтому уже можно и 32 бита делать, если нужно.
Сообщение Добавлено: Вт июн 30, 2015 16:50
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
на 8-битных атмегах ведь сделали шикарный 16-битный amforth
Сообщение Добавлено: Вт июн 30, 2015 15:44
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
у меня вопрос, не возникало ли ощущение, что процессор таки 16 битный в большей степени, и лучше делать 16-разрядный форт (тем более, что для ряда камней памяти маловато)?
Сообщение Добавлено: Сб июн 27, 2015 20:34
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
Залил на гитхаб https://github.com/oco2000/m3forth
Сообщение Добавлено: Вт фев 03, 2015 01:09
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
Версия 0.5
Что нового:
    добавил контроллер lm3s316 для моделирования в Proteus. Для сборки под протеус набирайте make proteus
    мелкие изменения

Поддержкой cortex-m3 в proteus разочарован. Не работает system timer, начинает отсчет с нуля и вниз вместо того, чтобы начинать с заданного значения. И на bit-banding срабатывает reset.
Может я делаю что не так? Никто не сталкивался?
Сообщение Добавлено: Пн янв 27, 2014 19:41
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
What assembler do you use?
arm-none-eabi-as replaces STMDB R4!, {R5} with STR.W R5, [R4, #-4]! instruction.
(There was a patch actually to follow ARM documentation here)
So I would not recommend to use STMDB with only one register in list because ARM does not recommend it. If your processor can handle this instruction it does not mean that all processors can handle it.
Сообщение Добавлено: Вс дек 29, 2013 01:25
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
oco писал(а):
28 - 30 - it's a statistical error, I think, instructions are the same.


I tried several times. Sameness is stable.

oco писал(а):
Did you disassemble this?


Код:
0x10005 SYST_CSR !
0xFFFFFF SYST_RVR !

CODE TTST0

   SUBS    DSTK, #4
10001248   3C04      SUBS   R4, #4
        STR     TOS, [DSTK]
1000124A   6025      STR   R5, [R4, #0]
   SUBS    DSTK, #4
1000124C   3C04      SUBS   R4, #4
        STR     TOS, [DSTK]
1000124E   6025      STR   R5, [R4, #0]
   SUBS    DSTK, #4
10001250   3C04      SUBS   R4, #4
        STR     TOS, [DSTK]
10001252   6025      STR   R5, [R4, #0]
   SUBS    DSTK, #4
10001254   3C04      SUBS   R4, #4
        STR     TOS, [DSTK]
10001256   6025      STR   R5, [R4, #0]


   ADDS   DSTK,   # 4 4 *
10001258   3410      ADDS   R4, #16


   SUBS    DSTK, #4
1000125A   3C04      SUBS   R4, #4
        STR     TOS, [DSTK]
1000125C   6025      STR   R5, [R4, #0]
   SUBS    DSTK, #4
1000125E   3C04      SUBS   R4, #4
        STR     TOS, [DSTK]
10001260   6025      STR   R5, [R4, #0]
   SUBS    DSTK, #4
10001262   3C04      SUBS   R4, #4
        STR     TOS, [DSTK]
10001264   6025      STR   R5, [R4, #0]
   SUBS    DSTK, #4
10001266   3C04      SUBS   R4, #4
        STR     TOS, [DSTK]
10001268   6025      STR   R5, [R4, #0]

   ADDS   DSTK,   # 4 4 *
1000126A   3410      ADDS   R4, #16
   NEXT
1000126C   4770      BX   R14
END-CODE



CODE TTST1

  STR     TOS, [DSTK, #-4]!
1000126E   F844 5D04   STR.W   R5, [R4, #-4]!
  STR     TOS, [DSTK, #-4]!
10001272   F844 5D04   STR.W   R5, [R4, #-4]!
  STR     TOS, [DSTK, #-4]!
10001276   F844 5D04   STR.W   R5, [R4, #-4]!
  STR     TOS, [DSTK, #-4]!
1000127A   F844 5D04   STR.W   R5, [R4, #-4]!

   ADDS   DSTK,   # 4 4 *
1000127E   3410      ADDS   R4, #16

  STR     TOS, [DSTK, #-4]!
10001280   F844 5D04   STR.W   R5, [R4, #-4]!
  STR     TOS, [DSTK, #-4]!
10001284   F844 5D04   STR.W   R5, [R4, #-4]!
  STR     TOS, [DSTK, #-4]!
10001288   F844 5D04   STR.W   R5, [R4, #-4]!
  STR     TOS, [DSTK, #-4]!
1000128C   F844 5D04   STR.W   R5, [R4, #-4]!

   ADDS   DSTK,   # 4 4 *
10001290   3410      ADDS   R4, #16
   NEXT
10001292   4770      BX   R14
END-CODE


CODE TTST2

   STMDB   DSTK!, {TOS}
10001294   E924 0020   STMDB   R4!, {R5}
   STMDB   DSTK!, {TOS}
10001298   E924 0020   STMDB   R4!, {R5}
   STMDB   DSTK!, {TOS}
1000129C   E924 0020   STMDB   R4!, {R5}
   STMDB   DSTK!, {TOS}
100012A0   E924 0020   STMDB   R4!, {R5}

   ADDS   DSTK,   # 4 4 *
100012A4   3410      ADDS   R4, #16

   STMDB   DSTK!, {TOS}
100012A6   E924 0020   STMDB   R4!, {R5}
   STMDB   DSTK!, {TOS}
100012AA   E924 0020   STMDB   R4!, {R5}
   STMDB   DSTK!, {TOS}
100012AE   E924 0020   STMDB   R4!, {R5}
   STMDB   DSTK!, {TOS}
100012B2   E924 0020   STMDB   R4!, {R5}

   ADDS   DSTK,   # 4 4 *
100012B6   3410      ADDS   R4, #16
   NEXT
100012B8   4770      BX   R14
END-CODE


: ttt0 SYST_CVR @ TTST0  SYST_CVR @ - . ;
100012BA   B500      PUSH   {R14}
100012BC   F844 5D04   STR.W   R5, [R4, #-4]!
100012C0   F24E 0518   MOVW   R5, #57368 ; 0xE018
100012C4   F2CE 0500   MOVT   R5, #57344 ; 0xE000
100012C8   682D      LDR   R5, [R5, #0]
100012CA   F7FF FFBD   BL   10001248  ( TTST0 )
100012CE   F844 5D04   STR.W   R5, [R4, #-4]!
100012D2   F24E 0518   MOVW   R5, #57368 ; 0xE018
100012D6   F2CE 0500   MOVT   R5, #57344 ; 0xE000
100012DA   682D      LDR   R5, [R5, #0]
100012DC   CC01      LDMIA   R4!, {R0}
100012DE   1B45      SUBS   R5, R0, R5
100012E0   F7FF FDC4   BL   10000E6C  ( . )
100012E4   BD00      POP   {R15}
: ttt1 SYST_CVR @ TTST1  SYST_CVR @ - . ;
100012E6   B500      PUSH   {R14}
100012E8   F844 5D04   STR.W   R5, [R4, #-4]!
100012EC   F24E 0518   MOVW   R5, #57368 ; 0xE018
100012F0   F2CE 0500   MOVT   R5, #57344 ; 0xE000
100012F4   682D      LDR   R5, [R5, #0]
100012F6   F7FF FFBA   BL   1000126E  ( TTST1 )
100012FA   F844 5D04   STR.W   R5, [R4, #-4]!
100012FE   F24E 0518   MOVW   R5, #57368 ; 0xE018
10001302   F2CE 0500   MOVT   R5, #57344 ; 0xE000
10001306   682D      LDR   R5, [R5, #0]
10001308   CC01      LDMIA   R4!, {R0}
1000130A   1B45      SUBS   R5, R0, R5
1000130C   F7FF FDAE   BL   10000E6C  ( . )
10001310   BD00      POP   {R15}
: ttt2 SYST_CVR @ TTST2  SYST_CVR @ - . ;
10001312   B500      PUSH   {R14}
10001314   F844 5D04   STR.W   R5, [R4, #-4]!
10001318   F24E 0518   MOVW   R5, #57368 ; 0xE018
1000131C   F2CE 0500   MOVT   R5, #57344 ; 0xE000
10001320   682D      LDR   R5, [R5, #0]
10001322   F7FF FFB7   BL   10001294  ( TTST2 )
10001326   F844 5D04   STR.W   R5, [R4, #-4]!
1000132A   F24E 0518   MOVW   R5, #57368 ; 0xE018
1000132E   F2CE 0500   MOVT   R5, #57344 ; 0xE000
10001332   682D      LDR   R5, [R5, #0]
10001334   CC01      LDMIA   R4!, {R0}
10001336   1B45      SUBS   R5, R0, R5
10001338   F7FF FD98   BL   10000E6C  ( . )
1000133C   BD00      POP   {R15}
Сообщение Добавлено: Сб дек 28, 2013 10:52
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
Это что? Типа такой тонкий троллинг? И кто кого троллит?
Сообщение Добавлено: Пт дек 27, 2013 14:56
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
Mihail писал(а):
Test for XMC4500 .

Result:
Код:
>TTT2
30  Ok
>TTT1
28  Ok
>TTT0
37  Ok

28 - 30 - it's a statistical error, I think, instructions are the same.
Did you disassemble this? (XMC4500 is Cortex-M4F, ARM v7-EM architecture, but I think STMDB with one register is assembled into STR too)
Сообщение Добавлено: Пт дек 27, 2013 14:23
  Заголовок сообщения:  Re: m3forth - форт для ARM Cortex-M3  Ответить с цитатой
Test for XMC4500 .
Код:
0x10005 SYST_CSR !
0xFFFFFF SYST_RVR !

CODE TTST0

   SUBS    DSTK, #4
        STR     TOS, [DSTK]
   SUBS    DSTK, #4
        STR     TOS, [DSTK]
   SUBS    DSTK, #4
        STR     TOS, [DSTK]
   SUBS    DSTK, #4
        STR     TOS, [DSTK]


   ADDS   DSTK,   # 4 4 *


   SUBS    DSTK, #4
        STR     TOS, [DSTK]
   SUBS    DSTK, #4
        STR     TOS, [DSTK]
   SUBS    DSTK, #4
        STR     TOS, [DSTK]
   SUBS    DSTK, #4
        STR     TOS, [DSTK]

   ADDS   DSTK,   # 4 4 *
   NEXT
END-CODE



CODE TTST1

  STR     TOS, [DSTK, #-4]!
  STR     TOS, [DSTK, #-4]!
  STR     TOS, [DSTK, #-4]!
  STR     TOS, [DSTK, #-4]!

   ADDS   DSTK,   # 4 4 *

  STR     TOS, [DSTK, #-4]!
  STR     TOS, [DSTK, #-4]!
  STR     TOS, [DSTK, #-4]!
  STR     TOS, [DSTK, #-4]!

   ADDS   DSTK,   # 4 4 *
   NEXT
END-CODE


CODE TTST2

   STMDB   DSTK!, {TOS}
   STMDB   DSTK!, {TOS}
   STMDB   DSTK!, {TOS}
   STMDB   DSTK!, {TOS}

   ADDS   DSTK,   # 4 4 *

   STMDB   DSTK!, {TOS}
   STMDB   DSTK!, {TOS}
   STMDB   DSTK!, {TOS}
   STMDB   DSTK!, {TOS}

   ADDS   DSTK,   # 4 4 *
   NEXT
END-CODE


: ttt0 SYST_CVR @ TTST0  SYST_CVR @ - . ;
: ttt1 SYST_CVR @ TTST1  SYST_CVR @ - . ;
: ttt2 SYST_CVR @ TTST2  SYST_CVR @ - . ;


Result:
Код:
>TTT2
30  Ok
>TTT1
28  Ok
>TTT0
37  Ok
Сообщение Добавлено: Чт дек 26, 2013 23:27

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


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