Отказ загрузчика на ветеринарной плате

Эдогальдо
Чт 23 июня 2016 г., 23:26
Уважаемая все, я установил "Generic_boot20_pc13.Bin "Bootloader на плате Vet6, как это:

http: // www.eBay.это/itm/141929437789?_tr ... Ebidx%3ait

Установка загрузчика выглядит успешной (записано и проверена 7104 байтов на начальном адресе 0x8000000), но, как только подключилось через USB, устройство не распознается; Диспетчер устройств Windows предоставляет сообщение:
Windows остановила это устройство, потому что оно сообщило о проблемах. (Код 43)

Просьба об удалении дескриптора устройства USB.


Еще несколько заметок:
- Резистор подтягивания D+ 1.5K (код резистора 18b)
- Конечно, я устанавливаю Jumpers boot0 = boot1 = 0
- У меня также есть клон Maple-Mini, который вместо этого работает правильно

Любое предложение?


Большое спасибо заранее и с наилучшими пожеланиями!

Rogerclark
Пт 24 июня 2016 г. 12:00 утра
У вас есть какие -либо данные на этой доске.

Первоначально я думал, что это та же самая ветеринарная доска, которую у меня есть

http: // www.VCC-GND.com/читать.PHP?Тид = 377&FID = 6

http: // wiki.STM32duino.com/index.PHP?тип ... 3vet6_mini

Но ваша доска выглядит немного по -другому.

У моей доски 4.7K USB -подтягивание, которое обычно работает, но не совсем правильно, так как это должно быть 1.5K.

Возможно, это эта доска. https: // Перевод.Google.компонент.AU/TRASTA ... rev = search



Вы видите любую маркировку, которые указывают, кто это сделал ?

Редактировать. Диаграмма на странице, на которую я связан, выглядит так, как вы, но схема не совпадает, так как у шелкостного экрана на PC13 рядом с светодиодом, но у схемы есть PD9

но, возможно, они опубликовали не ту схему


Вы можете попробовать общий загрузчик PB9 и посмотреть, мигает ли светодиод

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

Эдогальдо
Пт 24 июня 2016 г., 7:51 утра
Спасибо, Роджер!
Я провел какой -то дальнейший тест через сериал и наблюдал странное поведение:
- Прежде всего, я использую STM32Loader.Питон 2.7 и CH340, основанный на USB2Serial Adapter
- Я создал мигающий эскиз для тестирования PC13 и загрузил его через сериал: Загрузка претендующего на успех (получает Acks как для записи, так и для проверки), но без моргания...
- Затем я дважды проверил загрузку, запустив отдельную проверку: я получил ошибки с шаблоном «0xAddr: 0xval VS 0xff» для каждого байта (пример ошибка: «0x1b59: 0x0 против 0xff»), так что выглядит так, как будто загрузки не на самом деле не успешны...
- Затем я попытался запустить также «readoutunprotect» и «writeunprotect», но они терпят неудачу: я получаю первый ACK, но не второй (nether a nack, нет ответа вообще)..

Любая идея о том, что может быть проблемой?


Еще раз спасибо заранее и лучше!

Rogerclark
Пт 24 июня 2016 г., 7:57 утра
Вы используете Linux или Windows? (или OSX)?

Если вы используете Windows, вы можете использовать собственную загрузку STM, так как вы можете сбросить только блокировки чтения и т. Д.



Также.
Попробуйте использовать сериал.печать

Как серийные карты для USART 1 I.E You USB в серийный конвертер

Я бы порекомендовал просто написать что -то вроде ...

(Полностью непроверенный код, но вы понимаете, что я имею в виду) void setup() { Serial.begin(115200); } void loop() { Serial.println(c++); delay(250); }

Эдогальдо
Пт 24 июня 2016 г. 8:06 утра
Какой тупой!
Проверка в порядке, я забыл удалить опцию «стирания» из командной строки Verification, которую я создал как C&p of the one one..
Тогда я проведу дальнейшее расследование, и я вернусь.

Еще раз спасибо и лучше, е.

Эдогальдо
Пт 24 июня 2016 г., 10:20 утра
Привет, Роджер, я использую Windows 8.1.
Я попытался мигать на PC13, PB9 и PD9, но не повезло.
Я также пытался следить за кодом, как вы предложили: void setup() { // put your setup code here, to run once: Serial.begin(115200); } void loop() { // put your main code here, to run repeatedly: Serial.println("Test"); Serial.println(); }

Rogerclark
Пт 24 июня 2016 г. 10:55 утра
Похоже, вы запускаете Windows, и его компиляция и загрузка

Наверное, стоит загрузить "Flash Loader Dementure" STM

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

Так что Google для этого, и вы найдете места, чтобы загрузить его напрямую https: // www.Google.компонент.Au/Search?Q = FLA ... R+скачать

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

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

#define LED PB9 void setup() { // put your setup code here, to run once: Serial.begin(115200); pinMode(LED,OUTPUT); } int c=0; void loop() { // put your main code here, to run repeatedly: Serial.println(c++); digitalWrite(LED,!digitalRead(LED)); delay(500); }

Эдогальдо
Пт 24 июня 2016 г., 11:43
Хорошо, некоторые (не хорошие) новости: у меня также есть мини -доска Zet6 (это: http: // www.eBay.это/itm/291550089382?_tr ... Ebidx%3ait); Я загрузил демонстрацию массового хранения на обеих досках:
- Zet6: ОК, массовое хранилище правильно идентифицируется Windows
- Vet6: ko, ничего не происходит

Следует ли теперь предположить, что Vet6 сломан?!

Есть ли что -нибудь еще, что я могу проверить?


Спасибо заранее и с уважением, e.

Rogerclark
Пт 24 июня 2016 г. 12:01
ммм
Похоже, его неисправен

Вы можете проверить, что кристальный OSC FREQ составляет 8 МГц, но большинство досок.

Вещи не работают хорошо, если бы они использовали кристалл 12 МГц, но я все равно ожидаю, что вывод через сериал из эскиза, но это будет искаженно.

Я думаю, что серийная загрузка использует RC OSC, а не кристалл

Эдогальдо
Пт 24 июня 2016 г. 14:04
Хорошо, загрузчик, кажется, работает нормально, а также писать и читать из Flash.
Это говорит мне, что ядро ​​кажется в порядке.
Эффективно это может быть внешний генератор (кстати: это 8 МГц, я проверил), поэтому я мог попробовать с некоторой тестовой программой, которая использует HSI, чтобы дважды проверить ядро.
Может ли это быть, у вас уже есть какие -то доступные?

Еще раз спасибо и лучше, е.

Эдогальдо
Пт 24 июня 2016 г., 17:08
Хорошо, похоже, проблема в PLL.
Я мог бы успешно запустить образец Blink (с мигающим частотом около 4 Гц) со всеми конфигурациями HSI, HSE и 72 МГц на обеих платах:
- Zet6: частота появляется правильная со всеми 3 конфигурациями
- Vet6: частота кажется правильной как с HSI, так и с HSE, но совершенно неверна (примерно в 10 раз медленнее) с 72 МГц..
Примечание: я использовал образец Mlink SPL для проверки различных конфигураций.

Знаете ли вам какие -либо различия в конфигурации PLL между Vet6s и Zet6s?

Кстати: я могу подтвердить, что светодиод находится на PC13.


Спасибо и лучше, е.

Rogerclark
Пт 24 июня 2016 г., 21:48
Afik, между настройками PLL нет никаких различий во всей серии F103.

Вы можете проверить руководство по программированию мастера для серии STM32F1,

http: // www.ул.com/resource/en/reference ... 171190.PDF

Если HSE (высокоскоростная внешняя) Crystal Osc Wront запускается, код висит во время инициализации ядра, так как он ждает на необоснованное значение для флага, указывающего на OSC работает.

Я подозреваю, что на этой плате есть Crystal OSC, и MCU считает, что это гораздо более низкая частота.

Вы можете взломать ядро ​​и изменить мультиплер PLL, а также есть 2 x предварительного мультилера, но я не уверен время.

Martinayotte
Пт 24 июня 2016 г., 22:03
Может быть плохим конденсатором вокруг XTAL, которые предотвращают запуск колебаний.

Rogerclark
Пт 24 июня 2016 г. 22:06
Или сухие припоя

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

Эдогальдо
Сб 25 июня 2016 г. 15:16
Хорошо, спасибо вам обоим за предложения, я не очень хорош в пайке, кроме того, с помощью микроскопических деталей SMD :рулон: В любом случае, может быть, я попробую это. ;)

Еще раз спасибо и лучше всего! Эн.

Ахулл
Сб 25 июня 2016 г., 15:30
Эдогальдо написал:Хорошо, спасибо вам обоим за предложения, я не очень хорош в пайке, кроме того, с помощью микроскопических деталей SMD :рулон: В любом случае, может быть, я попробую это. ;)

Еще раз спасибо и лучше всего! Эн.

Эдогальдо
Сб 25 июня 2016 г. 15:53
Это невероятно!!!
Похоже, я нашел проблему: проверяю PBC, мне показалось, что между OSC_IN и OSC_OU... магия! Теперь все кажется, что работает.. : mrgreen: : mrgreen: : mrgreen: : mrgreen: : mrgreen: : mrgreen: : mrgreen:
Также демонстрация массового хранения!! :)

С уважением, e.

