首页 > 解决方案 > trace32 data.load.elf 错误“验证地址 NSX:0x8000 处的错误”

问题描述

这是我第一次使用 Trace32,当我尝试执行此命令时,我试图在 arm 目标上刷新一个简单的 C 程序(据我所知,此命令会刷新目标但不确定?)。

d.load.elf image.axf /Verify /ComPare

我收到以下错误:

验证地址 NSX:0x8000 处的错误

我使用以下命令来编译和链接代码:

armclang --target=aarch64-arm-none-eabi hellofunc.c hellomake.c -g -fdata- 
sections -ffunction-sections -c

armlink --entry=0x8594 hellofunc.o hellomake.o --output=image.axf

如何刷新代码并进行调试?逐步执行每条指令

谢谢

标签: embeddedtrace32lauterbach

解决方案


如果闪存已经编程,则不能对其进行编程 - 必须先将其擦除。请参阅Trace32 文档的第 93 页。此外,在您编程之前尝试compare将文件写入闪存总是会失败!

您需要擦除闪存启用闪存进行编程。例如:

FLASH.Erase ALL
FLASH.Program ALL
Data.load.elf image.axf /Verify
FLASH.Program off

请注意,如果除了要编程/调试的代码之外,您还有其他数据或闪存中的引导加载程序,则 Erase.ALL 可能不合适。


推荐阅读