#ifndef NMon_Cfg_h
#define NMon_Cfg_h
/*******************************************************************************
NMon Cfg - Nohau Monitor Configuration
 
DO MODIFY THIS FILE - BY COMMENTING OUT / REMOVING COMMENTED OUT DEFINES.
HOWEVER, PLEASE NOTE THAT OPTIONS MAY CHANGE IN UPCOMING RELEASES.

Creator: Sten Larsson
$Header: /NCARM_Misc/BSP_ARM/Boards/Atmel/EB40A/Apps/TargetConsole/Hello/NMon_Cfg.h 2     5/29/03 11:14a Stenl $
Copyright  ©  2002, Nohau Corporation. All Rights Reserved.
Copyright (c) 2002, Nohau Corporation. All Rights Reserved.
*******************************************************************************/
/*
Disable options by commenting out ENABLE flags, or remove comments to enable. 
The reason to disable functionality is to reduce memory used for the monitor.

Predefined buffer sizes can be overridden if desired.
*/

/*##############################################################################
## CONFIGURATION
##############################################################################*/

        /*----------------------------------------------------------------------
        ** Monitor services - general
        **---------------------------------------------------------------------*/
/* #define NMON_ALL_ENABLE */   /* Enable services - ie read/write data and  
                                ** other "advanced" features */
                              
#ifdef NMON_ALL_ENABLE
   /* #define NUSR_WRITE_ENABLE */   /* Enable target specific mem write - NUsr_Write() etc. */
   /* #define NUSR_READ_ENABLE  */   /* Enable target specific mem read  - NUsr_Read() etc. */
   
   #if defined(NUSR_WRITE_ENABLE) || defined(NUSR_READ_ENABLE)
      #define NMON_BUF_SIZE 200 /* Buffer for read/write to flash etc - used by NUsr. */
   #else
      #define NMON_BUF_SIZE 0
   #endif
#endif /* NMON_ALL_ENABLE */


        /*----------------------------------------------------------------------
        ** NGET - support for getc() and similar functionality
        **--------------------------------------------------------------------*/
        /* Note that NPUT_ENABLE is required for NGET. */
/* #define NGET_ENABLE            */ /* Enable the NGet functionality - getc() etc. */
/* #define NGET_STORAGE_SIZE  10  */ /* Override buffer size for storing 
                                     ** received characters. */


        /*----------------------------------------------------------------------
        ** NPUT - support for printf() and similar functionality
        **--------------------------------------------------------------------*/
#define NPUT_ENABLE             /* Enable NPut functionality - printf() etc. */
#ifdef  NPUT_ENABLE
   #define NPUT_ERROR_ENABLE    /* Enable NPut error reporting capabilty. */
   #define NPUT_POSITION_ENABLE /* Enable NPut positioning capabilty. */

   #define NPUT_STORAGE_SIZE 2000 /* Override buffer size for storing printf() 
                                ** etc output before sent to debugger. */

   #define NPUT_LIB_ENABLE      /* Enable connecting the std c library to Nmon */
                                /* (This basically mean that NLib_Init()
                                ** will be called from NMon_Init(). )*/
   #if !defined(NGET_ENABLE) && !defined(NMON_ALL_ENABLE)
      #define NPUT_NO_EXEC      /* Means that the NMon_Exec should not be */
                                /* called. This is only allowed in when the 
                                ** only enabled option is NMON_PUT_ENABLE */ 
   #endif
#endif /* NPUT_ENABLE */

/*##############################################################################
## CRITICAL SECTIONS
##############################################################################*/
/*
NMon is not thread safe - define N_ENTER_CRITICAL_SECTION and 
N_EXIT_CRITICAL_SECTION to make it thread safe. Should disable / enable 
interrupts or similar.
*/

#ifndef N_CRITICAL_DEFINED
#define N_ENTER_CRITICAL_SECTION() ((void)0)
#define N_EXIT_CRITICAL_SECTION()  ((void)0)
#endif

#endif /* NGet_h */
