Как построить загрузчик?

Navintiwari08
Сб 22 августа 2015 г. 16:34
Привет!! Это Навин. Я работал с 8 -битными микро контроллерами, включая PIC, 8051 и AVRS (с Arduino). Я действительно хотел что -то начать с Arm Cortex M3. Итак, я получил общую плату STM32F103X и искал способ использовать ее с Arduino. В описании говорится, что загрузчик STM32Duino использует PIN PC14 (используется для DFU, если этот штифт подходит высоко во время загрузки). Плата, которую я имею, использует STM32F103C8T6 MCU и PIN PC14, является OSC I/P для резонатора 32768 Гц. Теперь я знаю, что это можно изменить в загрузчике, чтобы можно было создать «кнопку», чтобы использовать какой -то другой пин. Я новичок в понимании загрузчиков и их структуры, и если это не так уж и много, может ли кто -нибудь сказать мне, как мне восстановить (компилировать) этот загрузчик с небольшими изменениями в определениях PIN -код и где получить необходимые файлы и инструменты. По сути, я хочу знать шаги по созданию загрузчика самостоятельно из файлов C и заголовков и где их получить. Спасибо за ваше время!

Держите это гореть
-Навин

ZMEMW16
Сб 22 августа 2015 г. 18:06
Сначала нужно вытащить и установить arduino_stm32? Нет, он строит отдельную, хорошую идею, хотя
https: // github.com/rogerclarkmelbourne/arduino_stm32

Разверните ZIP под ~/sketchbook_stm32/hareware
У меня есть отдельные каталоги Sketchbook для AVR и STM32; ./.Arduino15 - это другое дело....

https: // github.com/rogerclarkmelbourne/ ... загрузчик

Потяните молнию & Расширить ~/sketchbook_stm32/hardware/arduino_stm32/stm32duino-bootloader/level
должен дать вам Readme.MD -файл и каталог STM32F1

CD ~/SketchBook/Adware/arduino_stm32/stm32duino-bootloader/stm32f1
добавить раздел в конфигурацию.h как/если требуется, следуя шаблону в конфигурации.час

Добавьте цель в Makefile снова после шаблона там

сделать чистоту && Сделайте Generic-PZ4 :-)

или для всех на платформе Linux
Ибо я в A1 A9 B9 C13 D1 D2 E2 E5 G15; && сделать Generic-P $ i; сделано

Без сомнения, это исправлено по мере необходимости :-)

вики?? имеет больше деталей??

Стивен

Rogerclark
Сб 22 августа 2015 г., 21:42
Я попытался много подробностей в чтении STM32Duino-Bootloader, пожалуйста, посмотрите на это сначала.

В Windows вам нужно установить марки? У меня установлен Winavr, который установил. Это может быть самый простой способ получить.

Для новых целей вам нужно изменить Makefile, есть линия, которую вам нужно добавить для вашей новой цели, и вам также нужен новый раздел правил, чтобы сказать, как построить новую цель.
Но если вы посмотрите на Makefile, довольно просто увидеть, что вам нужно добавить, я.e Просто скопируйте и измените одну строку для цели, скопируйте и измените последний блок прогонов для другой цели.

Тогда вам просто нужно добавить еще один блок IFDEF в конфигурации.

Примечание. Кнопка необязательна, а также обратите внимание на то, что вы настраиваете, если нажатое кнопку

Navintiwari08
Sun 23 августа 2015 г. 15:07
Я попробую это, как предложил вам, ребята. Вернется назад на случай, если я застрял. Между тем, это общая доска, которую у меня есть. У меня также есть плата STM Nucleo L152RE, которую я использую с Keil, чтобы узнать больше о программировании Cortex M3. Вот общая доска, которую я упомянул.

Изображение

Он имеет только один светодиодный «D1», который соединен между VCC и GND через резистор. Просто хотел выпустить это. Любая информация об этом приветствуется.

Rogerclark
Sun 23 августа 2015 г., 8:52 вечера
У меня такая же доска, но у нее много проблем.

Я думаю, что у него нет 1.5K -резистор подтягивания на USB D+, также, кажется, есть некоторые проблемы с запуском.
Большинство из этих плат, вы можете загрузить через сериал и запустить эскиз, но если вы измените ссылку на загрузку и попытаетесь работать сразу после Powerup, он не работает.

Ну, некоторые платы запускают код сразу после загрузки, но большинство не.

Я подозреваю, что неисправное производство или плохой дизайн оборудования

Navintiwari08
Пн 24 августа 2015 г., 17:22
Я нашел .PDF -файл, содержащий схему мини -платы STM32. Также проверяется с помощью многометра, USB D+ имеет 1.5K подтягивается. Ищите перемычку P2 и резистор R13. Вот как подтягивается USB D+.. USBD+>R11>П2>R13>3.3В. Резистор R11 составляет около 22 Ом. Я думаю, что это ограничить ток из порта USB на борту. Вот файл. Надеюсь, это каким -то образом поможет. http: // www.солнечный пятна.сопутствующий.Великобритания/Проекты/Ардуи ... Яграмма.PDF

Ахулл
Пн 24 августа 2015 г., 8:28 вечера
Navintiwari08 написал:Я нашел .PDF -файл, содержащий схему мини -платы STM32. Также проверяется с помощью многометра, USB D+ имеет 1.5K подтягивается. Ищите перемычку P2 и резистор R13. Вот как подтягивается USB D+.. USBD+>R11>П2>R13>3.3В. Резистор R11 составляет около 22 Ом. Я думаю, что это ограничить ток из порта USB на борту. Вот файл. Надеюсь, это каким -то образом поможет. http: // www.солнечный пятна.сопутствующий.Великобритания/Проекты/Ардуи ... Яграмма.PDF

Rogerclark
Пн 24 августа 2015 г., 21:34
22 Ом на USB -линии нормально.

Глядя на схему, я не вижу никаких очевидных причин, почему эти доски, похоже, не работают.

Возможно, кристаллы или колпачки генератора дефектны.

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

C_D
Четверг 31 августа 2017 г. 2:35
Я знаю, что это действительно старая ветка, но эти инструкции все еще верны для создания загрузчика? Размещает ли необходимые файлы в папку Arduino, не кажется, что для его создания используется какая -либо часть системы Arduino.

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

В настоящее время я получаю:
Система не может найти указанный путь.
mkdir -p build/stm32_lib
Синтаксис команды неверный.
сделать: *** [начало] ошибка 1
РЕДАКТИРОВАТЬ:
Насколько я вижу, MKDIR в Windows не поддерживает флаг -P, который подразумевает, что Makefile должен работать под Linux, но затем присутствие .Файлы летучей мыши меня смущает...

C_D
Пн, сентябрь 04, 2017 3:13
Для тех, кто читает эту ветку в будущем, Makefile работает только под Linux, .Файлы летучей мыши больше не являются частью процесса сборки. Также убедитесь, что в вашем пути есть компилятор GCC-Arm-None-EABI-4_8-2014Q3. Чтобы не помещать компилятора на пути навсегда, я сделал это с помощью короткого сценария ниже:
export PATH=$PATH:~/opt/gcc-arm-none-eabi-4_8-2014q3/bin make generic-pc13

Rogerclark
Пн сентября 04, 2017 5:20 утра
Makefile работает нормально под Windows, если вы делаете установку

Вам нужно установить GCC-Arm и на вашем пути.

Двоичные файлы, которые находятся в GitHub, были составлены с использованием GCC 5.4 2016Q2, но более старые версии скомпилированного, используемых для работы OK (так как изначально я использую тот же компилятор, который использует Arduino IDE I.E 4.8.4-2014Q1

C_D
Пн, сентябрь 04, 2017 8:01 вечера
Я был установлен в Windows, это были все папки, которые не удались для меня. Makefile имеет Мкдир с флагом -p, который не работает на моих окнах, а также rm Для удаления файлов.

Rogerclark
Пн, сентябрь 04, 2017, 21:43
Я обычно использую клиент командной строки GitHub в качестве оболочки при строительстве.

Вы можете попробовать использовать Shell Windows Power

C_D
Пн, сентябрь 04, 2017 22:27
Ах, да, это может сделать это.

Не беспокойтесь, я все настроен, чтобы скомпилировать его под Linux, и, кажется, работает нормально :)

Rogerclark
Пн, сентябрь 04, 2017 22:33
КСТАТИ

Я не проверял, но ваше шестигранное значение выглядит неправильно

Ценность, которую я получаю

0x0050400

Как вы рассчитали значение, которое вы используете ?

Вы объединили рисунок бита (0x1 << 18) так, чтобы не было затронуто никаких других битов от битов от 18 до 22 ?

Сениман
Вт 20 ноября 2018 г. 9:53 утра
Всем привет,

Я планирую сделать пользовательский загрузчик для STM32, который будет читать Winbond Flash.
Начальная проблема - создание загрузчика STM32.
Я давно читал для этого https: // github.com/rogerclarkmelbourne/ ... загрузчик и обсуждение здесь https: // www.STM32duino.com/viewtopic.PHP?P = 33961.

Но я до сих пор не могу узнать, как построить загрузчик.
Я в ОС Windows 10.
Где мне следует скачать GCC ? Может здесь https: // launchpad.net/gcc-arm-rembed/ ... -Q2 Update ? Или, может быть, здесь https: // gcc.гну.орг/релизы.HTML ?
Или, может быть, GCC является частью Eclipse MCU https: // github.com/gnu-mcu-eclipse/arm- ... C/выпуски ?

А затем, где также следует загрузить марку ?
Или это автоматически существует, когда я устанавливаю GCC ?

Я скачал GCC 4.8.1 от https: // gcc.гну.орг/релизы.HTML, Но весь контент - это C -код, я не знаю, как выполнить.
Я также загрузил Eclipse и все его сборка инструментов, но я думаю, что это не правильный метод, используемый для компиляции загрузчика.
Сейчас я скачиваю https: // launchpad.net/gcc-arm-rembed/ ... -Q2 Update, но еще не завершено, так как мое домашнее подключение к Интернету очень плохое.

Кто -нибудь, пожалуйста, помогите мне.

Спасибо.

Mrburnette
Вт 20 ноября 2018 г., 16:08
Очевидно, просмотрите эту ветку от начала до конца, затем продолжайте здесь:
http: // wiki.STM32duino.com/index.PHP?title = bootloader

[STM32Generic] F429i Discovery