Пара вопросов новичков

Петр
Ср. 15 июля 2015 г. 10:58
Всем привет,

Я приезжаю из Arduino World. Я купил Maple Mini Clone (за 4 доллара) и неизму, который Minimum System System System System Minimum модуля STM32F103C8T6 FORARDUIN.75) - на самом деле вот фото: http: // www.Rogerclark.Net/STM32F103 и ... 1-5-x-ide/

Я хотел бы задать вам пару вопросов, которые помогли бы мне быстрее перейти в этот мир мира:

- Доска Noname STM32F103C8T6 получила два желтых прыгуна. Что они делают? Разве у вас не было схемы доски, пожалуйста?

- Мне удалось прошить "generic_boot20_pc13.bin "на noame board, и сейчас она работает хорошо, и DFU быстрее, чем на Maple Mini. Это хорошая идея, чтобы прошить Maple Mini с новым загрузчиком ("MAPLE_MINI_BOOT20.бин ") тоже? Он может выпустить 3 КБ ОЗУ и немного вспышки, я прочитал.

- Какая из этих двух досок "лучше"? Клен имеет вдвое больше вспышки, но отсутствует генератор 32 кГц, справа?

- Что это за четыре штифта на стороне неизму доски? Они отмечены GND, VCC, DIO и CLK.

- Я планирую сделать запястье с этим STM32. Таким образом, цель состоит в том, чтобы минимизировать количество компонентов. Как вы думаете, это хорошая идея, чтобы бежать без внешних кристаллов/осцилляторов? Будет ли внутренней внутренней 8 МГц и 40 кГц достаточно? Я знаю, что USB не будет работать без внешнего 8 МГц, но я могу жить с этим. Любая идея будет ли RTC в порядке (и точнее) с внутренним 40 кГц?

- Программирование в Linux: есть ли веские причины не использовать Arduino IDE 1.6.x с поддержкой STM32? Есть ли хорошие библиотеки? Я полагаю, есть GCC для Arm в складе Ubuntu/Debian, чтобы компилятор не был бы проблемой. Разве Arduino Way добавляет слишком много накладных расходов? Я заметил, что чистый пример мига. Это нормально? Какой код включен по умолчанию?

- В последней поддержке STM32 для Arduino IDE я не могу найти «загрузку в оперативную память», которая раньше была в оригинальном взломанном Arduino 1.5.x для клена. Не может быть добавлена ​​опция RAM обратно? Или лучше всегда загружать на вспышку? У него всего 10 тысяч переписываний, пока не изнашивается, достаточно ли, когда кто -то начинает изучать кодирование рук? :-)

- RTOS: используете ли вы любую «ОС в реальном времени» или, по крайней мере, библиотеку, которая позволила бы выполнять одновременные задачи, не тратят ненужное время в задержках ()?

Хорошо, у меня есть еще несколько вопросов, касающихся уровня поддержки HW (дисплеи, карты Ethernet и т. Д.), Но я оставлю его на потом.

Заранее спасибо за ответы, советы и помощь.

Мадиас
Ср. 15 июля 2015 г. 14:49
Привет, STM32Duino World,

