KnightIgor 2 7 октября, 2021 Опубликовано 7 октября, 2021 (изменено) · Жалоба 2 minutes ago, Forger said: Выяснилось, что до этого мы столкнулись с ПОДДЕЛЬНЫМИ STM32: гравировка STM, а внутри судя по ID всунута левая партия GD32 или вообще подделка. А вот уже буквально на днях приехали оригинальные GD32 (маркировка GD и тп.). В цеху их впаяли вместо STM32 (документацию не читают) и меня ж не предупредили (( Так вот, залил прошивку от STM32 как есть, она в этот раз завелось, но все кроме CAN ... Начал копать, добрался до степени оптимизации (компилятор v6) и выяснился интересный момент: Один и тот же проект работает на STM32 на любой оптимизации, а вот на GD32 завелся только на оптимизации кода не более -O1. По крайней мере не работал CAN. А что с I2C? Не пользуете в проекте? И под какой IDE пишите (KEIL, если v6)? Изменено 7 октября, 2021 пользователем KnightIgor Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 14 minutes ago, KnightIgor said: А что с I2C? Не пользуете в проекте? И под какой IDE пишите (KEIL, если v6)? Аппаратные I2C не использую, т.к. у меня очень малые потоки данных даже, а программный не привязан к пинам и порой проще в понимании и реализации - один раз отладил и сую в разные проекты. Даже SPI так использую. Вот когда речь идет о пакетах данных, где даже без DMA вылезают жуткие тормоза, то это другое. Но таких проектов у меня уже давно не было ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 16 минут назад, Forger сказал: Так вот, залил прошивку от STM32 как есть, она в этот раз завелось, но все кроме CAN ... У меня прошивка для STM32F100 завелась на GD32F103 вся кроме записи в option bytes - потребовался __DSB() между записью ключа в FLASH->OPTKEYR и проверкой OPTWRE в FLASH->CR. В проекте используются USART1, USART2, USART3, DMA, SPI2, TIM2, TIM4, АЦП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 23 minutes ago, Forger said: Аппаратные I2C не использую, т.к. у меня очень малые потоки данных даже, а программный не привязан к пинам и порой проще в понимании и реализации - один раз отладил и сую в разные проекты. Даже SPI так использую. Вот когда речь идет о пакетах данных, где даже без DMA вылезают жуткие тормоза, то это другое. Но таких проектов у меня уже давно не было ) Набрел на интересную статью. Цитата: Quote While the Flash storage on the GD32 should be very slow, being a serial SPI ROM, its use of SRAM on the MCU die to ‘cache’ the Flash storage means that it ends up being much faster than on-die Flash storage, with zero wait states required even at full MCU clock speed. "Как вам такое, Илон Маск"? В моем проекте, где I2C таки не работает, есть запись во Flash для изменения настроек. Многие настройки я изменяю терминальными командами. Теперь я понимаю, почему я заметил, что наблюдается ощутимая задержка при выполнении таких команд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 59 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 12 minutes ago, KnightIgor said: В моем проекте, где I2C таки не работает, есть запись во Flash для изменения настроек. Многие настройки я изменяю терминальными командами. Теперь я понимаю, почему я заметил, что наблюдается ощутимая задержка при выполнении таких команд. Запись во Flash подразумевает предварительное ее стирание. И вот, как раз стирание ее, и занимает существенное время. От 0,4 до 2 секунд, в зависимости от размера стираемой области. Это я про внутреннюю Flash STM32. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 1 minute ago, dimka76 said: Запись во Flash подразумевает предварительное ее стирание. И вот, как раз стирание ее, и занимает существенное время. От 0,4 до 2 секунд, в зависимости от размера стираемой области. Это я про внутреннюю Flash STM32. Под настройки я выделяю одну страницу (они туда помещаются) в 2KiB и стираю постранично: кэширую, изменяю данные, пишу страницу. На это в STM32 надо что-то от 20мс до 40мс. И я уже как бы привык к наблюдаемой задержке в выполнении терминальной команды. Она весьма незначительная, но заметная. Та же кухня на GD32 работает ощутимо медленней. Не сильно, но медленнее на столько, что мне заметно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 1 hour ago, Сергей Борщ said: У меня прошивка для STM32F100 завелась на GD32F103 Не подскажете, где брать оригинальные (может быть китайцы друг друга подделывают) GD-микроконтроллеры? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 54 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 26 минут назад, haker_fox сказал: (может быть китайцы друг друга подделывают) GD-микроконтроллеры? Может стоит взять что-то другое, например Майкрочип ? Они вполне доступны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 1 minute ago, Vasily_ said: Может стоит взять что-то другое, например Майкрочип ? Они вполне доступны. Речь о pin-to-pin совместимых девайсах с STM, которые в Доковидную Эпоху были доступны в каждом ларьке горстями Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 54 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба Только что, Forger сказал: Речь о pin-to-pin совместимых девайсах с STM Мне такие переходы на не понятно что, точно не нужны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 4 minutes ago, Vasily_ said: Мне такие переходы на не понятно что, точно не нужны. Почему непонятно что? GD - это не клоны ST (слепок матрицы), а лишь девайсы, разработанные с нуля, но полностью совместимые с ST. Цель понятна и логична. Другое дело - в условиях лютого дифицита и чудовищного спроса полно не то что подделок STM32, но даже GD32 подделывают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 54 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба Только что, Forger сказал: GD - это не клоны ST, а лишь скопированные с них девайсы Это Китай. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 3 minutes ago, Vasily_ said: Это Китай. Может 20 лет назад это означало всегда шлак и мусор. Но те времена давно в прошлом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 54 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 1 час назад, Forger сказал: Но те времена давно в прошлом. Но и новые времена не наступили, клоны выходят какие-то кривоватые, такими и останутся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 7 октября, 2021 Опубликовано 7 октября, 2021 · Жалоба 1 hour ago, Vasily_ said: Может стоит взять что-то другое, например Майкрочип ? Они вполне доступны. Я к кортексам привык. Мне приятны их возможности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться