[开发工具] IAR下载程序报错Verify error at address 0x000080D1

[复制链接]
5639|6
 楼主| Larm1 发表于 2019-1-24 12:36 | 显示全部楼层 |阅读模式
       最近将一个IAR下的M4的程序移植到M7上,移植之前M4的程序因为没有硬件没有验证过,当修改为所有的参数,编译都正确后仿真时,在下载过程中报了好多的警告——地址数据校验错误,错误如下:
      
  1. Thu Jan 24, 2019 07:33:44: Verify error at address 0x000080D1, target byte: 0x40, byte in file: 0x30
  2. Thu Jan 24, 2019 07:33:44: Warning:  
  3. Thu Jan 24, 2019 07:33:44: Verify error at address 0x000080D2, target byte: 0x00, byte in file: 0xDF
  4. Thu Jan 24, 2019 07:33:44: Warning:  
  5. Thu Jan 24, 2019 07:33:44: Verify error at address 0x000080D3, target byte: 0x80, byte in file: 0xF8
  6. Thu Jan 24, 2019 07:33:44: Warning: Too many verify errors, only the first 200 are displayed
  7. Thu Jan 24, 2019 07:34:13: Warning: There were warnings during download, see Log Window
  8. Thu Jan 24, 2019 07:34:13: Loaded debugee: D:\Test\pri\iar\STM32746G-EVAL2\Exe\OS3.out
  9. Thu Jan 24, 2019 07:34:13: Hardware reset with strategy 0 was performed
  10. Thu Jan 24, 2019 07:34:13: Target reset
  11. Thu Jan 24, 2019 07:34:14: Failed to enable illegal breakpoint definition '{D:\Test\pri\app_main.c}.211.5'
  12. Thu Jan 24, 2019 07:34:14: Failed to enable illegal breakpoint definition '{D:\Test\pri\app_main.c}.180.5'
  13. Thu Jan 24, 2019 07:34:14: Failed to enable illegal breakpoint definition '{D:\Test\pri\IAR\os_cpu_a.asm}.188.1'
  14. Thu Jan 24, 2019 07:34:14: One or more breakpoints could not be set and have been disabled.
  15. Thu Jan 24, 2019 07:34:43: There were 2 warnings during the initialization of the debugging session.
  16. Thu Jan 24, 2019 07:36:00: HardFault exception.
  17. Thu Jan 24, 2019 07:36:00: The processor has escalated a configurable-priority exception to HardFault.
  18. Thu Jan 24, 2019 07:36:00:    A bus fault has occurred on an instruction prefetch.
  19. Thu Jan 24, 2019 07:36:00:  
  20. Thu Jan 24, 2019 07:36:00: Exception occured at: 0x0
  21. Thu Jan 24, 2019 07:36:00:  
  22. Thu Jan 24, 2019 07:36:00: See the call stack for more information.


      然后IAR就报错:
       11.PNG
      一开始还以为没问题,点击OK继续执行,结果是程序直接跑飞了:

       13.PNG
      卡在了某个位置。然后问度娘,大概的意思是工程的配置不对,但是试了几个方法都没有凑效。于是自己使用STM32CubeMx新建了一个可以运行的工程,然后比较工程配置,最终发现是因为options->linker->config下的linker configuration file没设置flash的icf文件导致的,见下图:
       441.jpg
      选择正确的flash的icf后程序运行正常。




评论

就喜欢楼主这样有始有终说的明明白白的  发表于 2019-1-25 12:08
mmuuss586 发表于 2019-1-24 17:08 | 显示全部楼层

正常了就好
21mengnan 发表于 2019-1-25 15:33 | 显示全部楼层
ICF是描述内存空间的。
21mengnan 发表于 2019-1-25 15:33 | 显示全部楼层
一个标准的ICF文件可包括下面这些内容:

1.       可编址的存储空间(memory)

2.       不同的存储器地址区域(region)

3.       不同的地址块(block)

4.       Section的初始化与否

5.       Section在存储空间中的放置
晓伍 发表于 2019-2-19 12:59 | 显示全部楼层
icf文件是干嘛用的呢
paotangsan 发表于 2019-2-19 13:03 | 显示全部楼层
是不是flash和ram大小不同啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:大爱无疆

53

主题

389

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部