X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fregression%2Fconfigword.c;h=fb4728a8676ccc493cb553a8e6b96223ca807a4a;hb=ca331520b55080689fa20138bd549207cdd34442;hp=9710851e8a9f474c5d9661f020a5c920eb51fa55;hpb=3933e81dce0294a133bee29f0d1d329dbd1365e1;p=fw%2Fsdcc diff --git a/src/regression/configword.c b/src/regression/configword.c index 9710851e..fb4728a8 100644 --- a/src/regression/configword.c +++ b/src/regression/configword.c @@ -1,55 +1,33 @@ -#define __16F873 -#include "p16f873.h" +#include "gpsim_assert.h" +#include "picregs.h" + /* configword.c - illustrates how the configuration word can * be assigned */ -unsigned char success=0; unsigned char failures=0; -unsigned char dummy=0; - -/* copied from 16f877.inc file supplied with gpasm */ - -#define _CP_ALL 0x0FCF -#define _CP_HALF 0x1FDF -#define _CP_UPPER_256 0x2FEF -#define _CP_OFF 0x3FFF -#define _DEBUG_ON 0x37FF -#define _DEBUG_OFF 0x3FFF -#define _WRT_ENABLE_ON 0x3FFF -#define _WRT_ENABLE_OFF 0x3DFF -#define _CPD_ON 0x3EFF -#define _CPD_OFF 0x3FFF -#define _LVP_ON 0x3FFF -#define _LVP_OFF 0x3F7F -#define _BODEN_ON 0x3FFF -#define _BODEN_OFF 0x3FBF -#define _PWRTE_OFF 0x3FFF -#define _PWRTE_ON 0x3FF7 -#define _WDT_ON 0x3FFF -#define _WDT_OFF 0x3FFB -#define _LP_OSC 0x3FFC -#define _XT_OSC 0x3FFD -#define _HS_OSC 0x3FFE -#define _RC_OSC 0x3FFF +unsigned char dummy; +#ifdef __pic14 typedef unsigned int word; +static word __at(0x2007) _config = _WDT_OFF & _PWRTE_ON; +#else /* !__pic14 */ +static __code char __at(__CONFIG2L) _conf2l = _PUT_ON_2L; +static __code char __at(__CONFIG2H) _conf2h = _WDT_OFF_2H; +#endif /* !__pic14 */ -word at 0x2007 CONFIG = _WDT_OFF & _PWRTE_ON; - - -/* to do -- write a test that puts the PIC to sleep, +/* TODO -- write a test that puts the PIC to sleep, * and verify that the WDT wakes it up */ -void done() +void +done() { - - dummy++; - + ASSERT(MANGLE(failures) == 0); + PASSED(); } + void main(void) { dummy = 0; - success = failures; done(); }