MK2 0 1 октября, 2011 Опубликовано 1 октября, 2011 · Жалоба Установил последний IAR 6.21. Перестало все компилироваться. Даже стандартные примеры из StdPeriph_Lib пишет: Error[Pe147]: declaration is incompatible with "__interwork __softfp unsigned long __get_PSP(void)" (declared at line 52 of "E:\PRODJECT\Embedded Workbench 6.0\arm\ E:\My Document\STM32F207\stm32vldiscovery_package\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h 1084 inc\c\intrinsics.h") Error[Pe147]: declaration is incompatible with "__interwork __softfp void __set_PSP(unsigned long)" (declared at line 53 of "E:\PRODJECT\Embedded Workbench 6.0\arm\ E:\My Document\STM32F207\stm32vldiscovery_package\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h 1094 inc\c\intrinsics.h") Error[Pe147]: declaration is incompatible with "__interwork __softfp unsigned long __get_MSP(void)" (declared at line 50 of "E:\PRODJECT\Embedded Workbench 6.0\arm\ E:\My Document\STM32F207\stm32vldiscovery_package\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h 1104 inc\c\intrinsics.h") Error[Pe147]: declaration is incompatible with "__interwork __softfp void __set_MSP(unsigned long)" (declared at line 51 of "E:\PRODJECT\Embedded Workbench 6.0\arm\ E:\My Document\STM32F207\stm32vldiscovery_package\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h 1114 inc\c\intrinsics.h") Error[Pe147]: declaration is incompatible with "__interwork __softfp unsigned long __REV16(unsigned long)" (declared at line 173 of "E:\PRODJECT\Embedded Workbench E:\My Document\STM32F207\stm32vldiscovery_package\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h 1124 6.0\arm\inc\c\intrinsics.h") Error[Pe147]: declaration is incompatible with "__interwork __softfp unsigned long __RBIT(unsigned long)" (declared at line 174 of "E:\PRODJECT\Embedded Workbench 6.0\ E:\My Document\STM32F207\stm32vldiscovery_package\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h 1134 arm\inc\c\intrinsics.h") Error[Pe147]: declaration is incompatible with "__interwork __softfp unsigned long __STREXB(unsigned char, unsigned char *)" (declared at line 181 of "E:\PRODJECT\ E:\My Document\STM32F207\stm32vldiscovery_package\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h 1175 Embedded Workbench 6.0\arm\inc\c\intrinsics.h") Error[Pe147]: declaration is incompatible with "__interwork __softfp unsigned long __STREXH(unsigned short, unsigned short *)" (declared at line 182 of "E:\PRODJECT\ E:\My Document\STM32F207\stm32vldiscovery_package\Libraries\CMSIS\CM3\CoreSupport\core_cm3.h 1186 Embedded Workbench 6.0\arm\inc\c\intrinsics.h") Error while running C/C++ Compiler startup_stm32f10x_md_vl.s stm32f10x_flash.c .................................. ну и остальное в таком же духе что то ему CMSISкие файлы не нравятся облазил всю справку но нигде не нашел эту ошибку "Error[Pe147]: declaration is incompatible with" может надо что-то в настройках проекта поменять? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aba 0 1 октября, 2011 Опубликовано 1 октября, 2011 · Жалоба Слишком мало информации, "перестало всё компилется" из этого ничего не понятно. Под какой процессор проект и компилился ли он раньше в другой среде? Судя по названию путей - это демопример для STM32VLDiscovery. Тут у вас банально не совпадение типов, там в описании ошибки написано в каком файле впервые встречается такая декларация. Приведите типы в обеих файлах к одинаковому виду и будет вам счастие. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MK2 0 1 октября, 2011 Опубликовано 1 октября, 2011 · Жалоба раньше юзал IAR for ARM v. 6.10 32K Kickstart Edition все нормально было, плата дискавери но еще F207 через неё прошиваю типы и вправду не совпадают в файле core_cm3.h объявление: extern uint32_t __get_PSP(void); extern void __set_PSP(uint32_t topOfProcStack); extern uint32_t __get_MSP(void); extern void __set_MSP(uint32_t topOfMainStack); extern uint32_t __REV16(uint16_t value);...................... а в файле Embedded Workbench 6.0\arm\inc\c\intrinsics.h __intrinsic unsigned long __get_PSR( void ); __intrinsic unsigned long __get_IPSR( void ); __intrinsic unsigned long __get_MSP( void ); __intrinsic void __set_MSP( unsigned long ); __intrinsic unsigned long __get_PSP( void ); __intrinsic void __set_PSP( unsigned long ); __intrinsic unsigned long __get_PRIMASK( void ); __intrinsic void __set_PRIMASK( unsigned long ); __intrinsic unsigned long __get_CONTROL( void ); __intrinsic void __set_CONTROL( unsigned long ); в иаре есть встроенные примеры StdPeriph_Lib. открыл их все компилируется но файл core_cm3.h у них совсем другой, отличается что идет в комплекте с StdPeriph_Lib Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MK2 0 6 октября, 2011 Опубликовано 6 октября, 2011 (изменено) · Жалоба Хреновый это какой-то IAR, откачюсь обратно на 6.10 На другой машине такая же история, так что хорошо подумайте прежде чем его ставить 6.21 Изменено 6 октября, 2011 пользователем MK2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 37 6 октября, 2011 Опубликовано 6 октября, 2011 · Жалоба Хреновый это какой-то IAR, откачюсь обратно на 6.10 На другой машине такая же история, так что хорошо подумайте прежде чем его ставить 6.21 Возможно, что последняя версия 6.21.4 окажется лучше - в ней исправляли какие-то ошибки версии 6.21.1. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tran 0 6 октября, 2011 Опубликовано 6 октября, 2011 · Жалоба Это действительно различия в интринсиках. Я в своё время не поленился, исправил uint32_t на unsigned long, всё скомпилилось, но не заработало :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pesicot 0 8 октября, 2011 Опубликовано 8 октября, 2011 · Жалоба Столкнулся с такой же проблемой. Release note for IAR ARM 6.21 A special note on CMSIS integration: If your application source code include CMSIS header files explicitly, then you should not check the Use CMSIS check-box Project>Options...>General Options>Library Configuration>Use CMSIS. Some of the Cortex-M application examples includes CMSIS source files explicitly, do not check the said check-box in these projects. Нужно: Установить Project>Options...>General Options>Library Configuration>Use CMSIS Удалить из проекти и из его папки файлы core_cm3.c и core_cm3.h. Во вложении рабочий проект для STM32-Discovery под IAR ARM 6.21 STM32.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Danis 0 18 октября, 2011 Опубликовано 18 октября, 2011 · Жалоба Установил последний IAR 6.21. Перестало все компилироваться. Даже стандартные примеры из StdPeriph_Lib Тоже было такое: Error[Pe147]: declaration is incompatible with "__interwork __softfp unsigned long __get_PSP(void)" устранил: клик Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MK2 0 19 октября, 2011 Опубликовано 19 октября, 2011 · Жалоба Спасибо большое жалко только уже снес ИАР, пришлось потом даже 6.10 потом удалить, его походу 6.2 подкосил((. А ведь ставил в настройках Use , только файлы CMSIS не додумался удалить)) Жалко IAR думал поюзать поставляемы с ним стеки, но как-то уже на кейловские RL-ARM прижились ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgeni 0 3 июня, 2020 Опубликовано 3 июня, 2020 · Жалоба это что получается библиотеку CMSIS вообще не надо ставить что ли? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться