gpt4 book ai didi

embedded - ICSP SendCommand header 中第 4 位的 TDO 是什么意思? (PIC32MX、ICSP 2 线 4 相)

转载 作者:行者123 更新时间:2023-12-02 05:01:33 27 4
gpt4 key购买 nike

现在我正在尝试实现 flash programming specification对于 PIC32MX。我正在使用 PIC32MX512L 和 PIC32MX512H。 PIC32MX512L最终必须将程序传输到PIC32MX512H的两条线PGEC2和PGED2。

现在我正在尝试执行检查设备操作。正如指定的那样,我通过 MCLR-juggling 进入编程模式并在 TMS 时钟上执行 SetMode (6b011111),同时 TDI 时钟保持低电平。 TAP Controller 以零回复(每个 TDO 都为低)。

之后我必须执行 SendCommand( MTAP_SW_MTAP ) 来选择 MTAP Controller 。要移动的顺序是

(header) 01 01 00 00_ | (data) 00 00 10 00 00 | (most sign. bit) 01 | (footer) 01 00 

每对的第一位是 TDI,第二位是 TMS。我在第一个时钟写入 TDI,在第二个时钟写入 TMS,在第三个和第四个时钟读取 TDO。该序列从左向右馈送。移位的位在每个时钟下降期间保持其值。

问题

移动前 4 对后,TDO 线在第四对高电平(在第三个时钟上)和低电平(在该 4 相部分结束时(在第四个时钟上))。我在上面的序列中用下划线标记了这个地方。之后, Controller 将忽略任何进一步的命令。在下一个 SendCommand ( MTAP_COMMAND ) 上,TDO 保持低电平,随后对于 XferData ( MCHP_STATUS ) TDO 仍然保持低电平,无论我发送命令的频率如何。

我用我的示波器做了一个小截图。蓝线是时钟,绿线是数据。右边的那一跳就是我的意思。

http://i.stack.imgur.com/MSGZh.png

问题

有谁知道 TAP Controller 试图通过第四阶段的 TDO 高告诉我什么?

提前致谢!

最佳答案

嗯,我已经修好了。通常序言的最后一个 TDO 是输出的第一个最低有效位。对于 SendCommand 它没有意义,但对于 XferData 和 XferFastData 它很重要。

根据规范,对于 XferFastData,它是 PrAacc 位。如果该位为零,则应重复整个操作。 但请注意:MCU 实现不遵循规范。如果您真的在 PrAcc 为零的情况下重新启动 FastData 的整个操作,它将无法工作。相反,只需忽略该位并继续写入。通过反复试验并将我的 XferFastData 实现与 pic32prog 进行比较,我最终发现了它。

关于embedded - ICSP SendCommand header 中第 4 位的 TDO 是什么意思? (PIC32MX、ICSP 2 线 4 相),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15896964/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com