Здесь какое -то быстрое Infos:
Ваша «неимурная доска» хорошо известна на этом форуме: используйте функцию поиска для «синей таблетки» и/или «красная таблетка» (инсайдерская нова ;) )
Размер вспышки STM32F103C8T6: если вам удачи, у вас такой же размер вспышки, чем на Mini (есть поток о «скрытой» флэш -памяти, другой пользователь, пожалуйста, помогите по ссылке)
загрузчик для mini: да, я вижу только преимущества, установленные новым загрузчиком (немного больше ОЗУ/Флэш, быстрее при загрузке...). Убедитесь, что у вас есть серийный USB-конвертер или ST-Link V2, чтобы вы могли исцелить сломанный мини-.
Maple vs Blue Pill: Тем временем нет большой разницы, так как у нас есть универсальный загрузчик (Maple Mini имеет небольшую разнообразную компоновку HW для USB/Bootloader)
GND, VCC, DIO и CLK: Похоже на выгрузки ST LINK. (не было его)
Запястье: внутреннее время - это плохое, очень плохое, даже с 8 МГц, так что добавление. Потребуется 32 кГц.
Загрузка в Ram: был удален Роджером несколько месяцев назад. Поиск потоков. Заключение: полная трата времени на небольшой STM32F1XX, даже простое мигание не вписывалось в ОЗУ
RTOS: используйте RTOS :) В библиотеке таймеров есть сборка: см -> http: // Leaflabs.com/документы/таймеры.HTML ---> Аппаратный таймер
Хорошо, у меня есть еще несколько вопросов, касающихся уровня поддержки HW (дисплеи, карты Ethernet и т. Д.) Пожалуйста, используйте функцию поиска перед публикацией или сначала прочитать раздел библиотеки (у нас есть несколько хороших библиотек для ILI9341, ILI9163C, OLED (SSD1306), Rusty Nokia 5510,...) void setup() { Serial.begin(9600); Serial2.begin(9600); } void loop() { delay(1000); if(Serial2.available()) { Serial.print("Number of bytes to read : "); Serial.println(Serial2.available(),DEC); whlile(Serial2.available()) { Serial.read(); } } }

victor_pv
Ср. 15 июля 2015 г. 15:43
Петр написал:Всем привет,

Я приезжаю из Arduino World. Я купил Maple Mini Clone (за 4 доллара) и неизму, который Minimum System System System System Minimum модуля STM32F103C8T6 FORARDUIN.75) - на самом деле вот фото: http: // www.Rogerclark.Net/STM32F103 и ... 1-5-x-ide/

Я хотел бы задать вам пару вопросов, которые помогли бы мне быстрее перейти в этот мир мира:

- Доска Noname STM32F103C8T6 получила два желтых прыгуна. Что они делают? Разве у вас не было схемы доски, пожалуйста?

- Мне удалось прошить "generic_boot20_pc13.bin "на noame board, и сейчас она работает хорошо, и DFU быстрее, чем на Maple Mini. Это хорошая идея, чтобы прошить Maple Mini с новым загрузчиком ("MAPLE_MINI_BOOT20.бин ") тоже? Он может выпустить 3 КБ ОЗУ и немного вспышки, я прочитал.

- Какая из этих двух досок "лучше"? Клен имеет вдвое больше вспышки, но отсутствует генератор 32 кГц, справа?

- Что это за четыре штифта на стороне неизму доски? Они отмечены GND, VCC, DIO и CLK.

- Я планирую сделать запястье с этим STM32. Таким образом, цель состоит в том, чтобы минимизировать количество компонентов. Как вы думаете, это хорошая идея, чтобы бежать без внешних кристаллов/осцилляторов? Будет ли внутренней внутренней 8 МГц и 40 кГц достаточно? Я знаю, что USB не будет работать без внешнего 8 МГц, но я могу жить с этим. Любая идея будет ли RTC в порядке (и точнее) с внутренним 40 кГц?

- Программирование в Linux: есть ли веские причины не использовать Arduino IDE 1.6.x с поддержкой STM32? Есть ли хорошие библиотеки? Я полагаю, есть GCC для Arm в складе Ubuntu/Debian, чтобы компилятор не был бы проблемой. Разве Arduino Way добавляет слишком много накладных расходов? Я заметил, что чистый пример мига. Это нормально? Какой код включен по умолчанию?

- В последней поддержке STM32 для Arduino IDE я не могу найти «загрузку в оперативную память», которая раньше была в оригинальном взломанном Arduino 1.5.x для клена. Не может быть добавлена ​​опция RAM обратно? Или лучше всегда загружать на вспышку? У него всего 10 тысяч переписываний, пока не изнашивается, достаточно ли, когда кто -то начинает изучать кодирование рук? :-)

