[Решено] нужно некоторое руководство по программированию шестнадцатеричного файла

Gmc
Вт 18 декабря 2018 г., 6:50 утра
Я новичок в платах STM32, но не для Arduino и пытается программировать доску. Я думаю, что я читал слишком много, как сейчас хожу по кругу, пытаясь получить это. Пробовал слишком много инструментов (STM32 Flasher, ST-Link Utility, Flash Load Demo) и Am Lost :(

Я получил одну из этих досок от eBay, это Diymore STM32F407VGT6

Изображение

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

Итак, первое, что я положил перемычку на Boot1, Power Up и Under Linux я вижу обнаруженную плату:
[25494.572667] USB 7-1: новое USB-устройство, найдено, idvendor = 0483, iDproduct = df11
[25494.572669] USB 7-1: Новые строки USB-устройства: MFR = 1, продукт = 2, серийный доход = 3
[25494.572671] USB 7-1: Продукт: STM32 Bootloader
[25494.572672] USB 7-1: Производитель: Stmicroelectronics
[25494.572673] USB 7-1: SerialNumber: XXXXXXXXXXXX
Затем попробовал утилиту ST-Link под Windows. Загрузите драйверы, запустите ST-Link, выберите Connect, и он не может подключиться к плате. :?

Затем я попробовал dfu-util и сумел запрограммировать предварительно скомпилированное .Файл корзины. Идеально, теперь мигает.

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

Запустите Arduino IDE 1.8.8 в рамках Linux, диспетчера платы Linux и установить платы Arduino Sam. Проблема теперь под портом я не вижу порта. Только /dev /ttys0. Также попробовал Arduino под Windows, та же проблема. Единственное, что я вижу, это «устройство STM в режиме DFU»

Может кто -нибудь помочь и избавиться от моих страданий. Нужен ли это другой загрузчик или что -то в этом роде?

Беннебой
Вт 18 декабря 2018 г. 8:57 утра
Я думаю, что проблема, с которой вы собираетесь столкнуться, заключается в том, что ни у одного из доступных ядер нет загрузки DFU для F4 (пожалуйста, поправьте меня, если я ошибаюсь, все, что у вас, гуру).

Я не уверен, будет ли загрузка шестнадцатеристики через ST-Link, но ST-Link, безусловно, является правильным способом перейти на программу этой платы-я предполагаю, что вы подключили перемычки из ключа STLINK к правильным булавкам на плате : он не подключается к доске через USB.

Вы можете проверить соединение с собственным программным обеспечением ST ST-Link. На самом деле это, вероятно, самый простой способ загрузить шестнадцатеричный.

Кроме того, есть ли у вас ссылка на проект, который вы пытаетесь мигать на доске, предположительно .HEX был составлен для этого конкретного устройства?

PS, этот пост от Mrburnette очень полезен для людей, пытающихся начать -> http: // stm32duino.com/viewtopic.PHP?f = 2&t = 3111

Gmc
Вт 18 декабря 2018 г. 9:02 утра
Спасибо за ответ.
Вот ссылка на .Гекс

https: // github.com/robinhedward/unocar ... rt.эльф.гекс
Я предполагаю, что вы подключили перемычки из ключа Stlink к правильным булавкам на плате: он не подключается к плате через USB. Я думаю, это моя проблема. Я подключился к плате, используя USB -кабель и закороченной Boot1. Есть ли особый ключ Stlink, который я должен использовать?

Беннебой
Вт 18 декабря 2018 г. 9:09
[Gmc - Вторник 18 декабря 2018 г. 9:02] - Я думаю, это моя проблема. Я подключился к плате, используя USB -кабель и закороченной Boot1. Есть ли особый ключ Stlink, который я должен использовать?
Да :)

Перейдите на eBay (или Ali -Express, или на ваш выбор поставщика оборудования), и ищите «ST -Link V2» - клоны доступны по очень разумным ценам - убедитесь, что он поставляется с некоторыми перемычками в стиле DuPont с правильными гендерными концами Для вашей настройки (обычно вам нужна женщина) - это то, что вам нужно).

