Forum Discussion
Altera_Forum
Honored Contributor
11 years agoI'm using a custom SW that runs on NIOS and downloads the .rbf file via generic UART. I'm using the USB-Blaster just to run the NIOS code.
This is all has been verified and works just fine. I kept digging in the .rbf files and I think I found the ignore ID bit in the .rbf header. Unfortunately the .rbf file is generated for passive serial so I can't use it directly: Here is the beginning of the .rbf file with ID check disabled (passive serial): 00000000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000010 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000020 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000030 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000040 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000050 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000060 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000070 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000080 6A 6A 6A 6A 3E F0 FF FF 77 FD FF FF B6 F3 FF FF jjjj>ðÿÿwýÿÿ¶óÿÿ 00000090 37 F5 FF FF F6 F2 FF FF 77 F0 FF FF 33 F9 FF FF 7õÿÿöòÿÿwðÿÿ3ùÿÿ 000000A0 BA F9 FF FF 19 F0 FF FF B8 F0 FF FF 5B F5 FF FF ºùÿÿ.ðÿÿ¸ðÿÿ[õÿÿ 000000B0 79 F6 FF FF 5B F9 FF FF 59 F8 FF FF 19 F4 FF FF yöÿÿ[ùÿÿYøÿÿ.ôÿÿ 000000C0 BD F6 FF FF BD F2 FF FF 58 F4 FF FF 7C F4 FF FF ½öÿÿ½òÿÿXôÿÿ|ôÿÿ 000000D0 7F F6 FF FF 7A F2 FF FF 9D F3 FF FF 99 F0 FF FF .öÿÿzòÿÿ.óÿÿ™ðÿÿ 000000E0 BB F3 FF FF 3C F4 FF FF 18 F5 FF FF 58 F0 FF FF »óÿÿ<ôÿÿ.õÿÿXðÿÿ 000000F0 19 F0 FF FF 59 F2 FF FF 19 F0 FF FF 99 F2 FF FF .ðÿÿYòÿÿ.ðÿÿ™òÿÿ 00000100 9C F1 FF FF 19 F5 FF FF 19 F5 FF FF 4E F3 FF FF œñÿÿ.õÿÿ.õÿÿNóÿÿ 00000110 9E F7 FF FF 1A F4 FF FF EE F4 FF FF 1A F1 FF FF ž÷ÿÿ.ôÿÿîôÿÿ.ñÿÿ 00000120 6E F1 FF FF 00 00 91 F2 FF FF FF FF FF FF FF FF nñÿÿ..‘òÿÿÿÿÿÿÿÿ Here is the .rbf file with ID check enabled (passive serial): 00000000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000010 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000020 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000030 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000040 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000050 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000060 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000070 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000080 6A 6A 6A 6A 3E F0 FF FF 77 FD FF FF B6 F3 FF FF jjjj>ðÿÿwýÿÿ¶óÿÿ 00000090 37 F5 FF FF F6 F2 FF FF 77 F0 FF FF 33 F9 FF FF 7õÿÿöòÿÿwðÿÿ3ùÿÿ 000000A0 BA F9 FF FF 11 F0 FF FF B8 F0 FF FF 5B F5 FF FF ºùÿÿ.ðÿÿ¸ðÿÿ[õÿÿ 000000B0 79 F6 FF FF 5B F9 FF FF 59 F8 FF FF 19 F4 FF FF yöÿÿ[ùÿÿYøÿÿ.ôÿÿ 000000C0 BD F6 FF FF BD F2 FF FF 58 F4 FF FF 7C F4 FF FF ½öÿÿ½òÿÿXôÿÿ|ôÿÿ 000000D0 7F F6 FF FF 7A F2 FF FF 9D F3 FF FF 99 F0 FF FF .öÿÿzòÿÿ.óÿÿ™ðÿÿ 000000E0 BB F3 FF FF 3C F4 FF FF 18 F5 FF FF 58 F0 FF FF »óÿÿ<ôÿÿ.õÿÿXðÿÿ 000000F0 19 F0 FF FF 59 F2 FF FF 19 F0 FF FF 99 F2 FF FF .ðÿÿYòÿÿ.ðÿÿ™òÿÿ 00000100 9C F1 FF FF 19 F5 FF FF 19 F5 FF FF 4E F3 FF FF œñÿÿ.õÿÿ.õÿÿNóÿÿ 00000110 9E F7 FF FF 1A F4 FF FF EE F4 FF FF 1A F1 FF FF ž÷ÿÿ.ôÿÿîôÿÿ.ñÿÿ 00000120 6E F1 FF FF 00 00 93 BA FF FF FF FF FF FF FF FF nñÿÿ..“ºÿÿÿÿÿÿÿÿ There are 3 bytes that are different: addr 0xA4 : 0x19 vs 0x11 - I belive this is the ID check disable/enable addr 0x126&0x127: 0x91 0xF2 vs. 0x93 0xBA - this looks like cheksum or CRC If the last 2 bytes are CRC or cheksum I can't figure out how to compute them. Here is for reference how the .rbf starts when generated for Active Serial automatically with the .sof file: 00000000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000010 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000020 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000030 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000040 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000050 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000060 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000070 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 00000080 6A 6A 6A 6A 36 F0 FF FF 77 FD FF FF B6 F3 FF FF jjjj6ðÿÿwýÿÿ¶óÿÿ 00000090 37 F5 FF FF F6 F2 FF FF 77 F0 FF FF 33 F9 FF FF 7õÿÿöòÿÿwðÿÿ3ùÿÿ 000000A0 BA F9 FF FF 11 F0 FF FF B8 F0 FF FF 5B F5 FF FF ºùÿÿ.ðÿÿ¸ðÿÿ[õÿÿ 000000B0 79 F6 FF FF 5B F9 FF FF 59 F8 FF FF 19 F4 FF FF yöÿÿ[ùÿÿYøÿÿ.ôÿÿ 000000C0 B9 F6 FF FF B9 F2 FF FF 5C F4 FF FF 78 F4 FF FF ¹öÿÿ¹òÿÿ\ôÿÿxôÿÿ 000000D0 7F F6 FF FF 7A F2 FF FF 99 F3 FF FF 99 F0 FF FF .öÿÿzòÿÿ™óÿÿ™ðÿÿ 000000E0 BB F3 FF FF 38 F4 FF FF 1C F5 FF FF 58 F0 FF FF »óÿÿ8ôÿÿ.õÿÿXðÿÿ 000000F0 19 F0 FF FF 59 F2 FF FF 19 F0 FF FF 9D F2 FF FF .ðÿÿYòÿÿ.ðÿÿ.òÿÿ 00000100 9C F1 FF FF 1D F5 FF FF 19 F5 FF FF 4E F3 FF FF œñÿÿ.õÿÿ.õÿÿNóÿÿ 00000110 98 F7 FF FF 18 F4 FF FF EC F4 FF FF 1A F1 FF FF ˜÷ÿÿ.ôÿÿìôÿÿ.ñÿÿ 00000120 6A F1 FF FF 00 00 A0 CC FF FF FF FF FF FF FF FF jñÿÿ..*Ìÿÿÿÿÿÿÿÿ Thanks, Krassimir