- RTOS: используете ли вы любую «ОС в реальном времени» или, по крайней мере, библиотеку, которая позволила бы выполнять одновременные задачи, не тратят ненужное время в задержках ()?

Хорошо, у меня есть еще несколько вопросов, касающихся уровня поддержки HW (дисплеи, карты Ethernet и т. Д.), Но я оставлю его на потом.

Заранее спасибо за ответы, советы и помощь.

Петр
Ср. 15 июля 2015 г. 15:48
Спасибо, мадиас!

В то же время я читал форум и обнаружил, что желтые перемычки Blue Pill - это Boot0 (верхний) и Boot1 (нижний) (в видео Роджера). Проверит расписку микроконтроллера, если она поможет мне выяснить, что подходит для Bootx для.

Я также нашел информацию об удалении поддержки для загрузки кода в ОЗУ для этих 20 КБ STM32F1X.

Видео Роджера также упомянуло контакты ST Link на заголовке. Не уверен, для чего это хорошо, может быть, отладки, не знаю. Узнаю.

Мне все еще интересно, есть ли какие -либо веские причины для программирования досок за пределами Arduino IDE, просто с GCC и Make. С AVRS вам действительно не нужен начальный код, процессор готов мгновенно работать после питания. С помощью рук было бы гораздо сложнее установить оборудование в разумное состояние, чтобы GPIO, I2C, SPI, DMA, таймеры и прерывания работают, понятия не имею.

РЕДАКТИРОВАТЬ: Спасибо, Victor_pv. Я видел нить о вращающихся кубиках. Попробую, когда я прикреплю один из моих ЖК -дисплеев.

Mrburnette
Ср. 15 июля 2015 г. 16:12
Видео Роджера также упомянуло контакты ST Link на заголовке. Не уверен, для чего это хорошо, может быть, отладки, не знаю. Узнаю. ST Link - это аппаратное устройство... USB с одной стороны, и подключения к штифу на другой. Вы бы использовали это для загрузки кода, если не хотите использовать загрузчик. Конечно, затем вы получаете выгоду от дополнительной (небольшой) вспышки, которая существует, где был бы расположен загрузчик.
Мне все еще интересно, есть ли какие -либо веские причины для программирования досок за пределами Arduino IDE, просто с GCC и Make. С AVRS вам действительно не нужен начальный код, процессор готов мгновенно работать после питания. С помощью рук было бы гораздо сложнее установить оборудование в разумное состояние, чтобы GPIO, I2C, SPI, DMA, таймеры и прерывания работают, понятия не имею. ... Если вы программируете за пределами Arduino IDE (этот форум называется Arduino для STM32), но просто хочу использовать Makefile, я думаю, что одна из тем, которые обращаются. https: // github.com/sudar/arduino-makefile
Но вы можете построить Arduino с помощью Make и сделать то же самое, что и в IDE. Теперь, если вы уйдете и напишете ассемблер... Вы должны предоставить все.

Я знаю, что вы с энтузиазмом, но вы просто должны начать использовать поиск на форуме, поскольку Google индексирует этот полный сайт. Когда у вас есть технический вопрос или когда вы попали в кирпичную стену, мы можем быть здесь, чтобы помочь. Не получай всех липков: я говорю каждому новичкам здесь одно и то же! : шок:


Луча

Rogerclark
Ср. 15 июля 2015 г., 21:38
Я думаю, что большинство вопросов ответили, за исключением, возможно,.

Ссылки на прыжок на Boot0 и Boot1. Они контролируют, запускается ли внутренний аппаратный серийный загрузчик в чипе после сброса. Это не имеет ничего общего с нашим загрузчиком, это функция чипа. Boot0 High включает загрузчик, а Boot1 управляет некоторыми параметрами, которые можно сделать с внутренним загрузчиком.
Все это задокументировано STM.

