Eslipse и DFU

Mgrunt
Пн 11 июля 2016 г. 8:20 утра
Здравствуйте, я играю с SMT32 + SPL и Eclipse в течение двух лет... Теперь я могу использовать DFU для загрузки прошивки. Я пробую загрузку на загрузку Arduino-SMT32 и протекал простой пример Blink LED в Arduino IDE. Он работает без каких -либо проблем. Bud я могу использовать этот загрузчик (DFU и VCP) в Eclipse (с помощью SPL, без библиотеки Arduino). Что я должен изменить, например, в сценарии LD или где -то еще для успешной загрузки? Чип IS STM32F103C8T6 (64 КБ, 20 КБ SRAM).

Спасибо, мг

Mrburnette
Пн 11 июля 2016 г., 13:24
Слишком много ссылок на форум для затмения... Но сайт полностью проиндексирован.

Нажмите для поиска Google Первые результаты выглядят многообещающими.

Луча

Mgrunt
Пн 11 июля 2016 г. 13:48
Хорошо, забыл затмить (я использую Eclipse только в качестве IDE с внешним Makefile)...

Я хочу использовать makefile + spl, *.Ld, *.С. Ничего другого и, конечно, dfu-util.Exe.

Например: у меня есть основная.C для простого светодиодного мигания и макияжа (плюс SPL, LD и S). Нет библиотеки или источника Arduino, нет Arduino IDE. Команда «Сделать» сгенерировать шестнадцатеричный файл. Этот файл я загружаю со ST-Link в MCU и светодиод мигает. Что я должен сделать, когда я могу загрузить этот шестнадцатеричный файл с DFU util. Burn Arduino-Stm32 Bootloader и? Редактировать сценарий LD (установите правый адрес запуска - Skip Bootloader)? Что-нибудь еще?

Спасибо

Рик Кимбалл
Пн 11 июля 2016 г. 13:56
Добавьте пользовательский шаг после сборки в диалоговом окне свойства:

http: // help.затмение.org/mars/index.JSP? ... _steps.htm

Mgrunt
Пн 11 июля 2016 г. 14:26
Я думаю, что это не слишком просто только редактировать шаг после (вы имеете в виду dfu-util.Exe). Я думаю, что это тоже обязательно редактировать сценарий LD (в настоящее время я не использую загрузчик Arduino).

Рик Кимбалл
Пн 11 июля 2016 г. 14:29
Да, сделайте последний шаг на шаг загрузки, используя DFU

Рик Кимбалл
Пн 11 июля 2016 г., 14:35
Или вы можете просто настроить элемент меню внешнего инструмента (меню запустить)

http: // help.затмение.org/kepler/index.младший ... внедрение.htm

Или вы можете создать пользовательский файл Makefile для вашего проекта вместо использования Aclipse Auto-Generates.

Mgrunt
Ср. 13 июля 2016 г. 10:32 утра
Может мы не понимаем... Это не так просто, как я нашел.

Сценарий LD должен быть изменен - ​​ROM (RX): Origin = 0x08002000...
После того, как он сделает шестнадцатурой, соответственно, бинарный (-обеденный), это обязательно сделает MCU сбросить (сброс.py - через VCP).
Затем я могу загрузить двоичный файл в MCU (dfu -util -a 2 -d 1eaf: 0003 -d xxx.мусорное ведро).
Это работает.

Буд, есть небольшая проблема. Часть основной программы должна иметь VCP init, потому что после загрузки Binary to MCU, MCU (USB) оставайтесь в режиме Maple DFU, и я не могу сделать перезапуск программного обеспечения, когда я могу загрузить другую прошивку...

Ekawahyu
Ср. 13 июля 2016 г. 16:19
Мгрут написал:Буд, есть небольшая проблема. Часть основной программы должна иметь VCP init, потому что после загрузки Binary to MCU, MCU (USB) оставайтесь в режиме Maple DFU, и я не могу сделать перезапуск программного обеспечения, когда я могу загрузить другую прошивку...

Mgrunt
Пн 18 июля 2016 г., 7:34 утра
Да, Bud из источников Aurduino IDE/Arduino. Как я уже сказал, я могу использовать DFU и VCP вне среды Arduino, только с SPL (без Arduino IDE, без источников Arduino и т. Д.)...

Ореховый
Чт, 09 февраля 2017 г. 13:34
Извините, что поднял старую ветку.

Но я держусь, чтобы заставить это работать.

Проблема в том, что я не знаю аргументов, чтобы передать в DFU util... в Mac.

Я получил затмение в основном в основном работает, но я не могу загрузить, используя обычный серийный метод Arduino, и я не могу правильно сбросить ручное сброс. По мере сброса вручную выключает доску и скрывает серийный порт.

Итак, какие аргументы я вкладываю?

Листья
Чт, 09 февраля 2017 г., 17:13
DFU-UTIL-это пакет с открытым исходным кодом, который доступен на Mac, Linux и Windows.
Вот страница ручной работы:
http: // dfu-util.Sourceforge.net/dfu-util.1.HTML

Я предполагаю, что вы используете его с помощью загрузчика Maple (https: // github.com/rogerclarkmelbourne/ ... загрузчик)
Тогда вам нужно
1. Пропустите VID: PID USB-устройства с помощью опции «-d»
2. пройти альтернативные настройки, используя "-a". В загрузчике доступно три альтернативных параметра, которые указывают на три разных местоположения.
0: ОЗУ
1: Flash 0x8005000
2: Flash 0x8002000
Выбор их зависит от того, где ваше пользовательское приложение скомпилировано в.
3. Передайте бинарный файл пользователя приложения, который вы хотите загрузить, используя "-d"

Затем вам нужно сбросить его, так как я считаю, что загрузчик входит в состояние Dfumanifest-wait-wait-reset (я могу ошибаться здесь).

Ореховый
Чт, 09 февраля 2017 г., 17:36
Спасибо, к сожалению, у меня новая проблема...

Я обнаружил, что по какой -то причине он пытался запустить версию DFU... И я не мог найти вариант, который заставил его использовать macosx, поэтому я в основном копировал файлы Mac в DIR WIN...

Вроде как работал, удалось заставить его загрузить. Но у меня новая проблема... Я думаю, что это либо повреждает загрузку, либо строитель в Eclipse собирает поврежденный файл. Как когда -то его загружено. Правление не запускает программу или разбит. И у меня даже есть проблемы с получением сериала, чтобы увидеть его после этого.

Reuploading с использованием DFU из Arduino IDE исправляет это. Я предполагаю, что исправляет загрузчик или программу.

Система Eclipse ослаблена как Windows и выполняет плохие сборки или что -то в этом роде?

Я действительно хочу заставить это работать...

victor_pv
Чт, 09 февраля 2017 г. 8:10 вечера
Черная писала:Спасибо, к сожалению, у меня новая проблема...

Я обнаружил, что по какой -то причине он пытался запустить версию DFU... И я не мог найти вариант, который заставил его использовать macosx, поэтому я в основном копировал файлы Mac в DIR WIN...

Вроде как работал, удалось заставить его загрузить. Но у меня новая проблема... Я думаю, что это либо повреждает загрузку, либо строитель в Eclipse собирает поврежденный файл. Как когда -то его загружено. Правление не запускает программу или разбит. И у меня даже есть проблемы с получением сериала, чтобы увидеть его после этого.

Reuploading с использованием DFU из Arduino IDE исправляет это. Я предполагаю, что исправляет загрузчик или программу.

Система Eclipse ослаблена как Windows и выполняет плохие сборки или что -то в этом роде?

Я действительно хочу заставить это работать...

Ореховый
Чт, 09 февраля 2017 г. 20:22
Ну, очень интересно... Если я загружаю тот же набросок из Arduino Ide, который он загружает и работает нормально.

Если я загружаю из Eclipse (Slakeber), я получаю его загрузку, но, похоже, не работает. И серийный порт исчезает, как будто он разбился или что -то в этом роде...

Поэтому я предположил, что Eclipse строит плохой бинар... Однако. Я загрузил мигание через Eclipse, и он работал нормально.

Действительно сбивает с толку.

У меня есть только несколько библиотек, включенных.
#включать <Adafruit_neopixel.час>
#включать <ThreadController.час>

Может быть, Eclipse читает из другой библиотеки или. Это довольно сбивает с толку меня.