Ejemplo n.º 1
0
/*
 *  target dependent exit processing
 */
void
target_exit(void)
{
	extern void    software_term_hook(void);
	void (*volatile fp)(void) = software_term_hook;

	/*
	 *  use volatile to omit optimization.
	 */
	if (fp != 0) {
		(*fp)();
	}

	/*
	 *  mask out all interrupts
	 */


	/*
	 *  core dependent termination processing
	 */
	core_terminate();

	/*
	 *  tool chain dependent termination processing
	 */
	while (1);
}
Ejemplo n.º 2
0
/*
 *  ターゲット依存の終了処理
 */
void
target_exit(void)
{
    extern void    software_term_hook(void);
    void (*volatile fp)(void) = software_term_hook;

   /*
     *  software_term_hookへのポインタを,一旦volatile指定のあるfpに代
     *  入してから使うのは,0との比較が最適化で削除されないようにするた
     *  めである.
     */
    if (fp != 0) {
        (*fp)();
    }

    /*
     *  ARM依存の終了処理
     */
    core_terminate();

    /*
     *  すべての割込みをマスクする.
     */
    at91sam7s_disable_int(~0U);

    /*
     *  開発環境依存の終了処理
     */
    at91sam7s_exit();

    while(1);
}
Ejemplo n.º 3
0
/*
 * ターゲット依存部 終了処理
 */
void
target_exit(void)
{
	/* チップ依存部の終了処理 */
	core_terminate();
	while(1);
}
/*
 *  チップ依存の終了処理
 */
void
chip_exit(void)
{
	/*
	 * プロセッサ依存部の終了処理
	 */
	core_terminate();
}