Рэй уже упомянул остальные 4 булавки. Это подключения ARM SWD, которые вы можете загрузить с помощью программиста SWD, таких как зонд Black Magic, Stlink или другие программисты.
Это позволяет в отладке схемы, однако в настоящее время только командная строка GDB (GNU Debugger) работает для всех платформ. Пользователи Linux могут использовать автономный отладчик Eclipse CDT или, возможно, DDD, однако у нас нет простой настройки в схеме отладки в настоящее время.

Re: ОЗУ загружается загрузчиком

Я принял решение удалить это как в целом бесполезно, потому что только наброски, такие как Blink, вписываются в RAM. Я даже вернулся к старой Maple IDE и попробовал со старым загрузчиком, чтобы увидеть, какие оригинальные примеры Leaflabs будут загружаться в ОЗУ, и, насколько я мог судить, это было только мигание, которое подходит.
Кроме того, поскольку способ, которым загрузчик должен сбросить себя после загрузки, были проблемы с надежным определением, был ли набросок в оперативной памяти, который должен работать загрузчик, и у меня было много ложных срабатываний в моем тестировании.

Если вы действительно хотите загрузить в ОЗУ, не стесняйтесь изменить код загрузчика. Большая часть кода оперативной памяти только что прокомментирована, но я бы порекомендовал вам вернуться и посмотреть на первоначальный коммит в репозитории GitHub нового загрузчика, так как я сомневаюсь, что просто не покидает, что связано с загрузкой оперативной памяти, теперь заставит его работать снова.
Но вы действительно будете тратить свое время, если у вас нет особой небольшой программы, вам нужно загрузить более 10 000 раз.
КСТАТИ. 10 000 - минимальное гарантированное количество загрузок в чип. На самом деле подозревается, что число намного выше.

Петр
Ср. 15 июля 2015 г. 11:39
Rogerclark написал: Кроме того, потому что способ загрузчика должен сбросить себя после загрузки

Rogerclark
Чт 16 июля 2015 г. 12:03
Это напоминает мне: нормально ли, что я должен нажать сброс после каждой загрузки эскиза, чтобы запустить его? Как на Maple Mini, так и на синих таблетках. Нет.

Правление должна получить сброс через IDE

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

В основном эскиз на плате имеет некоторый код в фоновом режиме, ожидая отправки специальной последовательности сброса через серийный USB. В Windows это сделано в файле JAR, однако у меня нет источника для банки, поэтому мне пришлось написать отдельные утилиты для загрузки для OSX и Linux (что я сделал около 2 недель назад)

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

Re: Загрузка через Ethernet и т. Д

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

Просто использование Bluetooth Serial было бы проблематично, так как вам нужно найти способ установить Boot0 с внешнего устройства.

Я думаю, что вы могли бы сделать какой -то взломать, например, прикрепить капектор через диод к GPIO к Boot0, а затем в эскизе Boot Boot -Bigh High через GPIO, затем сбросьте ЦП, и до тех пор, пока константа RC была правильной на крышке / Резистор на Boot0 он будет удерживать высокий уровень Boot0 в течение достаточно долгого времени, чтобы сбросить плату и ввести его аппаратный загрузчик.

Загрузки Ethernet понадобится совершенно другой загрузчик, который мог бы общаться через Ethernet и т. Д.

Я не видел загрузчика Ethernet на кленовые доски. Но вы можете искать «STM32F103 Ethernet Bootloader» на случай, если кто -то уже написал один
Не ищите "STM32 Ethernet Bootloader", так как у некоторых процессоров есть на борту Ethernet, следовательно, вы получите множество бесполезны.

Лично я бы выбрал вариант ESP8266.

Mrburnette
Чт 16 июля 2015 г., 1:00 утра
Для Bluetooth этот видеоклип STM объясняет, как приложение может напрямую вызвать загрузчик без Нужно изменить бортовые прыгуны:
https: // youtu.be/cvkc-4tcrgw

Луча

Rogerclark
Чт 16 июля 2015 г. 1:08
Луча

