主题中讨论的其他器件:HALCOGEN
您好!
我最近遇到了一个我正在努力解决的问题。
在后台、我们开发了一个位于闪存组0中的自定义引导加载程序、并通过链接器命令脚本修改了应用程序的内存分配、以使用闪存组1。 这项计划在过去一年左右一直保持稳定,运作可靠。 但是,几个月前,Halcogen 的更新(4.7.0 -> 4.7.01)导致了一些引导加载程序<-->应用程序问题。 在这里我不会详细介绍、但我们找到的解决方案是修改应用程序中的 hL_sys_startup.c 以执行必要的初始化、因为引导加载程序将清除任何复位源。 让我们调用 Halcogen 更新前的应用程序 v1.0和 Halcogen 更新后的应用程序 v2.0。 应用程序 v2.0已经过测试、看起来稳定。
现在、我们今天看到的问题是、当使用调试器时、我们在应用程序 v2.0中遇到数据中止异常、而不是应用程序 v1.0。 此中止是可重复的、我能够收集以下数据:
- 当尝试读取外设寄存器(ADC、N2HET 等)时、总是会发生中止
- DFSR 读取0x00001008、表示在读取期间 AXI 从器件进行外部复位
- DFAR 读取0xFFF7C004。 读取 ADC1的 OPMODECR 寄存器时会发生中止。
- 辅助 DFSR 读取0x0050000、这表示 AXI 外设端口导致了中止
奇怪的是、这仅在调试时发生。 在构建应用程序和通过引导加载程序进行编程时、未出现此问题。 此外、此问题在应用程序 v1.0中未出现。
一些其他信息:
- 我们使用的是 Hercules LaunchPad 本机的 XDS110调试探针
- 我的 CCS 环境似乎已损坏。 出于某种原因、我必须修改我的每个项目、并在调试/刷写时手动向闪存中添加二进制映像(以前、这是自动处理的)。 我不确定如何/为什么。 我唯一的猜测是我安装了一些 Hercules 示例项目、其中包括"nowFlash"安装、看起来像是一个传统的微控制器闪存应用。 也许这在 CCS 环境中有挂钩?
请提供任何帮助。
谢谢、
James