-
Notifications
You must be signed in to change notification settings - Fork 3
Description
I've noticed that I cannot send the pilot.bin from Dynamic C 10 as secondary loader. Not with the primary loader from Dynamic c 9, not with the primary loader from OpenRabbit. I've tried using both a RCM5700 and a RCM2200. Originally, I attached my observation to another issue (#28), since I assumed it was Rabbit 5000 - specific:
I encountered something weird on the RCM5700. When I try to send a certain byte sequence to the coldloader, something goes wrong - either I get a wrong checksum back, or none at all, i.e. the cold loader apparently hangs. And once this is triggered, even after a reset, and reupload of the coldloader certain individual bytes will rettrigger the hang / wrong checksum if sent as first byte of the secondary loader (none of these bytes trigger the issue by themselves after a power-on-reset followed by upload of the coldloader).
The sequence is apparently 1380 bytes long (might be possible to remove a few bytes from the beginning or end, but less than 10 each), and I have not yet found a second one that triggers the issue, but this sequence is part of the Dynamic C 10 pilot. If I make minor changes to the coldloader (e.g insert or remove a nop somewhere, the symptom might flip between hang and wrong checksum, but it still gets triggered by the same sequence).
This seems very weird to me, and I never noticed it before (but before I only ever used the Dynamic C 8 and 9 pilots as secondary loaders), only now did I try other data as secondary loader.
P.S.: For fun I've tried to sent the Dynamic C 10 pilot to a RCM2000 as secondary loader (using a CP2102N USB-to-UART bridge, which IMO among all I tried so far works best - reliable operation without --slow even through a cascade of USB hubs). Same problem there as for the Rabbit 5000 - hangs before we get to the checksum.
P.P.S.: I'll make a new issue from this.