Очень интересно.

Я не понимал, что это возможно.

Редактировать.

Это код, который в настоящее время выполняет сброс в загрузчик

Не похоже на то, что он меняет настройки PLL, поэтому я подозреваю, что какой -то другой код должен быть использован для ввода аппаратного загрузчика
//#define SERIAL_TX_BUFFER_SIZE 64 //#define SERIAL_RX_BUFFER_SIZE 64 #define SERIAL_TX_BUFFER_SIZE 128 #define SERIAL_RX_BUFFER_SIZE 128

Mrburnette
Чт 16 июля 2015 г. 1:52 утра
Rogerclark написал:Луча

Очень интересно.
Я не понимал, что это возможно.
Редактировать.
<...>
Не похоже на то, что он меняет настройки PLL, поэтому я подозреваю, что какой -то другой код должен быть использован для ввода аппаратного загрузчика
<...>

Rogerclark
Чт 16 июля 2015 г., 2:07
Я смотрел видео, и я вижу, что нужно сделать, но нам нужно кодировать его из первых принципалов, так как выглядит так, как будто код Keil использует стандартную периферическую либера Это есть эти функции

Редактировать.

Похоже, здесь есть код

https: // my.ул.com/public/ste2ecommuniti ... Просмотры = 5344

И есть различные другие биты кода, разбросанные по Интернету, которые описывают, как это сделать

Mrburnette
Чт 16 июля 2015 г. 2:46 утра
Rogerclark написал: <....>
Похоже, здесь есть код

https: // my.ул.com/public/ste2ecommuniti ... Просмотры = 5344

И есть различные другие биты кода, разбросанные по Интернету, которые описывают, как это сделать

Rogerclark
Чт 16 июля 2015 г., 2:52
Луча

Не беспокойся

Я оставлю его, чтобы OP использовал код, чтобы сделать это и сообщить. ;-)

Петр
Чт 16 июля 2015 г. 6:29 утра
Rogerclark написал:Это напоминает мне: нормально ли, что я должен нажать сброс после каждой загрузки эскиза, чтобы запустить его? Как на Maple Mini, так и на синих таблетках. Нет.
Правление должна получить сброс через IDE
В основном эскиз на плате имеет некоторый код в фоновом режиме, ожидая отправки специальной последовательности сброса через серийный USB. В Windows это сделано в файле JAR, однако у меня нет источника для банки, поэтому мне пришлось написать отдельные утилиты для загрузки для OSX и Linux (что я сделал около 2 недель назад)

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

Mrburnette
Чт 16 июля 2015 12:30
@Petr,

Очевидно, что у вас есть собственные идеи относительно загрузчика STM32F1XX для загрузки Ethernet; Основываясь на вашем успехе с 8-битной семьей AVR в линии Arduino. Это здорово, но... Мне очень трудно следить за вашими сообщениями, потому что тема каждого из них разбросана с потребностями: в начальном посте вы обсуждаете использование STM32F1XX в часах, затем чуть позже вы хотите использовать щит Ethernet, чтобы вспыхивать пользователя Заявление на другой плате STM32.

Поскольку вы, очевидно, опытные и технически компетентные, вы можете найти ссылку ниже с примечанием к примечанию STM некоторого интереса. UC, нацеленный в примечании, является более продвинутым контроллером, чем STM32F103; то есть STM32F107 имеет встроенный Mac. Абстракция мыслительного процесса с использованием внешнего контроллера Ethernet может, однако, помочь вам и пролить некоторое представление о том, как изменить существующие загрузчики для работы с внешним Ethernet "Shield."
http: // www.ул.com/st-web-ui/static/acti ... 275365.PDF

Если ваш пост не пошевелил аппетит некоторых других в нашей группе, я подозреваю, что вы в значительной степени сами в кодирование нового загрузчика. На самом деле, вы можете быть экспертом по группе по загрузке Ethernet, поскольку у вас есть опыт AVR. Это довольно интересный проект, и я думаю, что, может быть, даже наиболее полезный, но я не нашел никакой соответствующей литературы, непосредственно связанной с контроллером STM32F103.

Удачи,

Луча

Петр
Чт 16 июля 2015 г. 14:02
Mrburnette написал:@Petr,
Мне очень трудно следить за вашими сообщениями, потому что тема каждого из них разбросана с потребностями: в начальном посте вы обсуждаете использование STM32F1XX в часах, затем чуть позже вы хотите использовать щит Ethernet, чтобы вспыхивать пользователя Заявление на другой плате STM32.

Mrburnette
Чт 16 июля 2015 г. 14:42
Петр написал: <...>
Это нормально. Мне дали потерянные полезные указатели в этой теме, чтобы я мог начать. Спасибо всем.
Кстати, загрузчик Bluetooth будет использоваться для часов на запястье, поэтому я мог бы обновить прошивку, не прикрепляя кабели :)
Петр

Петр
Чт 16 июля 2015 г., 21:49
Mrburnette написал:Обновление Bluetooth для часов кажется очень разумным, хотя текущие прорывные платы довольно большие.

Петр
Чт 18 мая 2017 г. 5:27 утра
Два года спустя я выяснил, как будет работать это «удаленное обновление OTA»: я бы прикрепил внешнюю память к интерфейсу SPI STM32. Затем мое приложение получит обновление OTA по Ethernet, Bluetooth, Wi -Fi, 433 МГц беспроводной или любым другим способом и храните каплей во внешней памяти. Наконец, загрузчик (после перезагрузки) проверил, есть ли новая версия прошивки, ожидающую во внешней памяти, и если да, то он будет мигать перед загрузкой в ​​нее.

На самом деле, это не моя идея. Так реализовано обновление OTA в AVR более 2.4 ГГц беспроводной.

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

AG123
Чт 18 мая 2017 г. 12:13
Я думаю, что для STM32 можно записать непосредственно в вспышку на чипе, которое может быть полезно в качестве обновления «OTA», поскольку коды не могут напрямую запустить SPI Flash, для этого прямо, чтобы Flash OTA обновления, I ' D Думайте различные умные часы & Фитнес -трекеры на самом деле используют его ;)

Петр
Чт 18 мая 2017 г. 12:29
Тогда вспышка должна быть разделена на две половинки, как OTA на ESP8266. Это было бы применимо, только если приложение подходит в 64 КБ вспышки. Сторона плюса - это не внешние компоненты и без пайки, просто очень небольшое изменение загрузчика.

Rogerclark
Чт 18 мая 2017 г. 20:42
Посмотрите на STM32Duino-Bootloader в моей учетной записи GitHub, есть эскиз «обновления», который заменяет Bootloader Binary Flash Flash

Чтобы сделать OTA, я подозреваю, что вы лучше всего подходите, чтобы построить его в загрузчик.
Вы можете использовать NVRAM для передачи команды / флага в загрузчик, и уже есть частичная поддержка для этого.

Bootloader в конечном итоге станет больше, но если вы сможете сохранить размер ниже 0x5000, вы можете использовать существующую настройку в IDE, которая поддерживает старый (более крупный) загрузчик

Петр
Чт 18 мая 2017 г. 9:05 вечера
Конечно, код OTA должен быть в загрузчике, но моя текущая идея состоит в том, чтобы получить новую прошивку из внешней флэш -памяти, прикрепленной к интерфейсу SPI (вместо того, чтобы читать ее из USB/Serial).

Rogerclark
Чт 18 мая 2017 г., 22:12
Просто добавьте код в загрузчик для функциональности, чтобы получить OTA через SPI и сохранить существующую функциональность.

Как я уже сказал, хотя вам нужно сбросить процессор для ввода загрузчика, данные по адресам NVRAM сохраняются.

