Самодельная консоль за 700 рублей - stm32, дисплей и кнопки - просто создать самому

Поділитися
Вставка
  • Опубліковано 5 жов 2024
  • Репозиторий с кодом ядра системы:
    github.com/sel...
    Репозиторий с кодом линкера:
    github.com/sel...
    Репозиторий с кодом эмулятора:
    github.com/sel...
    Твиттер
    / honeyderiviera
    Привет. Меня зову Deriv'era и я программист. Этот канал повествует о фантазии, воплощённой в железе, играх и коде. Развлекательный канал о транзисторах, рассказывающий о вещах, которые не встретишь на каждом углу. Я люблю погружаться в техническую информацию так далеко, насколько это возможно. Люблю математику, могу даже в уме перемножить пару квадратных матриц. Ежедневно играю в видеоигры и верю в прогресс науки. Чипы, микросхемы, платы - всё это отдельный мир, который и позволяет в последние десятилетия погружаться в фантазии так глубоко. Я настоящий фанат вымышленных миров и стараюсь передать свой интерес к науке другим людям.

КОМЕНТАРІ • 27

  • @vireyehome4060
    @vireyehome4060  5 років тому +4

    Я ЖЁСТКО ЗАФЕЙЛИЛ. У чипа 20 килобайт озу, а не 8. Не знаю, почему был уверен, что 8, въелась эта цифра в голову. Но в остальном это ничего не меняет.

  • @AK_DA
    @AK_DA 3 роки тому +1

    Обязательно подписался))
    Надеюсь проект жив)

    • @vireyehome4060
      @vireyehome4060  3 роки тому

      Сейчас не простые времена, проект медленно развивается, когда время есть.

  • @alzhgamer
    @alzhgamer 4 роки тому +2

    Есть еще nodemcu на базе esp8266. Да, для спрайтовых игр она кривая и косая, но если всё таки освоить это дело. Потенциал огромен, хоть и микро процессор плюс минус по выч. мощности аналог stm32, вот оперативы не 20kb, а 128kb. Флеш памяти вообще 1mb либо 4mb(зависит от версии) В теории и простейшую псевдо 3d можно сделать.

  • @Black27512
    @Black27512 5 років тому +1

    Странно, маловато ОЗУ, должно быть 20 килобайт. Ну а на счёт звука и вообще производительности в стм32 есть замечательная штука DMA называется, с ее помощью можно попробовать упростить некоторые процессы. Тот же звук можно генерить ШИМом через таймеры (их там вагон), не уверен, что можно как во взрослых звуковухах гнать в них новые данные через DMA, но даже по таймеру через крохотный обработчик прерывания можно, виртуально так можно FM-каналов до кучи выводить. По счёт загрузки наверное проще написать загрузчик с флешки, который будет прошивать мк из файла и запускать. Пофиг на ресурс флеша в мк, а то залез в дебри компиляторов)) Внешне будет выглядеть так же, при сбросе попадаем в загрузчик и выбираем либо запуск того что прошито, либо выбираем файлик с флешки, шьём его и запускаем.

    • @vireyehome4060
      @vireyehome4060  5 років тому +1

      Вот это я зафейлил :D. Там действительно 20 килобайт. Не знаю, почему я так был уверен, что там их 8. Просто железно вбилось в голову откуда-то.
      ШИМ само собой активно используется сейчас для дисплея. Есть только одно но. Я вырезал этот момент в видео, но у STM32 у него конкурентный доступ к ОЗУ у шим и ядра, и это создало мне кучу проблем в своё время при генерации видео-сигнала создавая шум. Не знаю, отразится ли это на звуке..., скорее нет, чем да, но скажется всё равно на системе. Но над реализацией надо думать. В принципе это была изначальная идея, освободить а0-а7 и сделать там ЦАП на резисторах и гнать данные через DMA. Но если даже использовать несколько каналов и смешивать синтезаторы через каналы DMA. На самом деле даже может прокатить, надо попробовать, спасибо за идею. Я буду делать отдельное видео по звуку на ямахе, попробую и это реализовать.
      Да, загрузчик проще. Но я, видимо, резанул лишнего, пытаясь сделать видео покороче и не донёс до конца мысль, что одна скомпилированная игра должна нормально работать на совершенно разной железной реализации. Для этого будет универсальный абстрактный АПИ, а конкретная реализация будет уже в ядре системы. Поэтому и нужно заморочиться с компилятором.

    • @Black27512
      @Black27512 5 років тому

      @@vireyehome4060 Не ЦАП на куче выводов, а ФНЧ на одном выходе(или двух для стерео) ШИМ таймера. Там можно получить больше 8 бит.

    • @vireyehome4060
      @vireyehome4060  5 років тому

      @@Black27512 Теперь я понял идею, спасибо.

  • @masterkit9517
    @masterkit9517 3 роки тому +1

    STM32F407VGT6 по цене MEGA2560 ардуино за 11$ с доставкой возьмите выйдет 196кб ОЗУ и 1024кб ПЗУ

  • @HTXKJ
    @HTXKJ 5 років тому +2

    Что за "резиновые кнопки уже купили, но не установили?"

  • @AtomicProg3000
    @AtomicProg3000 3 місяці тому

    В чём проблема взять STM32F103CBT6, там 128кБ флеша и памяти в STM32F103 20кБ

  • @stebaslastebasla4501
    @stebaslastebasla4501 5 років тому +2

    А почему не использовать ESP8266 NodeMcu 80 МГц, 32-битный процессор и 4 Мб флэш-памяти? Стоит на алике от 150р. Есть наверное платы и дешевле без отладочного обвеса. Поддерживает ардуино ИДЕ и программируется на языке Lua. А и можно потом игрухи по вайфаю заливать наверное или ещё чего с вайфаем замутить, вайфай нынче модно - молодёжно.

    • @vireyehome4060
      @vireyehome4060  5 років тому

      Собственное ядро, что привязывает к этому железу, не понятная производительность. Под арм программы можно хоть на телефонах запускать, если сделать ланчер. Если он даже разгонится до 160 мгц и у него 1DMIPS, то stm32 на 128 мгц с 1.25 DMIPS ему не уступит. Судя по всему на нём даже аппаратного умножения нет, инфы не нашёл. Присобачить вай фай можно и к stm32, вай фай платки стоят по 80-90р, выйдет не намного дороже. Ну и ардуино с люа проекту попросту не нужны, потому что ядро всё равно должно быть максимально низкоуровневым, а для создания игр можно применять всё, что душе угодно, в теории. Например, поддержку Rust'a я планирую добавить в обозримом будущем.

  • @dvenger4924
    @dvenger4924 4 роки тому +1

    что за дисплей, подскажите пж

    • @masterkit9517
      @masterkit9517 3 роки тому +1

      в начале видео сказано же что за дисплей

  • @MrEleman
    @MrEleman 5 років тому

    почему у меня видео на 1080 распадается на линии в движении чувачка. на меньшем пропадает. попадаются такие видосы что это за галюны гугловские такие

    • @vireyehome4060
      @vireyehome4060  5 років тому

      Потому что первые видео снимал на зеркалку и она пишет fullhd межстрочная развёрткой. На меньших разрешениях это сглаживается, на fullhd видно оригинал.

  • @dmitryponyatov2158
    @dmitryponyatov2158 5 років тому

    20К! ОЗУ -- какие линкеры, нафига вообще динамическая загрузка ?!
    почему нельзя тупо взять appnote USB mass storage и исходники загрузчика от mbed?
    воткнул в комп -- появился диск, autorun открыл ссылку на сайт с софтом, выбрал, сохранил скачанный бинарник на "флешку", оно стартовало, все

    • @vireyehome4060
      @vireyehome4060  5 років тому

      И отдать под это большую половину rom памяти камня? Отличная идея. Я рассматривал идею использования USB и отмёл эту затею. На f4 прокатило бы, на f1 слишком дороги ресурсы.

  • @decltruft2882
    @decltruft2882 4 роки тому

    Можно схемы подключения и сборки получить?

    • @vireyehome4060
      @vireyehome4060  3 роки тому

      github.com/seltee/vireye_core/blob/master/Additional/scheme.jpg

  • @World_of_Anime44
    @World_of_Anime44 3 роки тому

    Когда новый видос?

    • @vireyehome4060
      @vireyehome4060  3 роки тому +1

      Если получится доделать, то в этом году.

  • @МартыненкаАлександр

    Идея не плахая но не даканца дапиленая и имеет недостатки

  • @dmitryponyatov2158
    @dmitryponyatov2158 5 років тому

    STM32F7/H7 реально мощное железо, и достаточно недорогое.
    С удовольствием купил бы машинку на STM32H7 в исполнении классического кнопочного моноблока, с FPGA+GPIO вообще была бы бомба в качестве спец.компьютера
    ua-cam.com/video/FMEZj4VNkJ4/v-deo.html

    • @dmitryponyatov2158
      @dmitryponyatov2158 5 років тому

      в качестве встроенной ОС хорошо Форт подходит -- командная консоль, встроенный компилятор и ассемблер в 16К ОЗУ

    • @vireyehome4060
      @vireyehome4060  5 років тому

      stm32f7 на платах распаянные очень даже дорогие. f4 по рублей 600-700. f1 по 110 рублей. Я вполне целенаправленно выбрал этот камень.