From cb5757e03204c11f425c20bb6766242618eb2b28 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sat, 6 Oct 2007 10:22:07 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@41 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- demos/AVR-AT90CANx-GCC/chcore.c | 15 +++++++++++++++ demos/AVR-AT90CANx-GCC/chcore2.S | 8 -------- 2 files changed, 15 insertions(+), 8 deletions(-) (limited to 'demos') diff --git a/demos/AVR-AT90CANx-GCC/chcore.c b/demos/AVR-AT90CANx-GCC/chcore.c index 2d0a2c0df..53fe296ac 100644 --- a/demos/AVR-AT90CANx-GCC/chcore.c +++ b/demos/AVR-AT90CANx-GCC/chcore.c @@ -19,8 +19,23 @@ #include +void chSysPause(void) { + + chThdSetPriority(IDLEPRIO); + + asm volatile ( + "ldi r18, 1 \n\t" // SE bit + "out 0x33, r18 \n" // SMCR + ); + while (TRUE) { + asm volatile ("sleep\n\t"); + } +} + void chSysHalt(void) { + chSysLock(); + while (TRUE) ; } diff --git a/demos/AVR-AT90CANx-GCC/chcore2.S b/demos/AVR-AT90CANx-GCC/chcore2.S index a9d39690a..d438ffb4f 100644 --- a/demos/AVR-AT90CANx-GCC/chcore2.S +++ b/demos/AVR-AT90CANx-GCC/chcore2.S @@ -19,14 +19,6 @@ #include -.global chSysPause -chSysPause: - ldi r18, (1 << SE) - out _SFR_IO_ADDR(SMCR), r18 -stay: - sleep - rjmp stay - .global chSysSwitchI chSysSwitchI: push r2 -- cgit v1.2.3