您好!
我的客户面临 RF430部件的复位矢量问题。
具体而言、在通过 RFID 读取应用值时、MCU 的固件有时会损坏。
它不会帮助重新启动模块(从 RFID 字段中取出模块,然后再将其放在那里)。 他们必须再次上传固件才能再次开始通信。
这些模块是原型。 他们知道固件可以通过 RFID 上传、这可能是问题的根源。
他们的问题是、他们是否可以通过 RFID 锁定固件更新。
测试后、客户直接提供更多详细信息:
今天、我再次测试了固件的损坏情况、并获得了有关该问题的新详细信息。
问题仍然与重置矢量以某种方式被覆盖的问题相同。
因此、我尝试使用 FRAMAaccessLimitRegister 锁定存储器。
我已经写入该寄存器值0xFFD0来锁定 FRAM 存储器的末尾、从地址0xFFD0到存储器区域的末尾。 我通过链接器命令文件中的声明执行了此操作:
FRAMACCESSLIMITREGISTER:origin = 0xF864,length = 0x0002,fill = 0xFFD0
将代码编程到器件后、我通过调试器验证地址0xF864上的值是否为0xFFD0。
一段时间后、我暂停代码并再次检查该 FRAMAaccessLimitRegister。 但地址0xF864上的值更改为0xFFFF (存储器锁定因某种原因而损坏)。 此时、复位矢量仍然正确。 然后、我取消暂停代码并使器件保持运行。
大约5分钟后、设备未应答 RFID 读取器。 我检查了复位矢量。 复位矢量从值0xFD18更改为0xFF18。
我不知道为什么会发生这种情况。
您是否有任何疑问?
固件错误?
RAM 溢出?
还有什么呢?
谢谢、
此致、
Alberto