alexey123_45 0 20 октября, 2021 Опубликовано 20 октября, 2021 · Жалоба Здравствуйте Может ли кто-нибудь ответить на вопрос. У меня есть проект сделанный в IAR 6.30(Другой версии я использовать не могу) под контроллер STM32F103. Мне нужно перенести этот проект на контроллер GigaDevice GD32F103. Прямой поддержки данного контроллера в этой версии IAR я не увидел. Могу ли я как-то прикинуться STM путем замены HAL библиотек и поправить вызовы функций соответственно. Вроде по документации этот контроллер полный клон STM или все же это не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 20 октября, 2021 Опубликовано 20 октября, 2021 · Жалоба Читайте эту тему, там есть ответы не только на заданные вопросы, но и грядущие, а они точно будут ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasily_ 53 20 октября, 2021 Опубликовано 20 октября, 2021 · Жалоба 4 часа назад, alexey123_45 сказал: под контроллер STM32F103. Мне нужно перенести этот проект на контроллер GigaDevice GD32F103. Может лучше так: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexey123_45 0 20 октября, 2021 Опубликовано 20 октября, 2021 · Жалоба 2 hours ago, Vasily_ said: Может лучше так: Нет, так к сожалению, не получится Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 20 октября, 2021 Опубликовано 20 октября, 2021 · Жалоба 8 часов назад, alexey123_45 сказал: Вроде по документации этот контроллер полный клон STM или все же это не так? Имена регистров и битов в них отличаются, смысл тот же. Это не клон, а аналог, поэтому есть небольшие отличия в поведении. Программы, скомпилированные под STM32F103 идут почти без доработок (о некоторых различиях в поведении можно почитать в конце указанной Forger темы. Найдете новые отличия - пишите туда же, кому-то может оказаться полезным. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimone 0 5 ноября, 2021 Опубликовано 5 ноября, 2021 · Жалоба Может кого-то сталкивался. Имеется stm32F103 , GD32 и АРМ32 Вопрос, как лучше в программе различать, на каком она чипе запущена , что-б корректно работала? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 5 ноября, 2021 Опубликовано 5 ноября, 2021 · Жалоба 28 minutes ago, dimone said: Может кого-то сталкивался. Имеется stm32F103 , GD32 и АРМ32 Вопрос, как лучше в программе различать, на каком она чипе запущена , что-б корректно работала? Под каждый чип лучше свою прошивку делать, впрочем именно так приходится делать. Именно приходится. Ну а далее #ifdef в помощь )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SSerge 4 5 ноября, 2021 Опубликовано 5 ноября, 2021 · Жалоба 1 час назад, dimone сказал: Имеется stm32F103 , GD32 и АРМ32 Вопрос, как лучше в программе различать, на каком она чипе запущена , что-б корректно работала? У них у всех есть Unique device ID register (96 bits). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimone 0 8 ноября, 2021 Опубликовано 8 ноября, 2021 · Жалоба 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 Кубом предоставленным... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 8 ноября, 2021 Опубликовано 8 ноября, 2021 · Жалоба 7 minutes ago, dimone said: Позвольте не согласиться, форкать один и тот-же функционал из-за девиаций чип на той-же 6орде не идея не очень, как по мне. Это не прихоть. Увы, это - необходимость. Универсальная прошивка не всегда хорошо. Порой проще не смешивать мух с котлетами, добавив небольшое описание в документацию для про-ва. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 8 ноября, 2021 Опубликовано 8 ноября, 2021 · Жалоба 2 часа назад, dimone сказал: Да, но где найти диапазоны.. В документации? Нет, это для слабых! Для GD32F10x значений сходу не нашел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimone 0 8 ноября, 2021 Опубликовано 8 ноября, 2021 · Жалоба 20 minutes ago, Сергей Борщ said: В документации? Нет, это для слабых! Для GD32F10x значений сходу не нашел. Это не тот Федот. Диапазоны ,как было упомянуто для 96-bit chip ID То что вы советуете (DEV_ID) абсолютно идентично у STM32F103 и АРМ32 и GD32, поле REV_ID лишь у GD свое Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 134 8 ноября, 2021 Опубликовано 8 ноября, 2021 · Жалоба 51 минуту назад, dimone сказал: Диапазоны ,как было упомянуто для 96-bit chip ID Не имеет смысла. Судя по описанию этого поля в более других STM32 нам кодирется номер пластины и положение конкретного кристалла на пластине. Гарантируется лишь уникальность этого поля, никаких гарантий диапазонов никто не даст. 53 минуты назад, dimone сказал: То что вы советуете (DEV_ID) абсолютно идентично у STM32F103 и АРМ32 и GD32, поле REV_ID лишь у GD свое Печально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 42 8 ноября, 2021 Опубликовано 8 ноября, 2021 · Жалоба Скажите кто-нибудь, какой у GD32F103 загрузчик? На TTL или на USB? А то до сих пор вижу такую безрадостную картину, что USB-loader бывает только у STM32F4 (F2 и F3 не испытывала, т.к. их у меня их нет) и выше, а на STM32F1 только TTL-loader. Тогда как хотелось бы, чтобы и на F1 тоже был USB-loader. И вообще, можно ли USB-loader прошить F1? В смысле, где взять его бинарник, если таковой для F1 существует? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Forger 22 8 ноября, 2021 Опубликовано 8 ноября, 2021 · Жалоба 3 minutes ago, Xenia said: И вообще, можно ли USB-loader прошить F1? В смысле заменить штатный бутлодырь? Но это невозможно, поскольку он находится не во флэш и поэтому не доступен для изменения и перезаписи. Что в целом вполне логично. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться