dimone 0 8 ноября, 2021 Опубликовано 8 ноября, 2021 · Жалоба 4 minutes ago, Xenia said: .. вообще, можно ли USB-loader прошить F1? В смысле, где взять его бинарник, если таковой для F1 существует? -не , лишь самописный колхозить, самые ходовые USBD варианты либо СDC-эмуляция СОМ-порта, -либо MSC накопител, на который просто кидают прошивку.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 8 ноября, 2021 Опубликовано 8 ноября, 2021 · Жалоба 4 часа назад, dimone сказал: либо MSC накопител Более ходовой будет DFU, он для этого и придуман. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 8 ноября, 2021 Опубликовано 8 ноября, 2021 · Жалоба на STM32F1 только TTL-loader TTL? В смысле по UART\SPI\I2C-загрузчик... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 9 ноября, 2021 Опубликовано 9 ноября, 2021 · Жалоба 4 часа назад, Obam сказал: TTL? В смысле по UART\SPI\I2C-загрузчик... TTL в смысле UART, т.е. напрямую к компьютеру его не подключишь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 9 ноября, 2021 Опубликовано 9 ноября, 2021 · Жалоба Изящненько как у вас "физика" (TTL) со с "логикой" (UART) замешались ;-) Был бы TTL - к параллельному порту без выкрутасов подключалось бы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 14 ноября, 2021 Опубликовано 14 ноября, 2021 (изменено) · Жалоба On 11/5/2021 at 2:30 PM, dimone said: Может кого-то сталкивался. Имеется stm32F103 , GD32 и АРМ32 Вопрос, как лучше в программе различать, на каком она чипе запущена , что-б корректно работала? Вставлю свои 5 центов. У меня на столе лежат: STM32F103VET GD32F103VET GD32F303VET SCB->CPUID возвращает/содержит: 0x411FC231 для STM32F103VET 0x412FC231 для GD32F103VET 0x410FC241 для GD32F303VET Похоже, это слово не меняется от экземпляра к экземпляру одного типа, а идентифицирует тип. Еще раз повторю кратко свои изыскания из форума "Читайте эту тему": - бинарник на мой проект под STM32F103 взлетел сразу на GD32F103 и 303 за исключением некоторых проблем с I2C: как оказалось, в режиме работы по прерываниям на GD32 нельзя устанавливать биты BUFIE и/или POS еще ДО передачи адреса периферии, что я делал на STM32F103 для особых случаев чтения только одного или только двух байтов - это приводило к зацикливанию прерывания на GD32, т.к. бит SB не сбрасывался. Я перенес эти настройки в другую ветвь обработчика прерывания: STM32F103 было фиолетово, а GD32F103/303 заработал. - встроенный UART загрузчик в GD32 полностью совместим с STM32, ST Loader Demostrator программирует без проблем. - DFU через USB не пробовал ни на каком. - На GD32F103 с питанием от 3.3в ADC температурного датчика уходит на максимум; случайно обнаружил, что при питании от 3.2в температура правильная, а чуть поднял питание - насыщение. - Этой ADC проблемы нет на GD32F303. - В моем проекте не задействованы SPI и большинство таймеров; те, что задействованы, работают ожидаемо. DMA и RTC тоже в порядке. - запись во flash из самой программы работает на GD32 без проблем; есть ощущение, однако, что на GD32 требуется больше времени для записи страницы. Проскакивала информация, что GD32F фактически работает из дополнительной "теневой" RAM, куда при старте копируется содержимое из встроенного SPI flash чипа, и GD32F представляет собой, по сути, гибридную сборку. Благодаря RAM быстродействие GD32F, якобы, выше, чем STM32F, и не нужно циклов ожидания как для flash; GD32F103 имеет максимум частоты в 108MHz. Эти факты я не проверял, но ощущение таки есть, что GD32F103 действительно пошустрей на 72MHz: есть у меня в проекте цикл обработки загруженой конфигурации, я измеряю время этого цикла и вижу примерно на 10% бОльшую скорость его обработки на GD32F в сравнении с STM32F103. Вывод: для проекта мы рассматриваем GD32F103 как полноценную альтернативу STM32F103. Изменено 14 ноября, 2021 пользователем KnightIgor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MDD 0 20 ноября, 2021 Опубликовано 20 ноября, 2021 (изменено) · Жалоба Что-то у СТМа с доступностью все по прежнему плохо. Поэтому и я на всякий случай озаботился проверкой совместимости GD32F103. Купил по объявлению сгоревшую плату от гироскутера и выпаял оттуда GD32F103RCT6. Так оказалось соизмеримо по цене, но быстрее, чем покупать микроконтроллер на Али. Впаял в свое устройство вместо STM32F103RCT6. Устройство завелось вроде без проблем. Буду позже еще тонко тестировать. Используются ADC, DAC, почти все таймеры, несколько каналов DMA, SPI, USART. I2C тоже есть, но ногодрыгом. Тактирование от внешнего кварца, системная частота 72МГц. Пока заметил такие отличия: 1.STM прошивается через STLink за 14секунд, GD за 19. 2.На STM плата потребляет 68мА, на GD всего 52мА. Неожиданно... Интересно, какое сравнительное потребление получалось у предыдущих тестеров? 3.Задержки в работе узлов немного другие. Объясню. После включения я запускаю по очереди таймеры, ЦАПы, АЦП, их привязку к DMA и т.д. И потом в ПО при настройке производится некая калибровка для синхронизации их работы. Так вот, здесь калибровочные цифры получились немного другие, чем для СТМ. Особо не вникал в причины, для меня это не принципиально. Дополню. Проверил еще запись во Flash из программы. Бутлоадер и эмулятор EEPROM работают без проблем. Изменено 20 ноября, 2021 пользователем MDD Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 54 21 ноября, 2021 Опубликовано 21 ноября, 2021 (изменено) · Жалоба 17 часов назад, MDD сказал: Впаял в свое устройство вместо STM32F103RCT6. Устройство завелось вроде без проблем. Думаю, чтобы сделать более правдоподобные выводы нужно протестировать неск. десятков МК, и желательно из разных партий... Лет 5 назад, когда плотно работал с IMX6, и было сделано где-то 2 десятка контроллеров и прога работала как надо, но пришла новая партия и там DMA отказалось работать. Проблема была в ПО, конечно, но на первых-то платах все работало. Изменено 21 ноября, 2021 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MDD 0 21 ноября, 2021 Опубликовано 21 ноября, 2021 · Жалоба Понятно, что проверять нужно тщательно. Надеюсь мы здесь совместными усилиями и выявим некоторые подводные камни. Лично у меня оптимизма на счет взаимозаменяемости добавилось. Кстати, в тех же гироскутерах на одинаковых платах могут стоять как STM так и GD. По поводу потребления. Посмотрел даташиты на эти конкретные чипы. STM обещает при всей включенной периферии типовые 51мА на 72МГц, GD - 45.5мА на 108МГц. В пересчете на 72МГц это около 30мА. Так что GD32F103 действительно должен потреблять заметно меньше. Еще может кому будет полезно. Считал для сравнения UniqueID для двух конкретных чипов GD и STM: GD: 0x31317116, 0x12363838, 0x31323135 STM: 0x05d8ff31, 0x37315534, 0x57018330 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MDD 0 22 ноября, 2021 Опубликовано 22 ноября, 2021 · Жалоба Еще обнаружил, что на гироскутере на дочерних платках (т.н. платы гироскопов) стоят контроллеры GD32F130C6T6. Полез в даташиты. Вроде это аналог по выводам и по периферии STM32F030C6T6. Но здесь ядро Cortex-M3 вместо Cortex-M0 у STM. Максимальные частоты одинаковые 48МГц. Потребление у GD опять получше 17.26мА против 23.3мА. Вроде по коду они должны быть совместимы снизу вверх? У меня нет проектов для STM32F030 в таком корпусе, поэтому я проверить совместимость не смогу. Если кто-то захочет проверить, имейте ввиду, что GD32F130C6T6 на платке можно тоже быстро добыть для экспериментов совсем недорого на интернет-барахолках в разделах по гироскутерам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vit496 0 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба Здравствуйте. Пробую использовать GD32F103VG вместо STM32F103VG. Программа - бесконечный цикл (без RTOS), в котором около 30 задач, задействованы прерывания от 5 USART, 5 EXTI, 6 таймеров. Еще есть ADC-DMA, 3 SPI, USB-CDC. Рабочая частота - 72МГц. Когда объем кода приближается к 300 кБ начинаются какие-то странности. Прерывания по таймеру происходят на 20-30% реже, чем настроено. Теряется 5-10% байтов от USART-ов (скорость 57600). Причем, если уменьшать количество задач, чтобы объем кода составлял 200-250кБ, то все работает исправно. Прошивка используется от STM32F103VG без изменений. На STM все работает как положено. Это такая особенность этого МК? Или есть надежда, что попался брак? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба 14 минут назад, vit496 сказал: Это такая особенность этого МК? Или есть надежда, что попался брак? Это такая особенность вашей прошивки. Ищите баги. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vit496 0 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба On 11/14/2021 at 5:41 PM, KnightIgor said: Проскакивала информация, что GD32F фактически работает из дополнительной "теневой" RAM, куда при старте копируется содержимое из встроенного SPI flash чипа, и GD32F представляет собой, по сути, гибридную сборку. Благодаря RAM быстродействие GD32F, якобы, выше, чем STM32F Что-то сомнительно, что там будет теневая RAM на 256кБ или выше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 243 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба 3 минуты назад, vit496 сказал: Что-то сомнительно, что там будет теневая RAM на 256кБ или выше. 256КБ и не нужно, хватит в разы меньше. И называется оно "кеш" и давно уже имеется у многих МК. И часто включено по дефолту (после сброса). И "не при старте копируется" - это был бы очень медленный старт, а как обычный кеш чтения работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 5 мая, 2022 Опубликовано 5 мая, 2022 · Жалоба 22 минуты назад, jcxz сказал: 256КБ и не нужно, хватит в разы меньше. И называется оно "кеш" и давно уже имеется у многих МК. И часто включено по дефолту (после сброса). Тут что-то другое. Даже глядя на вот на эту табличку: Это из GD32F1 - AN002 Programming flash memory manual. И выход из спячки Standby в 59.4 мс для устройств с памятью до 128К, и 118.8 мс для устройств с памятью больше 128 К неспроста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться