From 1a73000ae9228481a1562aaa07345bf99faca548 Mon Sep 17 00:00:00 2001 From: klassents Date: Tue, 15 Jul 2025 09:36:38 +0300 Subject: [PATCH] v0.5.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - исправлены ошибки при работе с пользователями, в имени которых есть пробелы - исправлены ошибки при работе с программатором на win11 - исправлены известные ошибки --- README.md | 13 +++++++------ docs/Elbear_description.md | 3 ++- docs/Flash_project_jtag.png | Bin 0 -> 41072 bytes docs/Instructions.md | 22 ++++++++++++++++++---- docs/Start_mik32_description.md | 5 ++++- docs/elsomik_description.md | 5 +++-- docs/nano_description.md | 3 ++- docs/programmer.png | Bin 0 -> 37822 bytes platform.txt | 12 ++++++------ variants/elbear_ace_nano/variant.c | 5 +++++ 10 files changed, 47 insertions(+), 21 deletions(-) create mode 100644 docs/Flash_project_jtag.png create mode 100644 docs/programmer.png diff --git a/README.md b/README.md index 4c5694c..c76a27b 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ Пакет поддержки плат на базе микроконтроллера MIK32 Амур в среде программирования Arduino IDE. -## Установка пакета в ArduinoIDE +## Установка пакета в ArduinoIDE и подготовка к работе Для установки пакета в параметрах ArduinoIDE необходимо добавить ссылку `https://elron.tech/files/package_elbear_beta_index.json` в поле "Дополнительные ссылки для Менеджера плат". -Подробные шаги по установке и начальной настройке описаны в [инструкции](./docs/Instructions.md). +Подробные шаги по установке, начальной настройке и записи начального загрузчика для всех поддерживаемых плат описаны в [инструкции](./docs/Instructions.md). ## Платы, входящие в состав пакета Пакет включает в себя поддержку следующих плат: @@ -73,13 +73,14 @@ Список модулей и шилдов, работа которых была протестирована на платах, входящих в состав пакета поддержки, доступен [здесь](./docs/tested_shields.md). ## Режим отладки -Для всех плат, входящих в состав пакета, доступен режим отладки скетча в ArduinoIDE версии 2. Подготовка к работе в режиме отладки описана в [инструкции.](./docs/debug_description.md) +Для всех плат, входящих в состав пакета, доступен режим отладки скетча в Arduino IDE версии 2.3.4 на Windows 10 x64. Подготовка к работе в режиме отладки описана в [инструкции.](./docs/debug_description.md) Функция отладки является экспериментальной. -# Полезные ссылки +## Полезные ссылки * [Описание плат ELBEAR](https://elron.tech/russian-arduino-compatible-board/) -* [Материалы по платам ELBEAR](https://elron.tech/support/#elbear) +* [Материалы по платам ELBEAR ACE-UNO](https://elron.tech/support/#elbear) +* [Материалы по платам ELBEAR ACE-NANO](https://elron.tech/support/#elbearacenano) * [Материалы по платам ELSOMIK](https://elron.tech/support/#elsomik) -* [Материалы по плате START-MIK32](https://wiki.mik32.ru/%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BB%D0%B0%D1%82%D0%B0_%D0%A1%D1%82%D0%B0%D1%80%D1%82) +* [Материалы по плате START-MIK32](https://docs.mikron.ru/wiki/boards/start.html) * [Телеграмм-канал компании](https://t.me/elrontech) При возникновении вопросов или выявлении проблем можно оставить заявку [здесь](https://gitflic.ru/project/elron-tech/elbear_arduino_bsp/issue). diff --git a/docs/Elbear_description.md b/docs/Elbear_description.md index 7379833..7d2e3e8 100644 --- a/docs/Elbear_description.md +++ b/docs/Elbear_description.md @@ -50,4 +50,5 @@ Интерфейс I2C1 доступен на выводах SDA и SCL, для работы с ним используется экземпляр класса под названием `Wire`. ## Драйверы -Для работы с платой по интерфейсу USB необходим драйвер для микросхемы CH340С, его можно скачать [здесь](https://www.wch-ic.com/downloads/CH341SER_ZIP.html). \ No newline at end of file +Для работы с платой по интерфейсу USB необходим драйвер для микросхемы CH340С, его можно скачать [здесь](https://www.wch-ic.com/downloads/CH341SER_ZIP.html). +Подготовка к работе по интерфейсу JTAG и инструкция по записи начального загрузчика есть [здесь](Instructions.md). \ No newline at end of file diff --git a/docs/Flash_project_jtag.png b/docs/Flash_project_jtag.png new file mode 100644 index 0000000000000000000000000000000000000000..815cc158df564809dbcbcb03ef9900ae84353c9b GIT binary patch literal 41072 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 literal 0 HcmV?d00001 diff --git a/docs/Instructions.md b/docs/Instructions.md index 3e024fa..f3051cf 100644 --- a/docs/Instructions.md +++ b/docs/Instructions.md @@ -1,3 +1,4 @@ +# Установка пакета и предварительная подготовка к работе ## Установка пакета в ArduinoIDE 1. Установите [Arduino IDE](https://www.arduino.cc/en/software). 2. Откройте меню `Файл -> Параметры`. @@ -18,11 +19,12 @@ Для записи начального загрузчика: 1. Подключите плату к ПК по интерфейсу JTAG. Для подключения плат ELBEAR, ELSOMIK потребуется программатор [ELJTAG](https://elron.tech/eljtag-programmator-risc-v-mcu/). -Для подключения платы START-MIK32 необходимо перевести переключатель режима программатора в положение JTAG и подключить плату к ПК через USB разъем. -2. В ArduinoIDE выберите программатор: `Инструменты -> Программатор -> mik32 uploader`. +Для подключения платы START-MIK32 необходимо на плате перевести переключатель режима программатора (COM/JTAG) в положение JTAG и подключить плату к ПК через USB разъем. +2. В ArduinoIDE выберите программатор: `Инструменты -> Программатор -> mik32 uploader`. +![programmer](programmer.png) 3. Для записи начального загрузчика выберите `Инструменты -> Записать Загрузчик`. ![Bootloader](Bootloader_.png) -4. При возникновении проблем с загрузкой ознакомьтесь с разделом `Настройка программатора` в [инструкции](https://elron.tech/wp-content/uploads/2024/05/instrukcija-po-pervomu-zapusku.pdf) по первому запуску платы ELBEAR ACE-UNO или с [документацией](https://wiki.mik32.ru/%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D0%BE%D1%87%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BB%D0%B0%D1%82%D0%B0_%D0%A1%D1%82%D0%B0%D1%80%D1%82) по запуску платы START-MIK32. +4. При возникновении проблем с загрузкой ознакомьтесь с разделом `Настройка программатора` в [инструкции](https://elron.tech/wp-content/uploads/2024/05/instrukcija-po-pervomu-zapusku.pdf) по первому запуску платы ELBEAR ACE-UNO или с [документацией](https://docs.mikron.ru/wiki/boards/start.html) по запуску платы START-MIK32 (ссылки на документацию по плате START-MIK32 актуальны на июль 2025 года, если они не действительны, возможно найти актуальную информацию на сайте производителя - https://mikron.ru/). Теперь можно загружать скетчи в плату по USB. ## Начало работы @@ -40,4 +42,16 @@ 6. Загрузите полученную прошивку на плату. ![Flash_project](Flash_project_.png) 7. При необходимости можно открыть терминал и получать сообщения от платы по интерфейсу Serial. Для этого добавьте в скетч работу с интерфейсом и после загрузки прошивки выберите `Инструменты -> Монитор порта`. -![Monitor](Monitor_.png) \ No newline at end of file +![Monitor](Monitor_.png) + +## Загрузка скетчей через программатор +ArduinoIDE позволяет так же загружать скетчи через программатор. Для этого: +1. Подключите плату к ПК по интерфейсу JTAG. +Для подключения плат ELBEAR, ELSOMIK потребуется программатор [ELJTAG](https://elron.tech/eljtag-programmator-risc-v-mcu/). +Для подключения платы START-MIK32 необходимо на плате перевести переключатель режима программатора (COM/JTAG) в положение JTAG и подключить плату к ПК через USB разъем. +2. Откройте ArduinoIDE и загрузите необходимый скетч. Для начала работы можно воспользоваться готовыми примерами, например - `Файл -> Примеры -> 01.Basics -> Blink`. +3. Выберите активную плату - `Инструменты -> Плата`. +4. Выберите программатор - `Инструменты -> Программатор -> mik32 uploader`. +5. Проверьте скетч, нажав соответствующую кнопку. +6. Для загрузки скетча через программатор выберите - `Скетч -> Загрузить на плату при помощи программатора`. +![Flash_project_jtag](Flash_project_jtag.png) \ No newline at end of file diff --git a/docs/Start_mik32_description.md b/docs/Start_mik32_description.md index 5520583..8fcbfb1 100644 --- a/docs/Start_mik32_description.md +++ b/docs/Start_mik32_description.md @@ -4,7 +4,10 @@ ![Start_V1_pinout.png](Start_V1_pinout.png) ### Загрузка скетчей -Для загрузки скетчей в ArduinoIDE необходимо передвинуть переключатель режима программатора на плате в положение `COM`. Так же необходимо установить две перемычки на разъем 5 - первой перемычкой замкнуть выводы `COM_RX` и `MCU_TX`, а второй - выводы `COM_TX` и `MCU_RX`. +Для загрузки скетчей в ArduinoIDE необходимо передвинуть переключатель режима программатора на плате в положение `COM`. Так же необходимо установить две перемычки на разъем 5 - первой перемычкой замкнуть выводы `COM_RX` и `MCU_TX`, а второй - выводы `COM_TX` и `MCU_RX`. +Для работы с платой по интерфейсу USB не требуется установка дополнительных драйверов. +Подготовка к работе по интерфейсу JTAG и инструкция по записи начального загрузчика есть [здесь](Instructions.md). + ### Цифровые выводы Выводы на плате START-MIK32 пронумерованы в соответствии с их принадлежностью к определенному GPIO-порту и конкретному пину внутри порта. Чтобы использовать цифровой вывод, необходимо передать в функцию номер порта и номер пина в формате `P0_1`, где "0" — это номер порта, а "1" — номер пина внутри порта. Например, для инициализации вывода 5 порта 2 на выход необходимо вызвать функцию `pinMode(P2_5, OUTPUT)`. Для использования доступны следующие выводы: `P0_0 ... P0_15, P1_0 ... P1_15, P2_0 ... P2_7`. diff --git a/docs/elsomik_description.md b/docs/elsomik_description.md index 8f68718..e78a432 100644 --- a/docs/elsomik_description.md +++ b/docs/elsomik_description.md @@ -6,8 +6,9 @@ ![pinout_Elsomik_SE.png](pinout_ElsomikSE.png) ### Загрузка скетчей -На плате отсутствуют встроенные преобразователи, позволяющие загружать скетчи по USB через COM-порт, однако каждая плата поставляется с предварительно записанным начальным загрузчиком. Для записи скетчей через USB потребуется использование внешнего USB-UART преобразователя, подключаемого к выводам платы P0_5 (RX0) и P0_6 (TX0), которые соответствуют интерфейсу UART0. -Перед загрузкой скетча необходимо кратковременно ввести контроллер в состояние RESET. Если используется USB-UART преобразователь с выведенным сигналом DTR, необходимо соединить DTR с выводом RST на плате через керамический конденсатор емкостью от 0,47 мкФ до 2,2 мкФ. В случае отсутствия сигнала DTR, необходимо вручную соединить вывод RST платы с землей и отпустить его непосредственно перед началом записи скетча. +На плате отсутствуют встроенные преобразователи, позволяющие загружать скетчи по USB через COM-порт, однако каждая плата поставляется с предварительно записанным начальным загрузчиком. Для записи скетчей через USB потребуется использование внешнего USB-UART преобразователя, подключаемого к выводам платы P0_5 (RX0) и P0_6 (TX0), которые соответствуют интерфейсу UART0. Для корректной работы так же может потребоваться установка на ПК драйвера для микросхемы, используемой в преобразователе USB-UART. +Перед загрузкой скетча необходимо кратковременно ввести контроллер в состояние RESET. Если используется USB-UART преобразователь с выведенным сигналом DTR, необходимо соединить DTR с выводом RST на плате через керамический конденсатор емкостью от 0,47 мкФ до 2,2 мкФ. В случае отсутствия сигнала DTR, необходимо вручную соединить вывод RST платы с землей и отпустить его непосредственно перед началом записи скетча. +Для записи начального загрузчика или загрузки скетчей с помощью программатора необходимо подключить программатор (например, [ELJTAG](https://elron.tech/eljtag-programmator-risc-v-mcu/)) к выводам TDO, TDI, TCK, TMS, TRST, GND, 3V3. Инструкцию по использованию программатора в Arduino IDE можно найти [здесь](Instructions.md). ### Цифровые выводы Выводы на плате ELSOMIK пронумерованы в соответствии с их принадлежностью к определенному GPIO-порту и конкретному пину внутри порта. Чтобы использовать цифровой вывод, необходимо передать в функцию номер порта и номер пина в формате `P0_1`, где "0" — это номер порта, а "1" — номер пина внутри порта. Например, для инициализации вывода 5 порта 1 на выход необходимо вызвать функцию `pinMode(P1_5, OUTPUT)`. Для использования доступны следующие выводы: `P0_0 ... P0_15, P1_0 ... P1_15, P2_6, P2_7`. Выводы `P0_11 ... P0_15` на плате обозначены иначе, ниже представлена таблица соответствия: diff --git a/docs/nano_description.md b/docs/nano_description.md index f5b92c3..d09bb5a 100644 --- a/docs/nano_description.md +++ b/docs/nano_description.md @@ -53,4 +53,5 @@ Интерфейс I2C1 доступен на выводах A4 и A5, для работы с ним используется экземпляр класса под названием `Wire`. ## Драйверы -Для работы с платой по интерфейсу USB необходим драйвер для микросхемы CH343P, его можно скачать [здесь](https://www.wch-ic.com/downloads/CH343SER_ZIP.html). \ No newline at end of file +Для работы с платой по интерфейсу USB необходим драйвер для микросхемы CH343P, его можно скачать [здесь](https://www.wch-ic.com/downloads/CH343SER_ZIP.html). +Подготовка к работе по интерфейсу JTAG и инструкция по записи начального загрузчика есть [здесь](Instructions.md). \ No newline at end of file diff --git a/docs/programmer.png b/docs/programmer.png new file mode 100644 index 0000000000000000000000000000000000000000..074691701d963670782fde339ebe9f569cd08718 GIT binary patch literal 37822 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 Burn Bootloader -tools.mik32_upload.bootloader.pattern={path}/{cmd} {runtime.platform.path}/bootloaders/{bootloader.file} --run-openocd --openocd-exec={runtime.tools.openocd.path}/bin/openocd{cmd.extension} --openocd-interface={path}/openocd-scripts/interface/{bootloader.interface} --openocd-target={path}/openocd-scripts/target/mik32.cfg +tools.mik32_upload.bootloader.pattern="{path}/{cmd}" "{runtime.platform.path}/bootloaders/{bootloader.file}" --run-openocd --no-driver --openocd-exec "{runtime.tools.openocd.path}/bin/openocd{cmd.extension}" --openocd-interface "{path}/openocd-scripts/interface/{bootloader.interface}" --openocd-target "{path}/openocd-scripts/target/mik32.cfg" tools.mik32_upload.bootloader.params.quiet= # For Sketch > Upload Using Programmer -tools.mik32_upload.program.pattern={path}/{cmd} {build.path}/{build.project_name}.hex --run-openocd --openocd-exec={runtime.tools.openocd.path}/bin/openocd{cmd.extension} --openocd-interface={path}/openocd-scripts/interface/{bootloader.interface} --openocd-target={path}/openocd-scripts/target/mik32.cfg +tools.mik32_upload.program.pattern="{path}/{cmd}" "{build.path}/{build.project_name}.hex" --run-openocd --no-driver --openocd-exec "{runtime.tools.openocd.path}/bin/openocd{cmd.extension}" --openocd-interface "{path}/openocd-scripts/interface/{bootloader.interface}" --openocd-target "{path}/openocd-scripts/target/mik32.cfg" tools.mik32_upload.program.params.quiet= -tools.mik32_upload.program.params.verbose= +tools.mik32_upload.program.params.verbose= \ No newline at end of file diff --git a/variants/elbear_ace_nano/variant.c b/variants/elbear_ace_nano/variant.c index 9847f3b..3333412 100644 --- a/variants/elbear_ace_nano/variant.c +++ b/variants/elbear_ace_nano/variant.c @@ -131,6 +131,11 @@ void additionalPinsInit(uint32_t PinNumber) HAL_GPIO_PinConfig(SELA_A_PORT, SELA_A_PIN, HAL_GPIO_MODE_GPIO_OUTPUT, HAL_GPIO_PULL_NONE, HAL_GPIO_DS_2MA); // SELA_B HAL_GPIO_PinConfig(SELA_B_PORT, SELA_B_PIN, HAL_GPIO_MODE_GPIO_OUTPUT, HAL_GPIO_PULL_NONE, HAL_GPIO_DS_2MA); + + // select A7 via switches selaA, selaB to allow using A4 and A5 as digital outputs + HAL_GPIO_WritePin(SELA_A_PORT, SELA_A_PIN, GPIO_PIN_HIGH); + HAL_GPIO_WritePin(SELA_B_PORT, SELA_B_PIN, GPIO_PIN_HIGH); + selaSwitchesIsInited = true; }