for some reason i need that arm7 binary targeted not into wram but into main ram in my project.
but then i changed target place for arm7 to main ram, there is frezze happens inside fifoInit while loop on arm7 side.
freeze happens on real hardware (i try on r4 and ak rpg). on no$gba all works fine.
small example.
where is problem?
libnds-1.3.1 and freeze in fifoInit
Re: libnds-1.3.1 and freeze in fifoInit
Putting the ARM7 program in main ram can cause some pain...
I know fifoInit syncs both processors somehow. If both arm7 and arm9 are running from main ram, then the arm9 will be frozen until the arm7 goes to sleep (I think it may be selectable which processor has priority). The arm7 will never go to sleep because it is busy trying to sync with the arm9 (which is stuck).
I know fifoInit syncs both processors somehow. If both arm7 and arm9 are running from main ram, then the arm9 will be frozen until the arm7 goes to sleep (I think it may be selectable which processor has priority). The arm7 will never go to sleep because it is busy trying to sync with the arm9 (which is stuck).
-
- Site Admin
- Posts: 2003
- Joined: Tue Aug 09, 2005 3:21 am
- Location: UK
- Contact:
Re: libnds-1.3.1 and freeze in fifoInit
This setup is not supported. Running your arm7 binary in main RAM is ill advised given that both processors cannot access main RAM simultaneously.z.g wrote:for some reason i need that arm7 binary targeted not into wram but into main ram in my project.
Re: libnds-1.3.1 and freeze in fifoInit
you are right. replacingeKid wrote:I know fifoInit syncs both processors somehow. If both arm7 and arm9 are running from main ram, then the arm9 will be frozen until the arm7 goes to sleep (I think it may be selectable which processor has priority). The arm7 will never go to sleep because it is busy trying to sync with the arm9 (which is stuck).
Code: Select all
for(delaycount=0;delaycount<delay;delaycount++) {}
Code: Select all
swiDelay(delay);
so why did blank cycle used instead swiDelay in libnds?
-
- Posts: 3
- Joined: Tue Jan 06, 2009 4:37 am
Re: libnds-1.3.1 and freeze in fifoInit
As an alternate to running your arm7 from main ram consider dedicating one or two banks of vram (C & D) to the arm7. This avoids the bus arbitration (AFAIK) and allows you to use an unmodified libnds.
Who is online
Users browsing this forum: Ahrefs [Bot] and 3 guests