как решить проблему с загрузкой и отладкой с помощью IAR? - PullRequest
0 голосов
/ 06 мая 2020

всякий раз, когда я генерирую свой код с помощью STM32cubeMX на встроенной рабочей среде Iar V8.5, эта ошибка все еще присутствует

Fatal Error [Pe035]: #error directive: "Unknown target." 

enter image description here

1 Ответ

0 голосов
/ 06 мая 2020

Ошибка не связана ни с загрузкой, ни с отладкой. Это ошибка сборки .

#error - это директива про-процессора в коде . Если вы дважды щелкните по одной из этих ошибок, вы, несомненно, перейдете к проблемному коду. По изображению невозможно указать точную причину (вы должны опубликовать текст «Журнал сборки» полностью, а не изображение вкладки «Сборка»), но, несомненно, это будет код, похожий на (опущен ):

#if defined(STM32F405xx)
  #include "stm32f405xx.h"
#elif defined(STM32F415xx)
  #include "stm32f415xx.h"
#elif 
    ...  
#elif defined(STM32F423xx)
  #include "stm32f423xx.h"
#else
 #error "Unknown Target"   <<<< HERE - no target macro has been defined.
#endif

Дело в том, что код HAL поддерживает несколько вариантов STM32, и необходимо установить макрос, идентифицирующий вашу цель, чтобы была построена соответствующая часть кода c.

Если вы создали свой проект с использованием STM32CubeMX или из IAR IDE, в конфигурации будет место, где вы можете указать свою цель. (в случае CubeMX я не думаю, что вы можете что-либо сделать, пока не выберете цель). В противном случае будет какое-то место для определения макросов сборки из командной строки в конфигурации сборки.

...