Таким образом, вы должны поместить магический номер для своей нагрузки из OTA в NVRAM, получите код, чтобы сбросить в загрузчик, как обычно.

Bootloader проверяет NVRAM, и если он находит команду OTA, он не инициирует USB, DFU и т. Д...)

AG123
Пт 19 мая 2017 г., 7:48
Тяжелая часть обновления «OTA» не является самой мигающей (написанием во Flash), а беспроводной стек загружает изображение и сохраняет сохранение во Flash.
Одна из довольно забавных возможностей состоит в том, что у вас есть «эскиз», который делает этот OTA, этот эскиз * проницательный * в том, что он разделен на 2 больших частях, первая часть - просто начинать с обычной точки входа (0x8002000 ( STM32duino Bootloader) или 0x8005000 (Maple Bootloader)), затем он «оставляет» все это место и скажем, прыгните в другое место, скажите E E.глин. 0x8018000 96K в вспышку и запустите код OTA там. Это потребует некоторых манипуляций со сценариями LD («рассеяние нагрузки»), чтобы сделать такое изображение

Код OTA может затем «загрузить» изображение и написать его обратно на 0x8002000 в этом блоке 96K, который вы «зарезервировали» ранее, предполагая, что у вас есть 128K Flash на нем :ржу не могу:

Rogerclark
Пт 19 мая 2017 г. 8:05 утра
Да.

Загрузка файла BIN обновления будет гораздо больше, чем его прошивая.

Существуют различные стратегии, о которых делает Cuck of Code, и это зависит, если вы хотите иметь возможность обновить код загрузчика и загрузку, что вы в конечном итоге делаете

Включение загрузчика как часть эскиза, вероятно, проще всего написать, так как вы можете использовать SPI и другие LIBS и написать на внешнюю вспышку

Затем перезагрузитесь с использованием NVRAM (я думаю, он на самом деле называется регистром BPK), чтобы использовать данные внешней вспышки, чтобы вспыхивать эскиз

Петр
Пт 19 мая 2017 г. 8:10
Получение новой прошивки, конечно, сделано по моему эскизу, я упомянул, что. Это гораздо проще, чем пытаться вписать драйверы для различных аппаратных средств, стека TCP/IP и FTP или HTTP в загрузчику, так как эти биты будут частью эскиза, в любом случае.

Кроме того, это совершенно универсальный подход, поскольку он зависит от пользователя и их эскиза, как они получают новую прошивку, хранящуюся во внешней вспышке - если через проводное или беспроводное соединение или каким -либо другим способом. Загрузчик просто проверяет, есть ли новая версия и не волнует, откуда она и как.

Кстати, теперь, когда мы обращаем внимание Роджера - вы заметили улучшение USB HID в другой ветке? ViewTopic.PHP?f = 13&t = 576 Вы включите его в основное репо?

AG123
Пт 19 мая 2017 г. 8:12
Этот погрузчик OTA в стратегии «Top» также несколько проницательный в том смысле, что у вас будет эскиз, который, возможно, имеет возможность прыгать в OTA каждый раз, когда вы хотите делать обновление OTA. Коды OTA могут оставаться там в «топ», как обычный загрузочный погрузчик, не перезаписывая его :ржу не могу:

Обновления USB HID понадобятся различные тесты, чтобы увидеть, что после того, как все работает ОК, использование композитных устройств может привести к различным сюрпризам совместимости.
В дополнение к этому, устройство HID может сказать функционирование как *мышь *, оно может непосредственно «мешать» операции на рабочем столе, если оно запрограммировано на это, что делает использование реальной мыши сложной / невозможно.

