Еще одна напыщенная речь OSX - особая проблема

Krish2487
Пн, 09 января 2017 г. 18:00
Привет,
Я давно скрываю, который наслаждался Benifits of the STM32 (платформа MBED), но недавно переехал в Arduino для STM32.

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

Я успешно прошил платы Bluepill с модифицированным Generic-PC13.корзин с использованием утилиты STM32Flash.
(Я добавил bootloader_wait 30 в конфигурации.H Файл для цели PC13, как видно на другом потоке).

Я также изменил upload_reset в сценарии Maple_upload с 750 на 1500.

Запуск dfu -util -l дает мне это
dfu-util -l dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Deducing device DFU version from functional descriptor length Found Runtime: [13d3:3295] ver=0531, devnum=4, cfg=1, intf=3, path="29-1.6", alt=0, name="UNKNOWN", serial="74F06DF56885" Found DFU: [1eaf:0003] ver=0201, devnum=2, cfg=1, intf=0, path="20-1", alt=2, name="STM32duino bootloader v1.0 Upload to Flash 0x8002000", serial="LLM 003" Found DFU: [1eaf:0003] ver=0201, devnum=2, cfg=1, intf=0, path="20-1", alt=1, name="STM32duino bootloader v1.0 Upload to Flash 0x8005000", serial="LLM 003" Found DFU: [1eaf:0003] ver=0201, devnum=2, cfg=1, intf=0, path="20-1", alt=0, name="STM32duino bootloader v1.0 ERROR. Upload to RAM not supported.", serial="LLM 003"

Rogerclark
Пн, 09 января 2017 г. 20:07
Я не уверен, что это та же проблема, но..

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

Пост был за последние 2 или 3 недели, поэтому не должно быть слишком сложно найти.

Примечание. Я не внедрил изменение в загрузчику и т. Д. В основную копию, так как он мог бы нарушить вещи для всех пользователей Windows и Linux, которые учитывают 95% всех пользователей.

Krish2487
Пн, 09 января 2017 г., 8:15 вечера
После публикации моего запроса я увидел ожидающий запрос на притяжение на GitHub Repo "Jaredburkett" специально для проблем с синхронизацией Mac.
Я скачал соответствующий двоичный файл и снова запустил тесты. Та же самая проблема сохраняется.

Я специально не искал нити, перекомпиляция Wrt Sierra. Я снова пройду через доску, чтобы узнать, что я что -то пропустил.

Спасибо за помощь, Роджер! :-)

Rogerclark
Пн, 09 января 2017 г. 20:45
ХОРОШО.

Глядя на вывод от DFU UTIL, похоже, он загружает.

Вы можете попытаться удалить сериал.начинать и серийно.Распечатайте и посмотрите, работает ли GPIO самостоятельно, как это возможно, что что -то еще в Сьерре обладает последовательным USB.

Вы также можете попробовать ядро ​​STM F1, а не ядро ​​Libmaple, так как его реализация USB совершенно другая.

https: // github.com/stm32duino

(Есть публикация о том, как вы устанавливаете ядро ​​STM, так как вы не можете сделать это через менеджера досок в настоящее время, так как установка BM работает только для Nucleo)


КСТАТИ.
У меня есть старый MacBook Pro, но он немного слишком старый, чтобы позволить мне установить Sierra. У меня также есть Hackintosh, но это та же самая ситуация, слишком старая для Сьерры, и, как оба отлично работают над Йосемити и Эль -Капитаном, соответственно, я не спешу покупать новое оборудование только для последней версии macOS (как у каждого Новая версия MacOS, кажется, приносит больше проблем и несовместимости с внешним оборудованием - E.глин. Мой USB -смешанный стол больше не работает с El Capitan)

Krish2487
Пн, 09 января 2017 г. 20:52
Спасибо!! :-)
Я предполагаю, что вы имеете в виду эту ветку, Роджер??

http: // www.STM32duino.com/viewtopic.PHP?f = 3&T = 1656

(О, и попробовал, удалив сериал.begin () Раздел тоже..)
Испытанный и тот же результат. Я попробую с ядром F1 и опубликую свои выводы. Может быть, это может спасти кого -то еще некоторое разочарование позже.
:-D


PS: Я использую Platformio для своей разработки, а не Arduino IDE. Тем не менее, это не должно иметь большого значения.

Rogerclark
Вт 10 января 2017 г. 2:48
Krish2487 написал:Спасибо!! :-)


PS: Я использую Platformio для своей разработки, а не Arduino IDE. Тем не менее, это не должно иметь большого значения.

Krish2487
Вт 10 января 2017 г. 3:23
Это сделало трюк Роджер!!
:-D

Auto Reset работает, загрузка работает, он просто работает..

Появляется серийный порт.. Серийные коммунальные коммунации функциональны..
Любое конкретное понимание того, что можно сделать, чтобы повторить процесс на Platformio IDE??

Rogerclark
Вт 10 января 2017 г. 4:12
Я думаю, что где -то на форуме есть ветка о платформе, но я сам не использую ее

Около 90% участников форума используют обычную Arduino IDE. Я немногие люди используют Eclipse и некоторые другие IDE (например, Visual Studio), но это достаточно сложно поддержать Arduino IDE (которая, кажется, имеет новую версию около одной в месяц, которую необходимо проверить, чтобы подтвердить, что он все еще работает в порядке)

Krish2487
Вт 10 января 2017 г. 4:40
Теперь все становится интересным.
У меня установлены Arduino и Platformio IDE.

Я использовал различные перестановки и комбинации (Maple_upload (Platformio IDE) и двоичный (arduino), Maple_upload (Platformio IDE) и двоичный (платформу -IDE), Maple_upload (arduino) и дворянный (arduino), Maple_upload (arduino) и бинарный Platformio IDE))
Чтобы понять, в чем может быть проблема.

Я смог загрузить двоичный файл с помощью любого из сценариев Maple_upload. Однако серийный порт перечислен только при составлении из Arduino IDE.
Серийный порт не перечислял, когда я скомпилировал тот же код с Platformio IDE. Дальнейшее исследование размера составленных двоичных файлов выявило разницу в размере почти 50%!!!

Это код, который я скомпилировал
#include void setup(){ Serial.begin(115200); pinMode(PC13, OUTPUT); digitalWrite(PC13, HIGH); } void loop(){ Serial.println("Hello World"); digitalWrite(PC13, !digitalRead(PC13)); delay(1000); }

Rogerclark
Вт 10 января 2017 г. 6:23
Я подозреваю, что Platformio не собирает USB -сериал в двоичный файл.

Загрузчик предоставляет DFU только для загрузки. После завершения загрузки она просто переходит к началу кода эскиза, и если Skech составлен USB -сериал, вы получите USB -сериал.

Есть целая куча «определения» (в досках.TXT), который переключает множество вещей (на основе настройки меню в IDE), но основной, если есть ли сериал USB (как некоторые доски построили USB для серийных устройств, поэтому не нужно или не хочет USB -сериал )

Krish2487
Вторник 10 января 2017 г. 18:40
Кажется, что все более и более вероятно, что ваш пост о USB -сериале не собирается вместе с основным кодом, который находится на месте.

Я загрузил двоичный файл из приведенного выше эскиза (скомпилированный с использованием Arduino IDE) с использованием Maple_upload и смог наблюдать за серийным выходом в мониторе терминала.

Даже Platformio была в состоянии увидеть серийный порт!!.
Затем я собрал двоичный файл с помощью Platformio и загрузил из Platformio IDE (используя ту же загрузку Maple_upload и DFU).
Но на этот раз доска застряла, и серийный порт был потерян. Доска, как сообщалось ранее, вернулась к шести быстрым вспышкам и медленным мигающим, а затем полностью остановилась.

К сожалению, Platformio использует Scons для двигателя сборки, что за пределами моего непосредственного понимания для манипулирования.
Поэтому я попросил полную команду по составлению бинарного. Я хотел собрать ту же двоичную вручную, используя набор инструментов, наряду с платформой и проверить результаты.. Затем посмотрите, в чем разница в скрипте Scons и процессе компиляции STM32DUINO.

Спасибо за помощь, Роджер!! :-)

Krish2487
Ср 11 января 2017 г. 4:25 утра
Обновлять:

Изменение определения платы с платы generic_stm32f103c8 на «Maple_mini» решил проблему.
Я предполагаю, что платы generic_stm32f103c8, по определению, не составляют USB -последовательные библиотеки.

Теперь я могу загрузить и скомпилировать код из Platformio с помощью скрипта Maple_upload.

:-)

Спасибо за всю помощь расширенному Роджеру!! :-)

Rogerclark
Ср 11 января 2017 г. 5:05
Я рад, что это работает, но у вас все равно будут некоторые проблемы, если вы установите доску как Maple Mini, потому что она, вероятно, не сбросит USB правильно, вы нажимаете на загрузку из IDE.

Посмотрите на доски.TXT Generic STM32F103C в меню загрузки.

Krish2487
Ср 11 января 2017 г., 6:21
Я сделал.
Различия между maple_mini и genericstm32f103c8, по -видимому, в значительной степени связаны с компиляцией и связыванием USB -серийного и сброса Vector Address.
Ох и доступная вспышка и оперативная память.

Я могу жить с ручным сбросом пост -загрузки доски.
До сих пор я пытался около 50-70 раз со вчерашнего вечера. Он всегда загружался надежно.

Я всегда должен сбросить доску после загрузки, чтобы заставить ее запустить эскиз. Это очень приемлемый компромисс. :-)

Arduino 1.6.6 aka Nightly Build

обновление до 64 бит - сделано