I have found that the code in my z1 core runs about half as fast if I start the z0 core. Even with an empty loop running in the z0 core.The z0 core is not generating any interrupts or exceptions and the only interrupt occurring in the z1 is the PIT I have coded.
Has anyone else found this? Does anyone know why it happens? I've been through the manuals and can't find an explanation.
Thank you, Mark
Solved! Go to Solution.
I managed to fix this myself. There must have been some kind of bus contention going on. I used PFCRP0 to prioritize z1's port over z0's (ARB=0, PRI=0) and then, for both PFCRP0 and PFCRP1, enabled line buffers (BFEN=1). The speed improvement was astonishing - z1 ran 6x faster even with z0 running. I couldn't find any documentation suggesting this might be necessary, not even in the dual core example.
I managed to fix this myself. There must have been some kind of bus contention going on. I used PFCRP0 to prioritize z1's port over z0's (ARB=0, PRI=0) and then, for both PFCRP0 and PFCRP1, enabled line buffers (BFEN=1). The speed improvement was astonishing - z1 ran 6x faster even with z0 running. I couldn't find any documentation suggesting this might be necessary, not even in the dual core example.