Но главным образом будут композитные устройства, которые могут потребовать некоторой «специальной» поддержки на рабочем столе (Windows, Linux и т. Д

Rogerclark
Пт 19 мая 2017 г. 10:29
Петр написал:Получение новой прошивки, конечно, сделано по моему эскизу, я упомянул, что. Это гораздо проще, чем пытаться вписать драйверы для различных аппаратных средств, стека TCP/IP и FTP или HTTP в загрузчику, так как эти биты будут частью эскиза, в любом случае.

Кроме того, это совершенно универсальный подход, поскольку он зависит от пользователя и их эскиза, как они получают новую прошивку, хранящуюся во внешней вспышке - если через проводное или беспроводное соединение или каким -либо другим способом. Загрузчик просто проверяет, есть ли новая версия и не волнует, откуда она и как.

Кстати, теперь, когда мы обращаем внимание Роджера - вы заметили улучшение USB HID в другой ветке? ViewTopic.PHP?f = 13&t = 576 Вы включите его в основное репо?

Петр
Пт 19 мая 2017 г. 10:37 утра
Вы говорите о USB -филиале, но «Либарра» говорит о «его репо»:
ViewTopic.PHP?f = 13&t = 576&начало = 120#p28041

Я спрашивал, не включите ли вы улучшения "Libarra" в вашу филиал HID USB (на самом деле это называется addmidihid, если я не ошибаюсь).

Просто убедиться, что вы заметили, что он, кажется, решил составную проблему. Честно говоря, я не знаю, где находится «его репо», поэтому я не проверил себя. Я просто подумал, что было бы жаль, если какой -то прогресс с USB на STM32 станет "потерянным".

астер
Пт 19 мая 2017 г. 13:32
Я вижу, что с 2015 года вопросы новичков не изменились, когда я приехал сюда. Может быть, вы могли бы добавить страницу часто задаваемых вопросов в вики

Единственная информация, которую я не видел здесь (которая решила мою проблему сброса во время загрузки под Ubuntu), - это увеличить время сброса

"$ {Dir}/upload-reset" $ {dummy_port_fullpath} 1500

Стивестронг
Пт 19 мая 2017 г. 13:36
«Новичок» == »не может использовать функцию поиска на форуме»

астер
Пт 19 мая 2017 г. 16:44
Стивестронг написал:«Новичок» == »не может использовать функцию поиска на форуме»

Rogerclark
Пт 19 мая 2017 г., 21:39
Петр написал:Вы говорите о USB -филиале, но «Либарра» говорит о «его репо»:
ViewTopic.PHP?f = 13&t = 576&начало = 120#p28041

Я спрашивал, не включите ли вы улучшения "Libarra" в вашу филиал HID USB (на самом деле это называется addmidihid, если я не ошибаюсь).

Петр
Пт 26 мая 2017 г., 7:12
Я посмотрел на код загрузчика, мне кажется ясным. У меня есть код с чтением от внешней вспышки в .Ино эскиз. Он использует SPI, естественно. Теперь я хотел бы услышать ваше предложение, как включить код чтения вспышки в загрузчик.CPP еще для того, чтобы увидеть, что требуется для этого) или можно использовать бит -бил (Software SPI) вместо этого? Скорость передачи не является проблемой... Но я подумал, что было бы здорово, если бы мне удалось сжать свои дополнения на 1052 байт, чтобы усовершенствованный загрузчик OTA-Update все равно поместился в 8 КБ.

Стивестронг
Пт 26 мая 2017 г. 7:36 утра
Петр, я думаю, что этот вопрос должен быть опубликован в другом месте.

Петр
Пт 26 мая 2017 г. 8:02 утра
На самом деле это прямое продолжение двухлетнего потока, но если вы думаете, что новая тема будет более подходящей, я с радостью создам один.

Стивестронг
Пт 26 мая 2017 г. 8:39
Петр, извините, я только что увидел, что USB HID смешан с OTA и не понимал, что речь идет о OTA.
Название этой ветки, по крайней мере, сбивает с толку.

Что касается SPI для загрузки обновления, я бы взял программную версию SPI вместо HW SPI, потому что она вписывается в меньшее пространство кода. И битосомыки также можно сделать довольно быстро, используя прямые доступы регистрации.

USB -хост CORT STM32

Linux на F4 и F7