2022-02-03 11:41:42 -05:00
|
|
|
/*
|
|
|
|
* SPDX-FileCopyrightText: 2015-2017 SEGGER Microcontroller GmbH & Co. KG
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
*/
|
2018-07-04 19:01:03 -04:00
|
|
|
/*********************************************************************
|
|
|
|
* SEGGER Microcontroller GmbH & Co. KG *
|
|
|
|
* The Embedded Experts *
|
|
|
|
**********************************************************************
|
|
|
|
* *
|
|
|
|
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
|
|
|
|
* *
|
|
|
|
* www.segger.com Support: support@segger.com *
|
|
|
|
* *
|
|
|
|
**********************************************************************
|
|
|
|
* *
|
|
|
|
* SEGGER SystemView * Real-time application analysis *
|
|
|
|
* *
|
|
|
|
**********************************************************************
|
|
|
|
* *
|
|
|
|
* All rights reserved. *
|
|
|
|
* *
|
|
|
|
* SEGGER strongly recommends to not make any changes *
|
|
|
|
* to or modify the source code of this software in order to stay *
|
|
|
|
* compatible with the RTT protocol and J-Link. *
|
|
|
|
* *
|
|
|
|
* Redistribution and use in source and binary forms, with or *
|
|
|
|
* without modification, are permitted provided that the following *
|
|
|
|
* conditions are met: *
|
|
|
|
* *
|
|
|
|
* o Redistributions of source code must retain the above copyright *
|
|
|
|
* notice, this list of conditions and the following disclaimer. *
|
|
|
|
* *
|
|
|
|
* o Redistributions in binary form must reproduce the above *
|
|
|
|
* copyright notice, this list of conditions and the following *
|
|
|
|
* disclaimer in the documentation and/or other materials provided *
|
|
|
|
* with the distribution. *
|
|
|
|
* *
|
|
|
|
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
|
|
|
|
* nor the names of its contributors may be used to endorse or *
|
|
|
|
* promote products derived from this software without specific *
|
|
|
|
* prior written permission. *
|
|
|
|
* *
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
|
|
|
|
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
|
|
|
|
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
|
|
|
|
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
|
|
|
|
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
|
|
|
|
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
|
|
|
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
|
|
|
|
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
|
|
|
|
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
|
|
|
|
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
|
|
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
|
|
|
|
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
|
|
|
|
* DAMAGE. *
|
|
|
|
* *
|
|
|
|
**********************************************************************
|
|
|
|
* *
|
|
|
|
* SystemView version: V2.42 *
|
|
|
|
* *
|
|
|
|
**********************************************************************
|
|
|
|
-------------------------- END-OF-HEADER -----------------------------
|
|
|
|
File : SEGGER_SYSVIEW_ConfDefaults.h
|
|
|
|
Purpose : Defines defaults for configurable defines used in
|
|
|
|
SEGGER SystemView.
|
|
|
|
Revision: $Rev: 3734 $
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef SEGGER_SYSVIEW_CONFDEFAULTS_H
|
|
|
|
#define SEGGER_SYSVIEW_CONFDEFAULTS_H
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
*
|
|
|
|
* #include Section
|
|
|
|
*
|
|
|
|
**********************************************************************
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "SEGGER_SYSVIEW_Conf.h"
|
|
|
|
#include "SEGGER_RTT_Conf.h"
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/*********************************************************************
|
|
|
|
*
|
|
|
|
* Configuration defaults
|
|
|
|
*
|
|
|
|
**********************************************************************
|
|
|
|
*/
|
|
|
|
|
|
|
|
// Number of bytes that SystemView uses for a buffer.
|
|
|
|
#ifndef SEGGER_SYSVIEW_RTT_BUFFER_SIZE
|
|
|
|
#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// The RTT channel that SystemView will use.
|
|
|
|
#ifndef SEGGER_SYSVIEW_RTT_CHANNEL
|
|
|
|
#define SEGGER_SYSVIEW_RTT_CHANNEL 0
|
|
|
|
#endif
|
|
|
|
// Sanity check of RTT channel
|
|
|
|
#if (SEGGER_SYSVIEW_RTT_CHANNEL == 0) && (SEGGER_RTT_MAX_NUM_UP_BUFFERS < 2)
|
|
|
|
#error "SEGGER_RTT_MAX_NUM_UP_BUFFERS in SEGGER_RTT_Conf.h has to be > 1!"
|
|
|
|
#elif (SEGGER_SYSVIEW_RTT_CHANNEL >= SEGGER_RTT_MAX_NUM_UP_BUFFERS)
|
|
|
|
#error "SEGGER_RTT_MAX_NUM_UP_BUFFERS in SEGGER_RTT_Conf.h has to be > SEGGER_SYSVIEW_RTT_CHANNEL!"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Place the SystemView buffer into its own/the RTT section
|
|
|
|
#if !(defined SEGGER_SYSVIEW_BUFFER_SECTION) && (defined SEGGER_RTT_SECTION)
|
|
|
|
#define SEGGER_SYSVIEW_BUFFER_SECTION SEGGER_RTT_SECTION
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Retrieve a system timestamp. This gets the Cortex-M cycle counter.
|
|
|
|
#ifndef SEGGER_SYSVIEW_GET_TIMESTAMP
|
|
|
|
#error "SEGGER_SYSVIEW_GET_TIMESTAMP has to be defined in SEGGER_SYSVIEW_Conf.h!"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Define number of valid bits low-order delivered by clock source.
|
|
|
|
#ifndef SEGGER_SYSVIEW_TIMESTAMP_BITS
|
|
|
|
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Lowest Id reported by the Application.
|
2020-11-10 02:40:01 -05:00
|
|
|
#ifndef SEGGER_SYSVIEW_ID_BASE
|
2018-07-04 19:01:03 -04:00
|
|
|
#define SEGGER_SYSVIEW_ID_BASE 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Number of bits to shift Ids to save bandwidth
|
|
|
|
#ifndef SEGGER_SYSVIEW_ID_SHIFT
|
|
|
|
#define SEGGER_SYSVIEW_ID_SHIFT 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef SEGGER_SYSVIEW_GET_INTERRUPT_ID
|
|
|
|
#error "SEGGER_SYSVIEW_GET_INTERRUPT_ID has to be defined in SEGGER_SYSVIEW_Conf.h!"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef SEGGER_SYSVIEW_MAX_ARGUMENTS
|
|
|
|
#define SEGGER_SYSVIEW_MAX_ARGUMENTS 16
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef SEGGER_SYSVIEW_MAX_STRING_LEN
|
|
|
|
#define SEGGER_SYSVIEW_MAX_STRING_LEN 128
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Use a static buffer instead of a buffer on the stack for packets
|
|
|
|
#ifndef SEGGER_SYSVIEW_USE_STATIC_BUFFER
|
|
|
|
#define SEGGER_SYSVIEW_USE_STATIC_BUFFER 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Maximum packet size used by SystemView for the static buffer
|
|
|
|
#ifndef SEGGER_SYSVIEW_MAX_PACKET_SIZE
|
|
|
|
#define SEGGER_SYSVIEW_MAX_PACKET_SIZE SEGGER_SYSVIEW_INFO_SIZE + SEGGER_SYSVIEW_MAX_STRING_LEN + 2 * SEGGER_SYSVIEW_QUANTA_U32 + SEGGER_SYSVIEW_MAX_ARGUMENTS * SEGGER_SYSVIEW_QUANTA_U32
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Use post-mortem analysis instead of real-time analysis
|
|
|
|
#ifndef SEGGER_SYSVIEW_POST_MORTEM_MODE
|
|
|
|
#define SEGGER_SYSVIEW_POST_MORTEM_MODE 0
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Configure how frequently syncronization is sent
|
|
|
|
#ifndef SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT
|
|
|
|
#define SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT 8
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Lock SystemView (nestable)
|
|
|
|
#ifndef SEGGER_SYSVIEW_LOCK
|
|
|
|
#define SEGGER_SYSVIEW_LOCK() SEGGER_RTT_LOCK()
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// Unlock SystemView (nestable)
|
|
|
|
#ifndef SEGGER_SYSVIEW_UNLOCK
|
|
|
|
#define SEGGER_SYSVIEW_UNLOCK() SEGGER_RTT_UNLOCK()
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/*************************** End of file ****************************/
|