MyTetra Share
Делитесь знаниями!
Как бороться с ошибкой Please select first the target STM32F10x device
Время создания: 11.06.2022 19:20
Текстовые метки: stm32, stm32f10x.h, define, error, определение, ошибка, исправить, PlatformIO
Раздел: Компьютер - Аппаратное обеспечение - Микроконтроллеры ARM
Запись: xintrea/mytetra_syncro/master/base/1654964402br9w00jjn9/text.html на raw.github.com

При использовании файлов библиотек stm32f10x.h / stm32f1.h можно наткнутся на следующую ошибку:



Please select first the target STM32F10x device used in your application (in stm32f10x.h file)



Она говорит о том, что библиотека не знает под какое устройство должна идти компиляция. Узнать о модели устройства библиотека может через наличие одного из следующих определений:



STM32F10X_LD

STM32F10X_LD_VL

STM32F10X_MD

STM32F10X_MD_VL

STM32F10X_HD

STM32F10X_HD_VL

STM32F10X_XL

STM32F10X_CL



Вот что они обозначают, согласно документации компании ST:



- Low-density devices are STM32F101xx, STM32F102xx and STM32F103xx

microcontrollers where the Flash memory density ranges between

16 and 32 Kbytes.


- Low-density Value Line devices are STM32F100xx microcontrollers where

the Flash memory density ranges between 16 and 32 Kbytes.


- Medium-density devices are STM32F101xx, STM32F102xx and STM32F103xx

microcontrollers where the Flash memory density ranges between

64 and 128 Kbytes.


- Medium-density Value Line devices are STM32F100xx microcontrollers

where the Flash memory density ranges between 64 and 128 Kbytes.


- High-density devices are STM32F101xx and STM32F103xx microcontrollers

where the Flash memory density ranges between 256 and 512 Kbytes.


- High-density Value Line devices are STM32F100xx microcontrollers

where the Flash memory density ranges between 256 and 512 Kbytes.


- XL-density devices are STM32F101xx and STM32F103xx microcontrollers

where the Flash memory density ranges between 512 and 1024 Kbytes.


- Connectivity line devices are STM32F105xx and STM32F107xx microcontrollers.



Такое определение должно присутствовать либо в самой программе (что нежелательно), либо оно должно быть передано компилятору через опцию -D.


В среде PlatformIO это можно сделать путем прописывания опции build_flags в конфигурирующий файл platformio.ini. Например, для BlurPill STM32F103C8T6 актуальна будет следущая строка:



build_flags = -DSTM32F10X_MD



После такой настройки компиляция должна пройти без ошибок.


Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования