当前未连接目标时,会找到编程器,但不显示串行。 当我们在目标启动时提取序列号(和 OpenOCD hla_serial
)时,这并不方便。
@grevaillot :您刚刚赢得了这张票,因为我发现您的提交 804c38ead8aef3e4a1640a82a9b9c01f4f60eed1 似乎以某种方式解决了上述问题(每一次事故?)我发现我的 STlink-v2 程序员的行为(完全是)自从这次提交以来有所不同。 我真的不知道是什么导致了这种变化。
如果没有设备连接到编程器,则st-info --probe
的输出如下:
前:
Found 1 stlink programmers
然后:
Found 1 stlink programmers
serial: 3f76050132124647524b4e00
hla-serial: "\x3f\x76\x05\x01\x32\x12\x46\x47\x52\x4b\x4e\x00"
flash: 0 (pagesize: 0)
sram: 0
chipid: 0x0000
descr: unknown device
我真的不明白为什么会这样。
但是,由于您是作者,所以让您看看这个才有意义。
我不知道那张票,但是,这是有意的。 我对 st-flash 和 gdb 服务器进行了一些修复,以推送到 USB 探针,返回一些没有连接目标的 st-link 信息,我将用该票号标记它们。
嗯,您引用的提交不是好的提交,它已在探针返工补丁集中修复
@grevaillot我真的不知道是什么导致了那里观察到的变化。 也许这只是导致此设备发生更改的部分修复或从代码方面看到的其他一些更改,但并不是到那时可以解决所有设备的完整修复 - 对此尚无线索。 我也会用这个提交来尝试我的第二个程序员(之前和之后)。 它们都是 CKS32F103C8T6 器件。
这是第二个程序员的st-info --probe
和 commit 804c38ead8aef3e4a1640a82a9b9c01f4f60eed1 的输出,这似乎是相同的结果:
Found 1 stlink programmers
serial: 3f70050132124647524b4e00
hla-serial: "\x3f\x70\x05\x01\x32\x12\x46\x47\x52\x4b\x4e\x00"
flash: 0 (pagesize: 0)
sram: 0
chipid: 0x0000
descr: unknown device
而之前的提交 46bf0abf77cca47133d3839460cc7679e0f78714 返回:
Found 1 stlink programmers
还在想为什么...
抱歉,在我的树上迷路了,让我们总结一下:
中间人提交探针返工的东西可以允许获得一些没有连接目标的 stlink,以显示为“找到 1 个 stlink 程序员”而没有串行。 这是一个问题,探针返回的是找到的 stlink 的数量,而不是被探测的 stlink 的数量。
804c38ead8aef3e4a1640a82a9b9c01f4f60eed1 绝不可以改变探测行为,我怀疑一些本地不那么干净的重建和测试问题:)
我的 PR https://github.com/stlink-org/stlink/pull/933应该可以解决这个问题。
顺便说一句,我认为 --probe 调用可能应该显示 cpuid。 这个永远不应该为空,并有助于新芯片支持/错误报告。 但这是另一个问题。
@grevaillot :您说得对,它一定是本地不那么干净的重建:到目前为止,我发现我的发现来自较旧的手动合并提交 aad5cf1901f467914a2efe855c0caff7fdf99048 引入的更改,因此您没有。 另请参阅源自同一分支的 #863。 所以我们应该坚持你之前提到的。 然而,这解释了观察到的行为。