Beispiel #1
0
/*
 *  ======== Deh_Module_startup ========
 */
Int Deh_Module_startup(Int phase)
{
    if (AMMU_Module_startupDone() == TRUE) {
        Watchdog_init(ti_sysbios_family_arm_m3_Hwi_excHandlerAsm__I);
        return Startup_DONE;
    }

    return Startup_NOTDONE;
}
Beispiel #2
0
/*
 *  ======== Deh_Module_startup ========
 *
 *  Uses SYS/BIOS Exception handler function for Hwi-based Watchdog ISR.
 *  This is used in order to cause the Watchdog expiration to appear like
 *  an exception, but since Exception_handler() is not called from the
 *  exception dispatcher (Hwi 1, NMI vector) the register and stack
 *  information that is printed is not valid (all zeroes for my runs).
 *  And we can't just plug the exception dispatcher into an Hwi, since it
 *  looks for an actual exception status and returns immediately (through
 *  NRP, which wasn't set for an Hwi) when no real exception is seen.
 */
Int Deh_Module_startup(Int phase)
{
#if defined(HAS_AMMU)
    if (AMMU_Module_startupDone() == TRUE) {
        Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler);
        return Startup_DONE;
    }

    return Startup_NOTDONE;
#else
    Watchdog_init((Void (*)(Void))ti_sysbios_family_c64p_Exception_handler);

    return Startup_DONE;
#endif
}