zoukankan      html  css  js  c++  java
  • IAR升级后原来程序报错的解决办法

    解决办法1:
    用IAR6.3打开IAR6.0 的工程,编译的时候出现提示错误:
    extern uint32_t __get_PSP(void); 已经在C:Program FilesIAR SystemsEmbedded Workbench 6.0arminccintrinsics.h文件中定义
    extern uint32_t __get_MSP(void);已经在C:Program FilesIAR SystemsEmbedded Workbench 6.0arminccintrinsics.h文件中定义
    。。。。。。

    这是由于IAR6.3已经加入了CM3的内核定义,就不需要ST库中的core_cm3.c 和 core_cm3.h 这两个文件的定义了

    解决办法从ST网站找到:

    直接删除core_cm3.c 和 core_cm3.h 这两个文件,然后在工程设置里面勾选 "Use CMSIS"

    工程里去掉包含core_cm3.c

    然后会出现很多警告,可以不用管它的 ,如果你比较在意这些,

    把报警的地方改为 .text:CODE:REORDER:NOROOT(1)

    解决办法2:
    把core_cm3.h里面这句给注释掉,然后加上一句
    #if defined (__ICCARM__)
    //#include <intrinsics.h> /* IAR Intrinsics */
    __intrinsic void __DSB(void);
    #endif
    完全没有任何警告和错误。
    我的是IAR6.3+STM32F10x_StdPeriph_Driver V3.5.0

    解决办法3:
    直接用IAR6.3安装文件下的core_cm3.h

  • 相关阅读:
    jQuery中 $ 符号的冲突问题
    典型用户,场景,用例图
    结对编程
    简易计算器
    对git的认识
    我的博客
    零基础免费搭建个人博客-hexo+github
    DTcmsV4.0分析学习——(3)URL重写
    DTcmsV4.0分析学习——(2)系统框架
    DTcmsV4.0分析学习——(1)数据库结构分析
  • 原文地址:https://www.cnblogs.com/crazyxu/p/13944275.html
Copyright © 2011-2022 走看看