Forth http://fforum.winglion.ru/ |
|
m3forth - форт для ARM Cortex-M3 http://fforum.winglion.ru/viewtopic.php?f=39&t=2952 |
Страница 5 из 5 |
Автор: | Mihail [ Сб дек 28, 2013 10:52 ] |
Заголовок сообщения: | 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} |
Автор: | oco [ Вс дек 29, 2013 01:25 ] |
Заголовок сообщения: | 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. |
Автор: | oco [ Пн янв 27, 2014 19:41 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Версия 0.5 Что нового:
Поддержкой cortex-m3 в proteus разочарован. Не работает system timer, начинает отсчет с нуля и вниз вместо того, чтобы начинать с заданного значения. И на bit-banding срабатывает reset. Может я делаю что не так? Никто не сталкивался? |
Автор: | oco [ Вт фев 03, 2015 01:09 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Залил на гитхаб https://github.com/oco2000/m3forth |
Автор: | mOleg [ Сб июн 27, 2015 20:34 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
у меня вопрос, не возникало ли ощущение, что процессор таки 16 битный в большей степени, и лучше делать 16-разрядный форт (тем более, что для ряда камней памяти маловато)? |
Автор: | Renha [ Вт июн 30, 2015 15:44 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
на 8-битных атмегах ведь сделали шикарный 16-битный amforth |
Автор: | Hishnik [ Вт июн 30, 2015 16:50 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Atmega, как и многие дешевые МК, становится несколько избыточной по ресурсам, поэтому уже можно и 32 бита делать, если нужно. |
Автор: | oco [ Вт июн 30, 2015 19:38 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
mOleg писал(а): у меня вопрос, не возникало ли ощущение, что процессор таки 16 битный в большей степени, и лучше делать 16-разрядный форт (тем более, что для ряда камней памяти маловато)? Процессор 32-битный |
Автор: | mOleg [ Вс июл 12, 2015 07:31 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
oco писал(а): Процессор 32-битный как бы да. Однако, памяти немного, команды 32 битные занимают 32 бита\команду. Обращение к памяти 16 битное в командах пересылки память->регистр. Возможно я чего не уловил (только знакомлюсь помаленьку), но выигрыша от 32 бит не вижу. |
Автор: | oco [ Пн июл 13, 2015 11:44 ] |
Заголовок сообщения: | 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-битный доступ |
Автор: | dynamic-wind [ Пн июл 13, 2015 22:53 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
Renha писал(а): на 8-битных атмегах ведь сделали шикарный 16-битный amforth Шикарный, но очень уж медленный. |
Автор: | Ilya [ Пн июл 13, 2015 23:13 ] |
Заголовок сообщения: | Re: m3forth - форт для ARM Cortex-M3 |
dynamic-wind писал(а): Renha писал(а): на 8-битных атмегах ведь сделали шикарный 16-битный amforth Шикарный, но очень уж медленный. А есть ещё доступные варианты (кроме FF5)? |
Страница 5 из 5 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |