I'm starting to see some problems on my rev0 board which i haven't seen before - or just put down to bugs in my code. After finally getting my 'ezesdk' to a usable state i was playing with an fft routine.
Basically when multiple cores are busy with dma reading from external memory, writes from the host cpu to on-core memory are either going missing or getting corrupted (and corrupted 32-bit writes are being turned into 64-bit writes of junk too). This causes anything from the core just never receiving the go signal to hard system lockups.
Using memcpy instead of dma only makes it worse. More cores busy reading makes it worse.
I haven't really noticed issues with the inter-core stuff - so it seems it's probably something to do with the arm<>epiphany memory interface in the fpga code?
!stop press! If i remove the job processing and only do a dma write core->shared, then at least this "works" fine.
I was under the impression the new fpga images are incompatible with the rev0 board. Or is it just that the new kernels are? Is there anything I should or can try or am doing wrong?
update: tried another bit of code that tries dma + writing to a seq #, and that works. So maybe it's something else/just a bug.