Перейти к содержанию
    

Переход с STM32F103 на GD32F103

23 hours ago, TViT said:

Может есть у кого-то

 

Один из вариантов происхождения проблемы. При переходе с STM32 на AT32 я обнаружил, что в таймерах у которых нет регистра CTRL2, запись в этот несуществующий регистр ведет к отключению всех прескалеров таймера и он начинает работать на входном тактировании шины. Есть вероятность, что какая то из функций HAL в силу универсальности может писать якобы в пустоту то, что изменит работу периферийного модуля. Собственно в этом и состоит проблема HAL, где реальная работа с регистрами зарыта в недрах капусты функций.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

30.04.2022 в 11:39, my504 сказал:

Один из вариантов происхождения проблемы. При переходе с STM32 на AT32 я обнаружил, что в таймерах у которых нет регистра CTRL2, запись в этот несуществующий регистр ведет к отключению всех прескалеров таймера и он начинает работать на входном тактировании шины. Есть вероятность, что какая то из функций HAL в силу универсальности может писать якобы в пустоту то, что изменит работу периферийного модуля. Собственно в этом и состоит проблема HAL, где реальная работа с регистрами зарыта в недрах капусты функций.

Как это поймать побыстрее и полегче? Где при настройке чего проблема затаилась которой вроде как и не должно быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, TViT said:

Как это поймать побыстрее и полегче?

Проверить состояние всех регистров после инициализации, сверить с рефманом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Alex-lab сказал:

Проверить состояние всех регистров после инициализации, сверить с рефманом?

Ну постараюсь, что-то отладка на китайце не заводилась.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, TViT said:

У меня Eclipse + OpenOCD либо +SEGGER

Там по ссылке не только Addons, но и библиотеки для GD32.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 4/26/2022 at 4:12 PM, Forger said:

Нет. Аппаратно они одинаковые, в чем лично убедился конкретно на этих камнях в реальном проекте. Откройте даташиты, сравните.

 

Разница была с АЦП, в частности с самокалибровкой. Там был нюанс. В остальном камни одинаково работали.

 

А можно поподробнее что там не так с калибровкой?

На первый взгляд что у GD32F103 делается одной функцией adc_calibration_enable() у stm32 делается тремя функциями  резет, калибровка, проверка , но суть и регистры теже.

Спрашиваю потому что у GD несколько странно ведет себя опора vrefint  - прыгает от на 30 делений , а у stm +-1. Ну и в GD иногда что то прилетает в 9 канал АЦП и показания на нем скачут - обычно раз в несколько часов, остальные каналы норм , все делается очень медленно скорость камня 36MHz, АЦП тоже медленный, выборка 239.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 minutes ago, GYUR22 said:

А можно поподробнее что там не так с калибровкой?

Если мне не изменяет память, то калибровку АЦП в GD можно включать не ранее, чем через 14 тактов после включения АЦП. У ST эта цифра гораздо меньше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

23 minutes ago, Forger said:

Если мне не изменяет память, то калибровку АЦП в GD можно включать не ранее, чем через 14 тактов после включения АЦП. У ST эта цифра гораздо меньше.

Не похоже что в моем случае что то изменилось как болталась так и болтаеся :)

Если я правильно понял то имеется ввиду задержка после ADC_Cmd(ADC1, ENABLE); ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 minutes ago, GYUR22 said:

Если я правильно понял то имеется ввиду задержка после ADC_Cmd(ADC1, ENABLE); ?

Возможно оно, точно не знаю, поскольку сторонними периферийными библиотеками не пользуюсь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 26.04.2022 в 11:36, TViT сказал:

Всем привет. Народ подскажите есть ли у кого опыт, по переходу с STM32F103RET6 на GD32F103RET6. У меня в проекте все работает если прошивку от stm32 залить в туже плату только с GD32 и spi и uart и порты, но вот CAN не работает.

Причем пакеты посылаются корректные все как stm32, но приема CAN пакетов от другого устройства не происходит. Фильтры все в 0, принимают все кадры. CAN-снифер показывает что посылки идут, но устройство на GD32 не принимает пакеты. Хотя посылает их корректно. При отладке не вызывается колбэк по приему, как будто в принципе не было пакетов на линии или они аппаратно CAN-контроллером не пропускаются на верхний уровень в приложение.

 

Подскажите куда копать, кто сталкивался с такой проблемой?

Здравствуйте. У меня возникла такая же проблема на кристалле STM32C103RET6, у которого 2 CAN на борту. При чем, я использую оба. В случае с CAN0 проблем нет - передача и прием работают нормально. А вот, с CAN1 озвученная Вами проблема.

Скажите, Вам удалось побороть её? Если да, то каким образом?

 

PS: Инициализация 

В 28.04.2022 в 17:43, Captain777 сказал:

Было такое на GD32F105. Передача идет - приема нет. Вылечилось изменением порядка инициализации. STM при этом работал. После, одна прошивка заработала и на STM и на GD. Тоже самое и с USB было. 

В каком порядке Вы инициализировали? На что нужно обратить внимание?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

35 минут назад, KirVV сказал:

STM32C103RET6, у которого 2 CAN на борту

Ничего не смущает ? Даже акеЙгугла ничего не знает про такого зверя.

37 минут назад, KirVV сказал:

В каком порядке Вы инициализировали?

По какой диагонали вы читали даташит ?

 

38 минут назад, KirVV сказал:

На что нужно обратить внимание?

На даташит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

54 минуты назад, Vasily_ сказал:

Ничего не смущает ? Даже акеЙгугла ничего не знает про такого зверя.

По какой диагонали вы читали даташит ?

 

На даташит.

Кроме Datasheet нужно также проштудировать ещё один документ: https://www.gigadevice.com.cn/Public/Uploads/uploadfile/files/20230209/GD32F10x_User_Manual_EN_Rev2.6.pdf 853 страницы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...