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

Здравствуйте

Может ли кто-нибудь ответить на вопрос. У меня есть проект сделанный в IAR 6.30(Другой версии я использовать не могу) под контроллер STM32F103. Мне нужно перенести этот проект на контроллер GigaDevice GD32F103. Прямой поддержки данного контроллера в этой версии IAR я не увидел. Могу ли я как-то прикинуться STM путем замены HAL библиотек и поправить вызовы функций соответственно. Вроде по документации этот контроллер полный клон STM или все же это не так? 

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


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

Читайте эту тему, там есть ответы не только на заданные  вопросы, но и грядущие, а они точно будут ;)

 

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


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

4 часа назад, alexey123_45 сказал:

под контроллер STM32F103. Мне нужно перенести этот проект на контроллер GigaDevice GD32F103.

Может лучше так: 

 

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


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

8 часов назад, alexey123_45 сказал:

Вроде по документации этот контроллер полный клон STM или все же это не так? 

Имена регистров и битов в них отличаются, смысл тот же. Это не клон, а аналог, поэтому есть небольшие отличия в поведении. Программы, скомпилированные под STM32F103 идут почти без доработок (о некоторых различиях в поведении можно почитать в конце указанной Forger темы. Найдете новые отличия - пишите туда же, кому-то может оказаться полезным. 

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


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

Может кого-то сталкивался.

Имеется stm32F103 , GD32 и АРМ32

Вопрос, как лучше в программе различать, на каком она чипе запущена , что-б корректно работала?

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


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

28 minutes ago, dimone said:

Может кого-то сталкивался.

Имеется stm32F103 , GD32 и АРМ32

Вопрос, как лучше в программе различать, на каком она чипе запущена , что-б корректно работала?

Под каждый чип лучше свою прошивку делать, впрочем именно так приходится делать. Именно приходится.

Ну а далее #ifdef в помощь ))

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


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

1 час назад, dimone сказал:

Имеется stm32F103 , GD32 и АРМ32

Вопрос, как лучше в программе различать, на каком она чипе запущена , что-б корректно работала?

У них у всех есть Unique device ID register (96 bits).

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


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

On 11/5/2021 at 4:01 PM, Forger said:

Под каждый чип лучше свою прошивку делать, впрочем именно так приходится делать. Именно приходится.

Ну а далее #ifdef в помощь ))

Позвольте не согласиться, форкать один и тот-же функционал из-за девиаций чип на той-же 6орде не идея не очень, как по мне.

Да и сервис проклянет.. В крайнем случае в меню пункт можно добавть, но хтелось бы сделать красиво)

On 11/5/2021 at 4:52 PM, SSerge said:

У них у всех есть Unique device ID register (96 bits).

Да, но где найти диапазоны..

-Приглянулся вариант чтения

Для STM32F103: OTG_FS core ID register (OTG_FS_CID)

Reset value:0x0000 1200


 

Для GD32 : Core ID register (USBFS_CID)

Reset value: 0x0000 1000


 

Правда чтения по адресу: USB_BASE +           

не приводит к жлаемому результату, более того регистр присутствующий в RM0008 файле напрочь отсутствует в stm32F103xb.h Кубом предоставленным...

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


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

7 minutes ago, dimone said:

Позвольте не согласиться, форкать один и тот-же функционал из-за девиаций чип на той-же 6орде не идея не очень, как по мне.

Это не прихоть. Увы, это - необходимость. Универсальная прошивка не всегда хорошо. Порой проще не смешивать мух с котлетами, добавив небольшое описание в документацию для про-ва.

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


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

2 часа назад, dimone сказал:

Да, но где найти диапазоны..

В документации? Нет, это для слабых!

image.thumb.png.4a5b261d04940f09efcf5355426c3bf1.png

image.thumb.png.990ef462961783a0bd416a882f006930.png

Для GD32F10x значений сходу не нашел. 

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


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

20 minutes ago, Сергей Борщ said:

В документации? Нет, это для слабых!

Для GD32F10x значений сходу не нашел. 

Это не тот Федот.

Диапазоны ,как было упомянуто для 96-bit chip ID

То что вы советуете (DEV_ID) абсолютно идентично у STM32F103 и АРМ32 и GD32, поле REV_ID лишь у GD свое

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


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

51 минуту назад, dimone сказал:

Диапазоны ,как было упомянуто для 96-bit chip ID

Не имеет смысла. Судя по описанию этого поля в более других STM32 нам кодирется номер пластины и положение конкретного кристалла на пластине. Гарантируется лишь уникальность этого поля, никаких гарантий диапазонов никто не даст.

53 минуты назад, dimone сказал:

То что вы советуете (DEV_ID) абсолютно идентично у STM32F103 и АРМ32 и GD32, поле REV_ID лишь у GD свое

Печально.

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


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

Скажите кто-нибудь, какой у GD32F103 загрузчик? На TTL или на USB?

А то до сих пор вижу такую безрадостную картину, что USB-loader бывает только у STM32F4 (F2 и F3 не испытывала, т.к. их у меня их нет) и выше, а на STM32F1 только TTL-loader. Тогда как хотелось бы, чтобы и на F1 тоже был USB-loader.

И вообще, можно ли USB-loader прошить F1? В смысле, где взять его бинарник, если таковой для F1 существует?

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


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

3 minutes ago, Xenia said:

И вообще, можно ли USB-loader прошить F1? 

В смысле заменить штатный бутлодырь? Но это невозможно, поскольку он находится не во флэш и поэтому не доступен для изменения и перезаписи. Что в целом вполне логично.

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


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

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

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

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

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

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

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

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

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

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