Ахулл
SAT 25 июня 2016 г. 16:11
Эдогальдо написал:Это невероятно!!!
Похоже, я нашел проблему: проверяю PBC, мне показалось, что между OSC_IN и OSC_OU... магия! Теперь все кажется, что работает.. : mrgreen: : mrgreen: : mrgreen: : mrgreen: : mrgreen: : mrgreen: : mrgreen:
Также демонстрация массового хранения!! :)

С уважением, e.

Rogerclark
Сб 25 июня 2016 г., 21:47
Хорошо...

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

КСТАТИ. Похоже, бинар USB Mass Storage, который я извлекал из Hy-Nyany STM32F103TB Poard, действительно просто демонстрация массового хранения..
Потому что я нашел исходные файлы для него, в сгруппируемых файлах на веб -сайте производителей.
Но файлы встроены в Keil и используют старую стандартную периферийную библиотеку STM, так что не совсем так полезно.

Если кто -то заинтересован в использовании массового хранения, я помню, что есть код для использования массового хранилища с Libmaple, но я думаю, что потребуется некоторое время, чтобы заставить его работать

https: // github.com/joeferner/maple-usbmassstorage

Эдогальдо
Сб 25 июня 2016 г., 22:57
Привет, Роджер, да, загрузочный загрузчик USART использует HSI, это задокументировано в RM0008 (последняя нота номера. 3.4).

Rogerclark
Солнце 26 июня 2016 г. 1:10
Эдогальдо написал:Oger, да, загрузочный загрузчик USART использует HSI, это задокументировано в RM0008 (последняя нота номера. 3.4).

Rogerclark
Пн 27 июня 2016 г., 6:37
Так что другие люди, которые покупают одну и ту же доску...

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

Я подозреваю, что это сделано китайской компанией VCC-GND.компонент

http: // www.VCC-GND.com/читать.PHP?Тид = 377&FID = 6

Я думаю, что ранее опубликовал ссылку на доску на VCC-GND.com, но хочу быть уверенным, что это та же доска.
я.e Схема говорит, что у нее есть светодиод на PC13, как и ваш, и диаграмма, кажется, имеет прыжки для Boot0 и Boot1, как изображение в списке eBay

Изображение

Rogerclark
Пн 27 июня 2016 г., 6:41
КСТАТИ.

Я моя ветеринарная доска это

http: // www.eBay.это/itm/stm32f103vet6-ar ... SW2XFUH7AY

Похоже, что это та же цена, но имеет адаптер SD -карты на нижней стороне платы, а также имеет внешнюю память EEPROM - и, по -видимому, та же цена

Эдогальдо
Пн 27 июня 2016 г., 10:47
Да, я могу подтвердить, что это та же самая доска от VCC-GND.компонент.
Единственная разница в уважении к схеме, которую вы разместили,-это значение R8 (подтягивание D+), которое в моей плате 1.5K (также проверяется с моим счетчиком).
Я также видел вашу версию на eBay, но я предпочитал эту, поскольку она использует AMS1117 в качестве регулятора напряжения 3V3, который, как я мог понять, должен иметь возможность поддерживать утечку более высокого тока; Кстати, также у моего есть внешний eeprom, как вы можете видеть в схеме, он не хватает адаптера SD, но я думаю, что мне не понадобится для моей цели.
У меня также есть плата Zet6, которая похожа на вашу (с переключателями вместо прыжков, RT9193 как LDO, SD Card и EEPROM), а также отдельная вспышка, это примерно на 3 доллара США больше.

Rogerclark
Пн 27 июня 2016 г., 11:29
Спасибо

У меня такая же Zet Board, что и вы (у меня есть и ветеринар, и Zet, и многие другие ;-)

Ваше здоровье

Роджер

Эдогальдо
Пн 27 июня 2016 г. 12:34
Кстати, одна вещь стоит отметить об этих досках, если не.
G Правления G.п. светодиод находится между VCC и PIN -кодом, а не между PIN и GND, это означает, что поведение является противоположным уважением к стандартным Arduino и Maple Mini Boards (не знаю о стандарте Maple, так как у меня их нет): светодиод - это В случае низкого и выключенного, когда штифт высок.
Это смутило меня изначально, потому что я не проверял схему..

Rogerclark
Пн 27 июня 2016 г., 21:17
Спасибо за информацию о светодиоде.

Это довольно часто, особенно на досках, сделанных VCC-GND, и я стараюсь выделить это в вики.

Обратите внимание, что дизайн страницы вики для досок со временем развивается, так как я получаю лучшее представление о информации, которую необходимо отобразить. Так что в некоторых досках перечислены такая информация, но не все.
К сожалению, у меня сейчас нет времени, чтобы идти, хотя все страницы вики и обновлять все вещи, которые я хотел бы :-(