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

u8 buffer[0x00020000]  __attribute__((at(0x24000000)));  

按照网上的说法,上面这种用法只是强行操作变量的地址,编译器并没有真正开辟空间,因此这个地址是否被其他数据使用,编译器不知道。

解决方法:

1、可以这么使用:

u8 buffer[0x00020000]  __attribute__ ((section ("buffer"),  zero_init));

给这个变量指定一个段名“buffer”,然后在分散加载文件中,把段名“buffer”放到内存区中。

  RW_IRAM2 0x24000000 0x00080000  {      ;512K* (buffer).ANY (+RW +ZI)}

编译器就会自动给buffer分配空间,也就是给变量分配空间了。这种方法适用于,单片机有多个内存区,想把变量指定到某个内存区时。比如单片机有AXI SRAM、SRAM1、SRAM4,要把变量放到AXI SRAM。

  RW_IRAM2 0x24020000 0x00080000  {      ;AXI SRAM--512K* (buffer)   .ANY (+RW +ZI)}RW_IRAM3 0x30000000 0x00048000  {      ;SRAM1,2,3--288K.ANY (+RW +ZI)}RW_IRAM4 0x38000000 0x00010000  {      ;SRAM4--64K.ANY (+RW +ZI)} 

2、上面那种,并不能准确指定变量地址,要准确指定就只能麻烦点,在分散加载文件上,把变量的地址避开了。

  RW_IRAM2 0x24020000 0x00080000  {      ;AXI SRAM--512K.ANY (+RW +ZI)}

解决main.o(.data) type RW incompatible with bsp.o(.ARM.__AT_0x24001000) type ZI in er RW_IRAM2.相关推荐

  1. 解决 system_stm32f0xx.o(.data) type RW incompatible with main.o type ZI in er RW_IRAM1.

    今天在调试stm32f0xx时,碰到了一个这样的错误: Error: L6971E: system_stm32f0xx.o(.data) type RW incompatible with main. ...

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

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

  3. IDEA中创建maven项目后解决main文件夹下目录不全的问题

    IDEA中创建maven项目后解决main文件夹下目录不全的问题 参考文章: (1)IDEA中创建maven项目后解决main文件夹下目录不全的问题 (2)https://www.cnblogs.co ...

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

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

  5. 成功解决 “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 ...

  6. 成功解决IndexError: arrays used as indices must be of integer (or boolean) type

    成功解决IndexError: arrays used as indices must be of integer (or boolean) type 目录 解决问题 解决思路 解决方法 解决问题 I ...

  7. 解决python调用TensorFlow时出现FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecate

    最近因为要做一个基于深度学习的人脸识别项目,要用到TensorFlow,但是下载完成后后发现import tensorflow总是出现FutureWarning: Passing (type, 1) ...

  8. 运行keras出现 FutureWarning: Passing (type, 1) or ‘1type‘ as a synonym of type is deprecated解决办法

    运行keras出现 FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a futur ...

  9. FutureWarning: Passing (type 1) or 1type as a synonym of type is deprecated in a future vers 的解决

    使用tensorflow时遇到以下警告信息,虽然不影响使用,但是看着不爽.具体解决办法如下. 警告信息: FutureWarning: Passing (type, 1) or '1type' as ...

最新文章

  1. [译][Tkinter 教程10] Text 控件
  2. linux gcc 静态编译 减小体积
  3. Python出现SyntaxError: Non-ASCII character '\xe7' in file 错误的解决办法
  4. 013. MVC5过滤器
  5. [NDK 佳佳的魔法药水]
  6. mysql中date与datetime类型的区别
  7. 现在有什么开源的语音识别吗?
  8. VS Tips (new ones)
  9. python 字符串转函数名_Python 使用函数名(字符串)调用函数(4种方法)
  10. matlab 模式识别工具箱下载,模式识别matlab工具箱
  11. sql server 2000 sp3 补丁
  12. 【重磅】英国脱离欧盟,英国首相卡梅伦宣布辞职
  13. 适合包邮地区的 省市选择 jquery插件
  14. python os.walk如何不遍历隐藏文件,Python os.walk() 遍历出当前目录下的文件夹和文件...
  15. 腾讯AI Lab开放文本理解系统TexSmart,让AI想得更深更广
  16. crm组织服务中的xRM消息
  17. 经常写大材料的请惠存(转载)
  18. 深入浅出Spring源码:IOC原理解析(一)
  19. 在线文档分享平台技术实现探讨
  20. 苹果6plus几核处理器_全是回忆!苹果12年进化史:21部iPhone你用过哪一款?

热门文章

  1. c++中把一个函数中的语句复制到另一个语句中报错_从底层看前端(十一)—— JavaScript语法:脚本,模块和函数体。...
  2. java邮件附件默认路径_JavaMail - 文件夹管理( Folder Management)
  3. 基于音乐的脑机接口——采访Stefan Ehrlich 和 Kat Agres(上)
  4. Unity中实现Hololens的三维空间映射Spatial mapping
  5. JAVA实现输入一个整数,输出该数二进制表示中1的个数(《剑指offer》)
  6. 中国队刷新知识图谱“世界杯”,但点开冠军团队一看,我愣住了
  7. 小冰公司CEO李笛:AI不会江郎才尽,创造力只会持续向上攀升丨MEET2022
  8. 用算法代替生物大脑,90后博士造出活的微型机器人登上Science子刊
  9. 高通CVPR神研究:视频处理计算量降低78%,教卷积层自己“挑像素”,卡成PPT的视频纵享丝滑...
  10. 27年前被Nature拒稿,如今斩获诺贝尔奖!学术投稿模式再引热议:都有神奇的评审2...