Инструменты пользователя

Инструменты сайта


заливка_прошивки

Заливка уже откомпилированной прошивки

В первую очередь необходимо скачать сам проект. Это можно сделать либо с использованием утилиты git:

git clone https://github.com/anklimov/lighthub.git

Либо, если у вас она не установлена - открываем https://github.com/anklimov/lighthub Далее, нажимаем зеленую кнопку «Clone or download» Выбираем пункт «Download ZIP», скачиваем и распаковываем архив

Переходим в директорию lighthub-master/compiled/<требуемая_платформа> (список платформ выше)

Подключаете плату USB кабелем к компьютеру (кроме платформы NRF52 - там программирование только при помощи специального устройства JLink, об этом позже)

В диспетчере устройств находите порт, на который села плата (например, com3) корректируете номер порта в файле upload.bat, который находится в директории, в которую вы вошли

Запускаете файл на выполнение (если выдается запрос «нажмите любую клавишу» - нажимаете) Прошивка должна загрузиться в ваш контроллер.

Компиляция и заливка с использованием platformio + Atom или VSC

Проект создан с использование Platformio , аналога Arduino IDE.

Сперва необходимо скачать Visual Studio Code или Atom, установить Platformio в качестве плагина. В интернете много материалов и видеоуроков на эту тему. Скорее всего потребуется установить клиент Git (Для Windows https://git-scm.com/download/win).

Далее, как и в предыдущем случае, необходимо скачать сам проект. Проект создан с использование Platformio , аналога Arduino IDE.

Это можно сделать либо с использованием утилиты git:

git clone https://github.com/anklimov/lighthub.git

Либо, если у вас она не установлена - открываем https://github.com/anklimov/lighthub Далее, нажимаем зеленую кнопку «Clone or download» Выбираем пункт «Download ZIP», скачиваем и распаковываем архив

В Atom или VSC выбираем пункт «Открыть директорию» (Open Folder), и указываем директорию lighthub.master (или в директорию lighthub если использовался git)

Далее, выбираем файл platformio.ini и раскомментариваем в нем нужный вам вариант платформы (платы) в пункте env_default (убираем ; перед строкой, содержащей нужную платформу, добавляем - перед строкой, содержащей ненужные платформы)

NEW - если используете среду VSC (рекомендуется) - то можете ничего не комментировать/раскомментировать а просто выбрать нужную платформу в меню «switch PlatformIO Project environment» (нажмите на Default (lighthub) в самом ннизу экрана)

Для платформы DUE: обязательно придется найти фаил variant.cpp по пути .platformio/packages/framework-arduinosam/variants/arduino_due_x и вставить в него последней строкой следующую строку

void USART0_Handler(void) __attribute__((weak)); 

сохранить.

(К сожалению, внести это простое изменение в штатный репозиторий arduino не удалось никому из тех, кто создавал Pull request)

Нажимаем кнопку «Build» Platformio скачивает все нужные библиотеки и компилирует код. Возможно придется несколько раз повторить эту операцию, так как по непонятным причинам, platformio может выдавать ошибки, не скачав какую-то библиотеку.

Если компиляция прошла успешно, можно подключить плату USB кабелем и нажать кнопку Upload

Компиляция и заливка с использованием platformio. Вариант командная строка

Для того что бы прошить плату в первую очередь необходимо скачать сам проект https://github.com/anklimov/lighthub и установить Platformio

* Если Вы считатет себя джедаем и не ищете легких путей то работать с платформио можно через командную строку. Для этого нужно:

  1. установить Python 2.7,
  2. установить git.

* Модифицировать PATH. идем: мой компьютер→правой кнопокой мыши вызываем контекстное меню→свойства→в появившемся окне «переменные среды»→ в окне «Системные переменные» выбираем переменную Path →изменить→добавляем строку

;C:\Python27;C:\Python27\Scripts

* Установить Platformio открываем командную строку (поиск в «Пуске» cmd.exe) вводим команду

 pip install -U platformio 

Учтите, что Platformio установится по умолчанию в папку пользователя

 С:\Пользователи\Имя пользователя\.platformio

Python 2.7 не поддерживает кириллицу, если имя пользователя написано кириллицей, необходимо скопировать папку Platformio в корень диска C:\ и изменить путь к рабочему каталогу в фале platformio.ini (который находится в ранее скачанной папке lighthub-master), указав после строки [platformio] следующую строку:

home_dir = C:\.platformio

Сохраняем файл. Открываем папку lighthub-master, в строке отображающей путь вводим cmd и нажимаем enter или же выбираем папку в командной строке любым другим способом.

Для платформы DUE: обязательно придется найти фаил variant.cpp по пути .platformio/packages/framework-arduinosam/variants/arduino_due_x и вставить в него последней строкой следующую строку

void USART0_Handler(void) __attribute__((weak)); 

сохранить.

Далее вводим

pio run -e <платформа>

Вариант <платформа> выберете в зависимости от используемой аппаратной платформы.

; Arduino Mega (without one-wire driver) + Ethernet shield Wiznet 5100
; Компактная сборка для Mega2560
;    mega2560slim-5100

; Arduino Mega + Ethernet shield Wiznet 5100

;    mega2560-5100

; Arduino Mega  + Ethernet shield Wiznet 5500
;    mega2560-5500

; LightHub controller HW revision 2.1 and above (Wiznet 5500 CS on pin 53)
; Если у вас плата LightHub версии 2.1 или более новая + DUE - используйте эту конфигурацию 
;    **lighthub21**

; Arduino DUE  + Ethernet shield Wiznet 5100 or 5200 or 5500
; Предпочтительный вариант для DUE с Ethernet Shield (не для платы LightHub), базированный на универсальном драйвере
;    **due**

; Arduino DUE  + Ethernet shield Wiznet 5100
; вариант для DUE с Ethernet Shield 5100 (старый драйвер, будет убран в следующем релизе)
;    due-5100

; Arduino DUE + Ethernet shield Wiznet 5500
; вариант для DUE с Ethernet Shield 5500 (старый драйвер, будет убран в следующем релизе)
;    due-5500

; ESP 8266   
;    **esp8266-wifi**

; ESP-32 
;    **esp32-wifi**

; M5Stack core (ESP32 based)
;    m5stack

; Controllino
;    controllino

; STM32 board + ENC28j60 network
;    stm32-enc2860

; NRF52 board + Wiznet 5500 network
;    nrf52840-5500

Пример: «due-5100» - это плата Arduino DUE + Ethernet Shield v1 на чипе Wiznet-5100

В общем случае, используйте варианты без указания 5100 или 5500 - в этом случае будет использован универсальный драйвер Wiznet

Если плата LightHub версии 2.1 или выше то используйте опцию «lighthub21»

Проект должен скомпилироваться без ошибок.

ЧАСТО Platformio выдает ошибки на ровном месте (не находит какие-либо файлы). В этом случае, повторный запуск компиляции часто решает эту проблему

Если ошибок нет вводим

pio run -e <платформа> -t upload

Программа должна залиться в аппаратную платформу.

Если возникли ошибки: Попробовать очистить папку с библиотеками .piolibdeps и .pioenv удалив все их содержимое

Использование Arduino IDE для компиляции и заливки прошивки

Это достаточно трудоемкий процесс, который требует, чтобы вы вручную установили массу библиотек в IDE. platformio - намного более гибкое и профессиональное средство - лучше и проще использовать его. Если для кого-то будет важно освоить именно этот метод - пишите, мы пополним инструкцию.

Если возникают проблемы - пишите на форуме или в группу Телеграмм

(Вы, также, можете улучшать эту инструкцию)

заливка_прошивки.txt · Последнее изменение: 2024/05/22 00:22 — Admin