1 /********************************************************************* 2 * SEGGER Microcontroller GmbH * 3 * The Embedded Experts * 4 ********************************************************************** 5 * * 6 * (c) 1995 - 2024 SEGGER Microcontroller GmbH * 7 * * 8 * www.segger.com Support: support@segger.com * 9 * * 10 ********************************************************************** 11 * * 12 * SEGGER SystemView * Real-time application analysis * 13 * * 14 ********************************************************************** 15 * * 16 * All rights reserved. * 17 * * 18 * SEGGER strongly recommends to not make any changes * 19 * to or modify the source code of this software in order to stay * 20 * compatible with the SystemView and RTT protocol, and J-Link. * 21 * * 22 * Redistribution and use in source and binary forms, with or * 23 * without modification, are permitted provided that the following * 24 * condition is met: * 25 * * 26 * o Redistributions of source code must retain the above copyright * 27 * notice, this condition and the following disclaimer. * 28 * * 29 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * 30 * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * 31 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * 32 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * 33 * DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR * 34 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * 35 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT * 36 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * 37 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * 38 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * 39 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * 40 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * 41 * DAMAGE. * 42 * * 43 ********************************************************************** 44 * * 45 * SystemView version: 3.58 * 46 * * 47 ********************************************************************** 48 -------------------------- END-OF-HEADER ----------------------------- 49 50 File : SEGGER_SYSVIEW_Conf.h 51 Purpose : SEGGER SystemView configuration file. 52 Set defines which deviate from the defaults (see SEGGER_SYSVIEW_ConfDefaults.h) here. 53 Revision: $Rev: 21292 $ 54 55 Additional information: 56 Required defines which must be set are: 57 SEGGER_SYSVIEW_GET_TIMESTAMP 58 SEGGER_SYSVIEW_GET_INTERRUPT_ID 59 For known compilers and cores, these might be set to good defaults 60 in SEGGER_SYSVIEW_ConfDefaults.h. 61 62 SystemView needs a (nestable) locking mechanism. 63 If not defined, the RTT locking mechanism is used, 64 which then needs to be properly configured. 65 */ 66 67 #ifndef SEGGER_SYSVIEW_CONF_H 68 #define SEGGER_SYSVIEW_CONF_H 69 70 /********************************************************************* 71 * 72 * Defines, configurable 73 * 74 ********************************************************************** 75 */ 76 77 #include <stdint.h> 78 79 #define SEGGER_SYSVIEW_GET_TIMESTAMP sysview_get_timestamp 80 #define SEGGER_SYSVIEW_GET_INTERRUPT_ID sysview_get_interrupt 81 82 uint32_t sysview_get_timestamp(void); 83 uint32_t sysview_get_interrupt(void); 84 85 #define SEGGER_SYSVIEW_RTT_BUFFER_SIZE CONFIG_SEGGER_SYSVIEW_RTT_BUFFER_SIZE 86 #define SEGGER_SYSVIEW_POST_MORTEM_MODE CONFIG_SEGGER_SYSVIEW_POST_MORTEM_MODE 87 #define SEGGER_SYSVIEW_RTT_CHANNEL CONFIG_SEGGER_SYSVIEW_RTT_CHANNEL 88 89 #if defined(CONFIG_SEGGER_SYSVIEW_SECTION_DTCM) 90 #define SEGGER_SYSVIEW_SECTION ".dtcm_data" 91 #endif 92 93 extern unsigned int zephyr_rtt_irq_lock(void); 94 extern void zephyr_rtt_irq_unlock(unsigned int key); 95 96 /* Lock SystemView (nestable) */ 97 #define SEGGER_SYSVIEW_LOCK() \ 98 { \ 99 unsigned int __sysview_irq_key = zephyr_rtt_irq_lock() 100 101 /* Unlock SystemView (nestable) */ 102 #define SEGGER_SYSVIEW_UNLOCK() \ 103 zephyr_rtt_irq_unlock(__sysview_irq_key); \ 104 } 105 106 #endif // SEGGER_SYSVIEW_CONF_H 107 108 /*************************** End of file ****************************/ 109