Ретро-компьютер (BASIC) на STM32
UPDATE:
PC приложение (под Линукс):
OK после операций с SD картой:
UPDATE:
Работа с SD-картой:
UPDATE:
Работают SAVE и LOAD Бейсик-программ на SD-карточку. Ниже скриншоты загрузки программы TEST.BAS и трассировка запуска из тестовой UART-консоли:
Еще около 8000 байт во флеш-памяти для разных улучшалок прошивки:
** Programming Finished ** ** Verify Started ** ... verified 55744 bytes in 0.836388s (65.086 KiB/s) ** Verified OK ** ** Resetting Target **
TODO список:
Изменение названия Stm32BASIC на stm32f1BASICDoneРефакторинг кодаDoneПоддержка SD карточкиDone- Скроллинг программы кнопками курсора
- Выкладывание проекта в Гитхаб
- Разработка печатной платы и заказ первой партии плат
--------------------------------- Далее архив -------------------------------
UPDATE:
Подзаточил код stm32BASIC до состояния работы с клавиатурой PS2:
UPDATE:
Кнопочная клавиатура работает. На очереди - SD-карточка
Прогнал тест 8-ферзей на Бейсике, который, напомню, на Arduino-Nano занял 3.4 секунды. Результат на stm32f1: 0.8 секунды или примерно в 10 раз быстрее МК161 (измерял ручным секундомером, не timestamps). Далее под катом старый текст про NodeMCU.
==========================================================
Cей эксперимент задвинут в дальний ящик из-за своеобразного подхода архитектуры esp8266 к работе с памятью. Разбираться, как выравнивать работу с данными разной размерности в памяти мне лень.
Архив --------------------------------------------
Попробовал сбилдить Ардуино-Васик под сабж (в конфигурации Serial Terminal Input), выделив под Васик 32Кб.
Выглядит многообещающе:
Sketch uses 268212 bytes (25%) of program storage space. Maximum is 1044464 bytes. Global variables use 67280 bytes (82%) of dynamic memory, leaving 14640 bytes for local variables. Maximum is 81920 bytes
В общем, надо I2C подзапилить и подключить к дисплею.
UPDATE: Навскидку дисплей от NodeMCU не заработал. Скорее всего, проблема в 3в питании - дисплею надо 5. Либо NodeMCU у меня проблемная, доберусь до осцилла, проверю
UPDATE_2: Дисплей подключился (таки надо 5 вольт ему), Васик стартовал:
Однако при попытке ввести строку Васика с сериал терминала 8266 выпадает в exception:
Fatal exception 9(LoadStoreAlignmentCause): epc1=0x402036f8, epc2=0x00000000, epc3=0x00000000, excvaddr=0x3ffeef3d, depc=0x00000000 Exception (9): epc1=0x402036f8 epc2=0x00000000 epc3=0x00000000 excvaddr=0x3ffeef3d depc=0x00000000 ctx: cont sp: 3fff04e0 end: 3fff0700 offset: 01a0 >>>stack>>> 3fff0680: 0000001f 3ffef438 3fff0e14 402036e0 3fff0690: 40100031 3ffef3f0 00000000 3ffef3fc 3fff06a0: 00000031 3ffef3f0 00000028 40205556 3fff06b0: 00000001 3ffef6d8 40205fb8 3ffef6d8 3fff06c0: 3fffdad0 00000000 3ffeef38 40203943 3fff06d0: 3fffdad0 00000000 3ffeef38 40202706 3fff06e0: feefeffe feefeffe 3ffef6d0 40206004 3fff06f0: feefeffe feefeffe 3ffef6e0 40100108 <<
- Vitasam's blog
- Log in or register to post comments
- 42163 reads