Marc Feeley wrote:
It sounds like the development environment is rather minimal on the Nintendo DS. Is there no C debugger you can use to know in which C function the system crashed?
No. This *is* an embedded system, after all. Why do you think I want Gambit running over a socket? That gives me a *much* better environment in which to do development.
In addition, the system has no MMU. Consequently, a "crash" may or may not have any relation to the problem which actually caused the crash.
Also, add a printf in ___call in lib/setup.c to see if it is called and how many times. The function ___call is used when Scheme code is being executed. It is doesn't make it that far then you'll have to use printfs to narrow down the crash location. Start at ___setup in lib/setup.c (for example before calls to ___setup_os, ___setup_mem, etc).
Thanks for this advice. Is there a "preferred form" for a debugging printf in the library? I would be helpful for other people doing ports to have those in the code but disabled by the C macro system.
-a