工具与软件:
大家好!
我最近一直在对 MSP430FR5962进行编程、我有一个问题:对代码进行编程后、有两个函数可用于读取数据进行验证(ReadMemQuick 和 ReadMem)。
如果使用 ReadMem 读取主闪存、则编程的数据始终与读回数据匹配、无论读取多少次。 但是、使用 ReadMemQuick 时、主闪存数据与前几次读取相匹配、但在多次读取后、数据会发生变化。
我想了解发生了什么。 您能否解释一下是否有任何不同之处、或者您对此有什么建议?
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
大家好!
我最近一直在对 MSP430FR5962进行编程、我有一个问题:对代码进行编程后、有两个函数可用于读取数据进行验证(ReadMemQuick 和 ReadMem)。
如果使用 ReadMem 读取主闪存、则编程的数据始终与读回数据匹配、无论读取多少次。 但是、使用 ReadMemQuick 时、主闪存数据与前几次读取相匹配、但在多次读取后、数据会发生变化。
我想了解发生了什么。 您能否解释一下是否有任何不同之处、或者您对此有什么建议?
谢谢
Tsai、您好!
您能否详细说明如何使用这些函数、例如您使用什么接口来从器件中读取数据以及这些函数在哪里运行?
目前、我不清楚这些函数在执行什么操作、或者您在哪里找到了这些函数、所以我无法告诉您它们执行什么或为什么在多次读取后数据会发生变化。
尊敬的 Dylan:
感谢您的答复
按照源代码(slau320aj.zip)中引用的编程步骤、我使用了 JTAG 接口和我自己的工具对此芯片进行编程。 在测试过程中ReadMem
,我注意到当使用时,回读数据始终与编程数据匹配ReadMemQuick
,但与,它只在开始时匹配,并且在多次读取后,数据会意外变化。 这种行为是否表明ReadMem
验证更可靠? 您是否建议使用ReadMem
OVERReadMemQuick
?
您为此使用的是定制 JTAG 工具吗? 您是否曾在不同的 JTAG 工具(例如 SLAU320文档中提到的工具之一)上尝试过相同的操作?
我可以看到、对您提到的函数的描述只是启动读取、然后返回它读取的值、在函数流程中我看不到任何写入发生。
我建议您尝试探测信号、以确保工具和设备之间的通信符合您的预期、如果是、我还建议您尝试仔细检查 readMemQuick 函数返回的数据、以查看存储器中是否实际发生变化。
请告诉我您可以在这里找到什么。
尊敬的 Dylan:
再次感谢您的答复!
我在读取前对闪存进行了写入、所有函数都是按照 SLAU320源代码执行的、并且我已经确认 JTAG 通信正常工作。 我还有 MSP430-FET 闪存仿真工具、我将用它来协助验证。
该readMemQuick
函数返回的数据实际上会在存储器中发生变化、但在使用该readMem
函数时不会发生此问题。
这种行为是否表明readMem
验证更可靠? 您是否建议使用readMem
而不是readMemQuick
?
感谢您的帮助!
Tsai、您好!
我还不能查看它的源代码、但它听起来像是使用 readMemQuick、其中有一些正在改变存储器的错误。 说明中没有任何内容表明它应该会改变您的内存。
由于我们不计划提供此工具的更新、我建议您避免使用 readMemQuick、或者如果您正在编辑源代码、您可以尝试自行修复它、但考虑到您具有此功能、此活动可能不值得您花时间进行。
如果您还有其他关于此主题的问题、请告诉我。
尊敬的 Dylan:
再次感谢您的答复!
在执行擦除和空白检查操作后、我写入了主闪存并使用该ReadMemQuick
函数进行回读。
所有操作均通过 SLAU320源代码中的函数(不仅仅是读取函数)来执行。
我在输出窗口中打印了返回的数据、您可以看到、数据在多次尝试读取后会发生变化。
第一幅图显示了使用从芯片读取的正确数据 ReadMemQuick 立即运行。 但是、在使用读取多次之后 ReadMemQuick 、数据会更改、如第二幅图像所示。 数据更改后、将无法再读取正确的值。
Tsai、您好!
我建议您只需使用这里的 ReadMem 函数、而不是出现损坏的 ReadMemQuick 函数。 考虑到您正在使用自定义工具、如果您希望修复、可能需要重新评估执行该函数的确切操作。
再次感谢您的答复
所以、问题似乎在于此 ReadMemQuick 、对吗? 含义的详细信息 ReadMem() 可能是更好的读取方法?
尊敬的 Dylan:
我的问题是否有任何更新?
非常感谢
Tsai、您好!
为延误道歉-我已经不在办公室,我在一周的剩余时间。
为了回答您的问题、我会说是的、问题似乎在 ReadMemQuick 函数中、并且 ReadMem 似乎工作效率更高。 要完全清楚、这完全基于您对问题的描述:由于您使用的是自定义工具和实施、因此我只能根据您提供的信息进行评估。
话虽如此、您已在此处发布的证据似乎确实表明 ReadMemQuick 函数不起作用、并且会无意中更改数据、而 ReadMem 函数可正确读取数据。