Re: [casper] Error reading registers with ROACH2
Hi Jason I'm having a hard time updating the .mdl file for tutorial1 after I tried to update to the newest CASPER tools. By 'CASPER tools' are you referring to recent git commits of the Simulink libraries from the ska-sa repo? If so, I know what your problem below is... All the links to the yellow blocks are broken. Should the .mdl files work with the updated CASPER tools or do I have to go in and replace those blocks that have broken links? I tried doing this as well, but I can't find similar blocks in the simulink explorer. Could you send me the .mdl file for the .bof file that you sent me? Would that help? It seems that older versions of Matlab/Simulink are not forwards- compatible with the .mdl files generated by the latest incarnation of Matlab/Simulink. When the library is loading you will notice a bunch of error messages scrolling past. These are not the usual Warnings that can be ignored but result in a crippled Simulink library with much of it missing (as seen in the simulink explorer). Your .mdl file has links that link back to this crippled library and much of it is missing (hence broken links). Your solution is to install the latest compatible spawn from Mathworks. We may have to look into saving our libraries so that they are compatible with older Matlab/Simulink versions as continually upgrading Matlab/Simulink is expensive, time intensive, and does not usually come with any improvements that relate to us. Regards Andrew
Re: [casper] Error reading registers with ROACH2
Hi Jason Great - let us know when you have updated and tested. Regards Henno On Thu, Mar 7, 2013 at 7:09 PM, Jason Castro jcas...@nrao.edu wrote: Thank you very much for the response. The bof file you sent me works great. I have not updated my CASPER tools in a while, so that's probably the issue. I'll work on updating, and I'll let you know if I have any further problems. Thanks, Jason Castro NRAO On 3/7/2013 1:49 AM, Henno Kriel wrote: Hi Jason Attached is a bof file I build for tut1 on Roach2, with some additional bus diagnostics. Please try this boffile and report back. Thanks HK On Tue, Mar 5, 2013 at 9:25 PM, Jason Castro jcas...@nrao.edu wrote: I just loaded the latest version of tcpborphserver dated 2013-02-12T17:00:21 for my ROACH2. I've recompiled tutorial1 for a ROACH2 and I'm able to load the bof file to the FPGA, however when I try to read a register I get a communications error from the Roach and the personality of the FPGA is dumped. The roach is still on the network and KATCP is still there, but I have to reload the BOF file. It appears I can write to registers correctly. If I request say 5 bytes from the sys_stratchpad KATCP recovers gracefully with an error, but if I request 4 bytes I get the following error dump from the ROACH2, as read from the USB serial interface: Machine check in kernel mode. Data Read PLB Error Oops: Machine check, sig: 7 [#6] PowerPC 44x Platform Modules linked in: NIP: 10004ff8 LR: 10004fcc CTR: 1000547c REGS: efbcdf10 TRAP: 0214 Tainted: G D W (3.4.0-rc3+) MSR: 0002f900 CE,EE,PR,FP,ME CR: 42002424 XER: 005f TASK = efbd4100[489] 'tcpborphserver3' THREAD: efbcc000 GPR00: bfc7faf0 48021c60 10045fbc GPR08: 4802a00c bfc7faf0 22002422 100598dc GPR16: 1ff6b47c 1ff62098 bf8b8fae GPR24: 100028c4 100450a8 0008 48028e64 0004 1005808c bfc7faf0 NIP [10004ff8] 0x10004ff8 LR [10004fcc] 0x10004fcc Call Trace: ---[ end trace 9a1ad1718c70baa4 ]--- roach VMA close roach release mem calledBus error root: tcpborphserver exited with code 0 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x4c, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4c, len=2 i2c i2c-0: master_xfer[0] W, addr=0x4c, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4c, len=1 i2c i2c-0: master_xfer[0] W, addr=0x4c, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4c, len=1 i2c i2c-0: master_xfer[0] W, addr=0x4e, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4e, len=2 i2c i2c-0: master_xfer[0] W, addr=0x4e, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4e, len=1 i2c i2c-0: master_xfer[0] W, addr=0x4e, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4e, len=1 -- Henno Kriel DSP Engineer Digital Back End meerKAT SKA South Africa Third Floor The Park Park Road (off Alexandra Road) Pinelands 7405 Western Cape South Africa Latitude: -33.94329 (South); Longitude: 18.48945 (East). (p) +27 (0)21 506 7300 (p) +27 (0)21 506 7365 (direct) (f) +27 (0)21 506 7375 (m) +27 (0)84 504 5050 -- Henno Kriel DSP Engineer Digital Back End meerKAT SKA South Africa Third Floor The Park Park Road (off Alexandra Road) Pinelands 7405 Western Cape South Africa Latitude: -33.94329 (South); Longitude: 18.48945 (East). (p) +27 (0)21 506 7300
Re: [casper] Error reading registers with ROACH2
Hello On Tue, Mar 5, 2013 at 7:25 PM, Jason Castro jcas...@nrao.edu wrote: I just loaded the latest version of tcpborphserver dated 2013-02-12T17:00:21 for my ROACH2. I've recompiled tutorial1 for a ROACH2 and I'm able to load the bof file to the FPGA, however when I try to read a register I get a communications error from the Roach and the personality of the FPGA is dumped. The roach is still on the network and KATCP is still there, but I have to reload the BOF file. It appears I can write to registers correctly. If I request say 5 bytes from the sys_stratchpad KATCP recovers gracefully with an error, but if I request 4 bytes I get the following error dump from the ROACH2, as read from the USB serial interface: Just to check and help us debug things: Are you using ?wordread or ?read to access the data ? ?read sys_scratchpad 0 4 ?wordread sys_scratchpad 0 1 (reads operate on byte quantities, wordreads on multiples of 32bits). sys_scratchpad is only 1 word (4 bytes) long, so the 5 byte read will be trapped by sanity checks before even a bus transaction occurs. Machine check in kernel mode. Data Read PLB Error Oops: Machine check, sig: 7 [#6] Sig 7 is a bus error, so a transaction across the EPB timed out or failed. A userspace application has difficulties recovering from this - for most purposes it is handled similarly to a segmentation fault. We are keen to understand what fails... let us know how things progress ... Did the problem only appear after the new tcpborphserver install ? Did it happen on other gateware images ? regards marc
Re: [casper] Error reading registers with ROACH2
Hi Jason, It looks like you may have built the bof file with an older version of the CASPER tools. We had a similar problem with the infrastructure being held in reset and hence TCPBorphServer timed out on bus requests. Have you pulled the latest version from SKA-SA? You can try the precompiled tut1 boffile to give us an idea whether the problem is with the CASPER tools or TCPBorphServer. Regards Wes On Tue, Mar 5, 2013 at 9:25 PM, Jason Castro jcas...@nrao.edu wrote: I just loaded the latest version of tcpborphserver dated 2013-02-12T17:00:21 for my ROACH2. I've recompiled tutorial1 for a ROACH2 and I'm able to load the bof file to the FPGA, however when I try to read a register I get a communications error from the Roach and the personality of the FPGA is dumped. The roach is still on the network and KATCP is still there, but I have to reload the BOF file. It appears I can write to registers correctly. If I request say 5 bytes from the sys_stratchpad KATCP recovers gracefully with an error, but if I request 4 bytes I get the following error dump from the ROACH2, as read from the USB serial interface: Machine check in kernel mode. Data Read PLB Error Oops: Machine check, sig: 7 [#6] PowerPC 44x Platform Modules linked in: NIP: 10004ff8 LR: 10004fcc CTR: 1000547c REGS: efbcdf10 TRAP: 0214 Tainted: G D W (3.4.0-rc3+) MSR: 0002f900 CE,EE,PR,FP,ME CR: 42002424 XER: 005f TASK = efbd4100[489] 'tcpborphserver3' THREAD: efbcc000 GPR00: bfc7faf0 48021c60 10045fbc GPR08: 4802a00c bfc7faf0 22002422 100598dc GPR16: 1ff6b47c 1ff62098 bf8b8fae GPR24: 100028c4 100450a8 0008 48028e64 0004 1005808c bfc7faf0 NIP [10004ff8] 0x10004ff8 LR [10004fcc] 0x10004fcc Call Trace: ---[ end trace 9a1ad1718c70baa4 ]--- roach VMA close roach release mem calledBus error root: tcpborphserver exited with code 0 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x18, len=1 i2c i2c-0: master_xfer[1] R, addr=0x18, len=1 i2c i2c-0: master_xfer[0] W, addr=0x4c, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4c, len=2 i2c i2c-0: master_xfer[0] W, addr=0x4c, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4c, len=1 i2c i2c-0: master_xfer[0] W, addr=0x4c, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4c, len=1 i2c i2c-0: master_xfer[0] W, addr=0x4e, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4e, len=2 i2c i2c-0: master_xfer[0] W, addr=0x4e, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4e, len=1 i2c i2c-0: master_xfer[0] W, addr=0x4e, len=1 i2c i2c-0: master_xfer[1] R, addr=0x4e, len=1