AG123
Вт 18 декабря 2018 г. 9:13 утра
я думаю, что это должен быть boot0

Эта ветка полезна
ViewTopic.PHP?F = 39&T = 1976

И вот как я установил свой эскиз на своей плате над DFU, просто обычный USB -кабель, установленный над DFU,
Нет дополнительных ключей
ViewTopic.PHP?F = 39&T = 1976&начало = 10#p26203

Когда вы захотите запустить сам эскиз, вам нужно очистить как Boot0, так и сброс и сброс, а затем запустит ваш эскиз.
Если вы установите загрузочный загрузчик DFU, следовательно, вы видите устройство DFU STM32 в журналах

Но ST-Link может быть более удобным

Убедитесь, что вы используете действительное ядро ​​и компиляция для действительной платы E.глин. STM32F407*
Для ядра Libmaple инструмент dfu-util связан в ядре
https: // github.com/rogerclarkmelbourne/arduino_stm32
https: // github.com/rogerclarkmelbourne/ ... занижаем

Вы найдете это в инструментах/победе
Но я бы посоветовал получить последнюю DFU-UTIL от происхождения
http: // dfu-util.Sourceforge.сеть/
Для Windows вам нужно будет установить стек драйверов, чтобы DFU-UTIL работал, это часть установки ядра Arduino_stm32

Беннебой
Вт 18 декабря 2018 г. 9:18 утра
Кстати, интересный проект.

Доска, которую он предлагает на связанном PDF, представляет собой плату обнаружения, которая использует то же устройство, но также имеет встроенный в них ST-Link.

Возможно, вам потребуется повторить часть схемы обнаружения, если проект опирается на кнопки/светодиод и т. Д., но наверняка стоит пунта.

Беннебой
Вт 18 декабря 2018 г. 9:19
[AG123 - Вт 18 декабря 2018 г. 9:13] - И вот как я установил свой эскиз на своей плате над DFU, просто обычный USB -кабель, установленный над DFU,
Нет дополнительных ключей
ViewTopic.PHP?F = 39&T = 1976&начало = 10#p26203
Это действительно полезно, я даже не думал об использовании инструментов непосредственно за пределами IDE.

AG123
Вт 18 декабря 2018 г. 9:32 утра
Я думаю, что есть несколько дополнительных уловов об этих платах STM32F407*, найдите схему, если это возможно, внешний кристалл HSE может работать со скоростью, которая не является дефолтом в ядре (E.глин. Некоторые доски используют кристалл 25 МГц вместо кристалла 16 МГц)

подробно просмотрите тему Стива
ViewTopic.PHP?F = 39&T = 1976

и просмотреть потоки в разделе на платах STM32 F4
ViewForum.PHP?F = 39

Я не играл со своими досками F407, моими начальными штрихами с этими досками, ощущение, что они гораздо большую производительность по сравнению с простыми Maple Mini или Blue Pills (STM32F103)

Gmc
Вт 18 декабря 2018 г. 9:33 утра
Спасибо, я заказал ключ с eBay на случай, если я не смогу сделать это сегодня.

Я посмотрю на dfi-util. Я запрограммировал файл Blink Bin, который я нашел в сети, который работал.
Проблема сейчас в том, как мне преобразовать шестнадцатеричный файл в бин. Прочитает, но это выглядит многообещающе.

Это интересный проект, кнопки не требуется, поэтому я должен быть в порядке, используя этот клон.

AG123
Вт 18 декабря 2018 г. 9:37 утра
Нашел это ;)
http: // hex2bin.Sourceforge.сеть/

Другое дело, чтобы взглянуть на призыв к objcopy

ARM-None-Eabi-objcopy -o Бинарный файл.эльф

делает файлы bin

ARM-None-Eabi-objcopy -o iHex файл.эльф

делает шестнадцатеричные файлы

AG123
Вт 18 декабря 2018 г. 9:51
И также проверяйте схемы платы, STM32F407 имеет 2 USB -порта, один из них нормальный полный USB -порт, другой - это порт OTG
Загрузчик STM32 встроенной загрузки работает только на * только один * из порта USB (я думаю, что это не OTG-порт)
ViewTopic.PHP?F = 39&T = 1976&начало = 10#p26203

