今天在调试stm32f0xx时,碰到了一个这样的错误:

Error: L6971E: system_stm32f0xx.o(.data) type RW incompatible with main.o(.ARM.__AT_0x20000000) type ZI in er RW_IRAM1.

从字面上判断为编译system_stm32f0xx.c文件生成的目标文件system_stm32f0xx.o中的数据段(.data)内的RW数据与main.o中的数据在地址0x20000000产生冲突。

考虑到有以下代码

#if   (defined ( __CC_ARM ))__IO uint32_t VectorTable[48] __attribute__((at(0x20000000)));
#elif (defined (__ICCARM__))
#pragma location = 0x20000000__no_init __IO uint32_t VectorTable[48];
#elif defined   (  __GNUC__  )__IO uint32_t VectorTable[48] __attribute__((section(".RAMVectorTable")));
#elif defined ( __TASKING__ )__IO uint32_t VectorTable[48] __at(0x20000000);
#endif

也就是要将中断向量表VectorTable强制定义在内存0x20000000上,但是此地址与system_stm32f0xx.c定义的全局变量位置有冲突。于是,需要修改避免冲突。中断向量的地址是固定的,但其他全局变量的地址可以相应地移动下,并且APP的烧录位置为0x8003000,如下图:

再重新编译就可以了。

参考文章:

http://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=615966&highlight=an4065

解决 system_stm32f0xx.o(.data) type RW incompatible with main.o type ZI in er RW_IRAM1.相关推荐

  1. 解决main.o(.data) type RW incompatible with bsp.o(.ARM.__AT_0x24001000) type ZI in er RW_IRAM2.

    产生原因如错误信息所述,程序里面使用了指定某个变量地址的语句,现在这个指定的地址和main文件中的变量冲突了.比如下面这种用法: u8 buffer[0x00020000] __attribute__ ...

  2. 解决Error: L6971E: main.o(.data) type RW incompatible with (.ARM.__AT_0x20000000)

    使用的是STM32F103C8T6,SRAM大小20k 起始地址0x20000000 报错的时候我是想在SRAM内开辟一块空间用于存储数据,是像下面这样写的. u8 new_firmware_app[ ...

  3. 解决umount.nfs: /data: device is busy 问题

    解决umount.nfs: /data: device is busy 问题 参考文章: (1)解决umount.nfs: /data: device is busy 问题 (2)https://ww ...

  4. 成功解决 “this version of pandas is incompatible with numpy < 1.15.4\n“ImportError: this version of pand

    成功解决 "this version of pandas is incompatible with numpy < 1.15.4\n"ImportError: this ve ...

  5. 解决springmvc报No converter found for return value of type: class java.util.ArrayList问题

    解决springmvc报No converter found for return value of type: class java.util.ArrayList问题 参考文章: (1)解决spri ...

  6. 解决mysql load data加载本地null数据,表里出现0的情况

    解决mysql load data加载本地null数据,表里出现0的情况 问题说明: sql执行语句如下代码块: ---- 欢迎讨论沟通 ---- 问题说明: 本人在使用mysql加载本地数据过程中, ...

  7. 【BUG解决】 RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor)

    问题描述 RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be ...

  8. Pytorch数据使用列表的卷积层时报错及解决-RuntimeError: Input type (torch.cuda.HalfTensor) and weight type (torch.Floa

    文章首发及后续更新:https://mwhls.top/3737.html,无图/无目录/格式错误/更多相关请至首发页查看. 新的更新内容请到mwhls.top查看. 欢迎提出任何疑问及批评,非常感谢 ...

  9. 解决Spring Spring Data JPA 错误: Page 1 of 1 containing UNKNOWN instances

    解决Spring Spring Data JPA 错误: Page 1 of 1 containing UNKNOWN instances SpringBoot 整合 Spring-Data-JPA ...

最新文章

  1. 数据结构和算法:(1)数据结构的基本知识
  2. Linux运维工程师发展前景
  3. 黑马程序员:java基础之装饰设计模式
  4. Linux下1号进程的前世(kernel_init)今生(init进程)----Linux进程的管理与调度
  5. python求最小值不能使用min和sotred_python基础——内置函数
  6. vc++中画线时xor_C ++'xor_eq'关键字和示例
  7. red6.4 mysql_rhel6.4 yum本地yum源配置
  8. java 和mysql 时间_java和mysql之间的时间日期类型传递
  9. ADO获取表的所有字段名
  10. Android系统分辨率修改方法,Android:系统分辨率的修改
  11. 在线播放m3u8和ts的方法
  12. 肇庆七星岩星湖 情迷湿地公园
  13. 程序员学炒股(3) 个股和大盘的关系之二
  14. 线性代数之——正定矩阵
  15. 怎么看两张图片的相似度,测试两张照片相似度
  16. DAGAGUARD追加归档方式迁移到rac集群
  17. 软考中级一般需要备考多久?过来人告诉你
  18. java中float、double和BigDecimal的精度问题(fastjson、Jackson以及实例化的方式)
  19. 企业移动应用管理平台 - MDM,MAM,MCM
  20. 邮件钓鱼实验之Gophish

热门文章

  1. 增强现实与虚拟现实_到底什么是虚拟现实
  2. 【转】可在广域网部署运行的QQ高仿版 -- GG叽叽(源码)
  3. 如何创建 Ping app 中的 UIViewController 转换动画?
  4. 怎么退出自适应巡航_20款奔驰GLE350改ACC自适应巡航
  5. STM32外围电路硬件解析
  6. 2018.07.30 bzoj4355: Play with sequence(线段树)
  7. c mysql 报表_c 数据库报表打印
  8. 单双号限行微信小程序源码
  9. JavaEE 面试题总结
  10. 不关闭Selinux\Firewalld的情况下OpenSSH 9.0/9.1/9.2升级说明——筑梦之路