Устали от JS? Отвлекитесь и погрузите Iskra JS в мир железного Си и HAL!

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем sys, 6 авг 2018.

  1. sys

    sys Злобный Буратино Модератор

    Если по каким-либо причинам вам захотелось отвлечься от программирования на JS и попробовать себя в серьезном развращении программировании микроконтроллеров STM32, то плата Iskra JS сгодится и для такого.

    Понадобятся (как вариант):
    stlinkv2.jpg
    Читаем внимательно статью и повторяем пример ledblink с учетом нашего камушка и пина для управления светодиодом LED1 на плате (LLED на принципиальной схеме, пин PB6 на мк):
    scr1.png scr2.png scr3.png
    ручной код проекта в while(1) :)
    Код (C++):
          HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_6);
                HAL_Delay(500);
    Подключение программатора ST-Link:
    - соединить контакты программатора St-link - SWDIO, SWDCLK, GND, 3.3v с соответствующими SWD пинами платы как на схеме:
    swdconnect.png

    Для работы в режиме DEBUG и прошивки из IDE с помощью клона ST-Link v2 нужно:
    - свежая версия прошивки вашего программатора (не ниже J28)
    - выставленная в настройка Debug опция Software system reset:
    scr4.png
    Если версия прошивки программатора ниже, то для обновления воспользуемся последней версией утилиты STM32 ST-LINK:
    - установить программу STM32 ST-LINK Utility http://www.st.com/en/embedded-software/stsw-link004.html
    - вставить программатор в USB-порт ПК
    - запустить программу STM32 ST-LINK Utility,
    - выбрать в меню ST_LINK -> Firmware update

    Также, с помощью утилиты STM32 ST-Link мы можем прошить мк собранной .hex прошивкой, расположенной в папке "[_workspace_dir_]\ledtest\SW4STM32\ledtest\Debug\":
    - выбрать в меню Target -> Connect
    - затем во вкладке binary выбрать файл прошивки "[_workspace_dir_]\ledtest\SW4STM32\ledtest\Debug\ledtest.hex"
    - выбрать Target -> Programm и запустить процесс (стартовый адрес по умолчанию - 0х08000000)

    Когда вы снова соскучитесь по скриптикам JS, то скачайте свежую прошивку для Iskra JS .bin https://github.com/amperka/espruino-modcat/tree/master/binaries и прошейте c помощью ST-Link
     
    arkadyf, Igor68, NikitOS и ещё 1-му нравится это.
  2. Igor68

    Igor68 Гуру

    Ой! Даже и не знал что там STM32F405. Не смотрел в сторону Iskra. Знал бы что можно применять это вообще Arduino не покупал бы. И сидел бы на ARMе. Правда ST-Link не хочу... есть J-Link Segger. Только хочу уточнить сигналы JTAG/SW... И после этого куплю и сразу снесу прошивку... и будет Keil +J-Link+ что хочу! Красота-то какая:rolleyes:
    Респект!!!
     
    NikitOS и arkadyf нравится это.
  3. ostrov

    ostrov Гуру

  4. b707

    b707 Гуру

    точно. И шить ее можно вообще без ST-Link. Или сделать Ст-линк из нее.
     
  5. parovoZZ

    parovoZZ Гуру

    А в чем разница?
    И чем 32-х битный МК загрузить, чтоб под завязку? У меня таких задач нет.
    Одно хорошо в STM - внутрисхемная отладка почти бесплатная.
     
  6. Igor68

    Igor68 Гуру

    И то верно. Но клюнул на это (надо идею реализовать не на STM32 а на AT91SAM3U4E):
    https://r-ol.blogspot.com/2017/04/stm32-windows-cdc-eem.html
    и это:
    https://github.com/majbthrd/stm32ecm
    (хочу срисовать идею реализации - надо чтобы вместо USB-SERIAL и USB-MASTORAGE применить в приборе USB-ETHERNET с WEB и т.п. имея только USB соединение)
    И потом может заменю прикрученную ранее Arduino UNO R3 (для Multiservo и ComMotion motor shield for 4 motors) на "бывшую" искру. Не выбрасывать же. С ARMом мне сподручнее... да и RTX применить не сложно.
     
  7. Arhat109

    Arhat109 Гик

    А вот это - добрая новость, спасибки.
     
  8. asdfsd

    asdfsd Нуб

    "Когда вы снова соскучитесь по скриптикам JS..."
    А зачем перепрошивать? Вроде бы с оригинальной прошивкой ничего не должно было случиться. И для обновления прошивки можно использовать USB.
    Также интересно, можно ли перепрошить JS интерпретатор чтобы работал как обычный программатор (т.е. не будет необходимости в дополнительном программаторе)?
     
  9. Igor68

    Igor68 Гуру

    Нет! Пока только на этом смог поднять тольео PING и без усдловного керела так сказать в проекте Keil (прошивал через SEGGER)
     
  10. sys

    sys Злобный Буратино Модератор

    Что тут можно сказать?... Изучите матчасть и вопросы отпадут сами собой.
     
  11. asdfsd

    asdfsd Нуб

    Я изучил в меру сил. Если вы изучили лучше то подскажите.
     
  12. sys

    sys Злобный Буратино Модератор

    Что подсказать?
    Прочтите:
    - https://habr.com/company/amperka/blog/392399/
    - http://www.avislab.com/blog/stm32-bootloader_ru/

    Ответьте на вопросы:
    - Что из себя представляет JS-интерпретатор?
    - Откуда он берет код для интерпретации?
    - Что такое прошивка, она же firmware?
    - Что из себя представляет процесс прошивки микроконтроллера STM32?
    - Что обеспечивает доступность USB порта для обновления прошивок Espruino?

    затем еще раз прочтите первый пост темы... и свои вопросы... возможно, я просто их не понимаю и тогда у вас есть шанс донести до меня истину :)
     
    Igor68, Svyatslav и ИгорьК нравится это.