Jump to content

    
nanorobot

А может быть Holtek?

Recommended Posts

2 minutes ago, Forger said:

Выяснилось, что до этого мы столкнулись с ПОДДЕЛЬНЫМИ STM32: гравировка STM, а внутри судя по ID всунута левая партия GD32 или вообще подделка.

А вот уже буквально на днях приехали оригинальные GD32 (маркировка GD и тп.). В цеху их впаяли вместо STM32 (документацию не читают) и меня ж не предупредили ((

Так вот, залил прошивку от STM32 как есть, она в этот раз завелось, но все кроме CAN ...

Начал копать, добрался до степени оптимизации (компилятор v6) и выяснился интересный момент:

Один и тот же проект работает на STM32 на любой оптимизации, а вот на GD32 завелся только на оптимизации кода не более -O1. По крайней мере не работал CAN.

 

А что с I2C? Не пользуете в проекте? И под какой IDE пишите (KEIL, если v6)?

Edited by KnightIgor

Share this post


Link to post
Share on other sites
14 minutes ago, KnightIgor said:

А что с I2C? Не пользуете в проекте? И под какой IDE пишите (KEIL, если v6)?

 

Аппаратные I2C не использую, т.к. у меня очень малые потоки данных даже, а программный не привязан к пинам и порой проще в понимании и реализации - один раз отладил и сую в разные проекты. Даже SPI так использую.

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

Share this post


Link to post
Share on other sites
16 минут назад, Forger сказал:

Так вот, залил прошивку от STM32 как есть, она в этот раз завелось, но все кроме CAN ...

У меня прошивка для STM32F100 завелась на GD32F103 вся кроме записи в option bytes - потребовался __DSB() между записью ключа в FLASH->OPTKEYR и проверкой OPTWRE в FLASH->CR.

В проекте используются USART1, USART2, USART3, DMA, SPI2, TIM2, TIM4, АЦП.

Share this post


Link to post
Share on other sites
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 для изменения настроек. Многие настройки я изменяю терминальными командами. Теперь я понимаю, почему я заметил, что наблюдается ощутимая задержка при выполнении таких команд.

 

Share this post


Link to post
Share on other sites
12 minutes ago, KnightIgor said:

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

Запись во Flash подразумевает предварительное ее стирание. И вот, как раз стирание ее, и занимает существенное время.

От 0,4 до 2 секунд, в зависимости от размера стираемой области.

Это я про внутреннюю Flash STM32.

Share this post


Link to post
Share on other sites
1 minute ago, dimka76 said:

Запись во Flash подразумевает предварительное ее стирание. И вот, как раз стирание ее, и занимает существенное время.

От 0,4 до 2 секунд, в зависимости от размера стираемой области.

Это я про внутреннюю Flash STM32.

Под настройки я выделяю одну страницу (они туда помещаются) в 2KiB и стираю постранично: кэширую, изменяю данные, пишу страницу. На это в STM32 надо что-то от 20мс до 40мс. И я уже как бы привык к наблюдаемой задержке в выполнении терминальной команды. Она весьма незначительная, но заметная. Та же кухня на GD32 работает ощутимо медленней. Не сильно, но медленнее на столько, что мне заметно.

Share this post


Link to post
Share on other sites
1 hour ago, Сергей Борщ said:

У меня прошивка для STM32F100 завелась на GD32F103

Не подскажете, где брать оригинальные (может быть китайцы друг друга подделывают) GD-микроконтроллеры?

Share this post


Link to post
Share on other sites
26 минут назад, haker_fox сказал:

(может быть китайцы друг друга подделывают) GD-микроконтроллеры?

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

Share this post


Link to post
Share on other sites
1 minute ago, Vasily_ said:

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

Речь о pin-to-pin совместимых девайсах с STM, которые в Доковидную Эпоху были доступны в каждом ларьке горстями 

Share this post


Link to post
Share on other sites
4 minutes ago, Vasily_ said:

Мне такие переходы на не понятно что, точно не нужны.

Почему непонятно что?

GD - это не клоны ST (слепок матрицы), а лишь девайсы, разработанные с нуля, но полностью совместимые с ST. Цель понятна и логична.

Другое дело - в условиях лютого дифицита и чудовищного спроса полно не то что подделок STM32, но даже GD32 подделывают.

Share this post


Link to post
Share on other sites
1 час назад, Forger сказал:

Но те времена давно в прошлом.

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

Share this post


Link to post
Share on other sites
1 hour ago, Vasily_ said:

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

Я к кортексам привык. Мне приятны их возможности.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.