Беннебой
Вт 18 декабря 2018 г. 9:56 утра
[AG123 - Вторник 18 декабря 2018 г. 9:32 утра] - Я думаю, что есть несколько дополнительных уловов об этих платах STM32F407*, найдите схему, если это возможно, внешний кристалл HSE может работать со скоростью, которая не является дефолтом в ядре (E.глин. Некоторые доски используют кристалл 25 МГц вместо кристалла 16 МГц)
Я погрузился в исходный код -> https: // github.com/robinhedward/unocar ... TM32F4XX.в

И похоже, что он использует дефолты... 168 МГц & 25 МГц HSE, но я могу читать это неправильно...

AG123
Вт 18 декабря 2018 г. 10:02
На самом деле в предыдущем посте я отметил успех в использовании DFU-UTIL для установки двоичного файла
Я предполагаю, что «неправильная» скорость кристаллов HSE может отразить как USB-сериал, который «не будет работать», но что светодиод мигает
Что ж, я не совсем вмешался с этим, но есть некоторые доски «мини -» F407VET и F407ZET, которые поставляются с различными скоростями ХЭЗ из скорости STM32F407 Vet Black Boards

Беннебой
Вт 18 декабря 2018 г. 10:31
Хорошая работа, Сент-Линк находится в посте, тогда :ржу не могу: :ржу не могу:

Gmc
Вторник 18 декабря 2018 г. 14:21
Я попробовал утилиту hex2bin и пропутал файл DFU-UTIL. Не на 100%, если это сделано правильно, но это не работает (или моя проводка вырублена)

Файл Blinker Bin по -прежнему работает, так что, по крайней мере, ничего не жарено. Буду ждать моего ST Link v2 и попробуйте еще раз и сообщите обратно.

Беннебой
Вт 18 декабря 2018 г. 14:45
И, глядя на исходный код, не происходит отладка, чтобы увидеть, действительно ли эта вещь на самом деле жива, то есть серийный вывод и т. Д.

Я подозреваю, что вам придется тщательно изучить различия между открытием 407 и вашим димор, т.е. отследите каждый вывод, чтобы увидеть, есть ли дополнительное подразумеваемое необходимое оборудование на обнаружении.

Рик Кимбалл
Вторник 18 декабря 2018 г. 15:10
Похоже, что утилита STM32CubeProg от ST может предоставить множество способов загрузки .гекс/.бин/.Эльф -файлы и загрузить их:

https: // www.ул.com/en/development-tools ... eProg.HTML
STM32CubeProgrammer (STM32CubePROG)-это многоопрограммный инструмент для программирования микроконтроллеров STM32.

Он обеспечивает простую в использовании и эффективную среду для чтения, написания и проверки памяти устройства как через интерфейс отладки (JTAG и SWD), так и интерфейс BootLoader (UART и USB).
FWIW: Я только что успешно протестировал с обоими .Гекс и .Файл бин на плате Nucleo-F103 с использованием его Stlink-V2.1 .

Беннебой
Вт 18 декабря 2018 г., 16:00
Теперь это выглядит полезным, ура, что поделиться Риком.

Gmc
Вт 18 декабря 2018 г., 21:02
Спасибо, Рик. Я должен тебе несколько пива.

Perfect, STM32CubeProg установлен, подключен через USB и программирован успешно в течение нескольких минут. Мне потребовалось около 10 часов, чтобы добраться туда :)

Беннебой
Вторник 18 декабря 2018 г., 11:00 вечера
Так что все работает тогда?

Gmc
Ср 19 декабря 2018 г. 10:42
Все работают. : D Подключился к атари и может увидеть меню.

Беннебой
Ср 19 декабря 2018 12:37
Я очень испытываю желание построить один : D

Можете ли вы поделиться загруженным файлом с помощью STM32CubeProg? Я пытаюсь использовать ту же карту STM32F407VGT6 для UnoCart

Ошибка #define pb2 -solved!