你好。
此电路板有问题。
我正在闪存中对器件进行编程。 一切都运行正常、即使在复位电路板后、器件也会复位并执行代码。
我的程序允许在闪存上写入(一个用户参数)我使用存储器地址0x0BC000将一个参数存储在闪存中、为此、我使用提供的闪存 API 和示例。
当我将参数保存在闪存中时、主板无法再次重新启动。 我对电路板下电上电或将电路板复位、但不执行代码。 电路板似乎未正确启动。
如果我不使用该函数写入闪存中的参数(在地址0x0BC000中)、则该电路板能够在复位/下电上电和程序完美运行后正确引导和重新启动。
如果我启动调试会话、程序运行良好、甚至我可以将用户参数存储在闪存中、并在调试会话中重新启动代码、程序就会继续运行。
我在调试中选中了、该参数被正确地写入地址0x0BC000中、并且没有修改其他代码。 设置此参数后、0x080000中的代码不会被修改。
此外、在反汇编模式下的调试会话中、我可以看到第一条指令不是从0x080000开始、而是从0x080567开始。 调试重新启动是否会将 PC 指针发送到该地址并引导至0x080000。 我如何发送复位或引导指令到 PC 计数器来指向第一个主地址指令?
我为什么要面对这个问题? 如何解决?
此致。