硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1755|回复: 1
收起左侧

[玩转DAPLINK] 最新的SEGGER RTT代码V6.88c(2020-12-12)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106963
QQ
发表于 2020-12-12 09:21:55 | 显示全部楼层 |阅读模式
SEGGER_RTT_V688c.zip (42.5 KB, 下载次数: 79)

  1. Included files:
  2. ===============
  3. Root Directory
  4.   - Examples
  5.     - Main_RTT_InputEchoApp.c    - Sample application which echoes input on Channel 0.
  6.     - Main_RTT_MenuApp.c         - Sample application to demonstrate RTT bi-directional functionality.
  7.     - Main_RTT_PrintfTest.c      - Sample application to test RTT small printf implementation.
  8.     - Main_RTT_SpeedTestApp.c    - Sample application for measuring RTT performance. embOS needed.
  9.   - RTT
  10.     - SEGGER_RTT.c                - The RTT implementation.
  11.     - SEGGER_RTT.h                - Header for RTT implementation.
  12.     - SEGGER_RTT_Conf.h           - Pre-processor configuration for the RTT implementation.
  13.     - SEGGER_RTT_Printf.c         - Simple implementation of printf to write formatted strings via RTT.
  14.   - Syscalls
  15.     - RTT_Syscalls_GCC.c          - Low-level syscalls to retarget printf() to RTT with GCC / Newlib.
  16.     - RTT_Syscalls_IAR.c          - Low-level syscalls to retarget printf() to RTT with IAR compiler.
  17.     - RTT_Syscalls_KEIL.c         - Low-level syscalls to retarget printf() to RTT with KEIL/uVision compiler.
  18.     - RTT_Syscalls_SES.c          - Low-level syscalls to retarget printf() to RTT with SEGGER Embedded Studio.
复制代码

  1. /*********************************************************************
  2. *                    SEGGER Microcontroller GmbH                     *
  3. *                        The Embedded Experts                        *
  4. **********************************************************************
  5. *                                                                    *
  6. *            (c) 1995 - 2019 SEGGER Microcontroller GmbH             *
  7. *                                                                    *
  8. *       www.segger.com     Support: support@segger.com               *
  9. *                                                                    *
  10. **********************************************************************
  11. *                                                                    *
  12. *       SEGGER RTT * Real Time Transfer for embedded targets         *
  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 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. *       RTT version: 6.88c                                           *
  46. *                                                                    *
  47. **********************************************************************

  48. --------- END-OF-HEADER --------------------------------------------
  49. File    : Main_RTT_MenuApp.c
  50. Purpose : Sample application to demonstrate RTT bi-directional functionality
  51. */

  52. #define MAIN_C

  53. #include <stdio.h>

  54. #include "SEGGER_RTT.h"

  55. volatile int _Cnt;

  56. /*********************************************************************
  57. *
  58. *       main
  59. */
  60. void main(void) {

  61.   SEGGER_RTT_ConfigUpBuffer(0, NULL, NULL, 0, SEGGER_RTT_MODE_BLOCK_IF_FIFO_FULL);

  62.   SEGGER_RTT_WriteString(0, "SEGGER Real-Time-Terminal Sample\r\n\r\n");
  63.   SEGGER_RTT_WriteString(0, "###### Testing SEGGER_printf() ######\r\n");

  64.   SEGGER_RTT_printf(0, "printf Test: %%c,         'S' : %c.\r\n", 'S');
  65.   SEGGER_RTT_printf(0, "printf Test: %%5c,        'E' : %5c.\r\n", 'E');
  66.   SEGGER_RTT_printf(0, "printf Test: %%-5c,       'G' : %-5c.\r\n", 'G');
  67.   SEGGER_RTT_printf(0, "printf Test: %%5.3c,      'G' : %-5c.\r\n", 'G');
  68.   SEGGER_RTT_printf(0, "printf Test: %%.3c,       'E' : %-5c.\r\n", 'E');
  69.   SEGGER_RTT_printf(0, "printf Test: %%c,         'R' : %c.\r\n", 'R');

  70.   SEGGER_RTT_printf(0, "printf Test: %%s,      "RTT" : %s.\r\n", "RTT");
  71.   SEGGER_RTT_printf(0, "printf Test: %%s, "RTT\\r\\nRocks." : %s.\r\n", "RTT\r\nRocks.");

  72.   SEGGER_RTT_printf(0, "printf Test: %%u,       12345 : %u.\r\n", 12345);
  73.   SEGGER_RTT_printf(0, "printf Test: %%+u,      12345 : %+u.\r\n", 12345);
  74.   SEGGER_RTT_printf(0, "printf Test: %%.3u,     12345 : %.3u.\r\n", 12345);
  75.   SEGGER_RTT_printf(0, "printf Test: %%.6u,     12345 : %.6u.\r\n", 12345);
  76.   SEGGER_RTT_printf(0, "printf Test: %%6.3u,    12345 : %6.3u.\r\n", 12345);
  77.   SEGGER_RTT_printf(0, "printf Test: %%8.6u,    12345 : %8.6u.\r\n", 12345);
  78.   SEGGER_RTT_printf(0, "printf Test: %%08u,     12345 : %08u.\r\n", 12345);
  79.   SEGGER_RTT_printf(0, "printf Test: %%08.6u,   12345 : %08.6u.\r\n", 12345);
  80.   SEGGER_RTT_printf(0, "printf Test: %%0u,      12345 : %0u.\r\n", 12345);
  81.   SEGGER_RTT_printf(0, "printf Test: %%-.6u,    12345 : %-.6u.\r\n", 12345);
  82.   SEGGER_RTT_printf(0, "printf Test: %%-6.3u,   12345 : %-6.3u.\r\n", 12345);
  83.   SEGGER_RTT_printf(0, "printf Test: %%-8.6u,   12345 : %-8.6u.\r\n", 12345);
  84.   SEGGER_RTT_printf(0, "printf Test: %%-08u,    12345 : %-08u.\r\n", 12345);
  85.   SEGGER_RTT_printf(0, "printf Test: %%-08.6u,  12345 : %-08.6u.\r\n", 12345);
  86.   SEGGER_RTT_printf(0, "printf Test: %%-0u,     12345 : %-0u.\r\n", 12345);

  87.   SEGGER_RTT_printf(0, "printf Test: %%u,      -12345 : %u.\r\n", -12345);
  88.   SEGGER_RTT_printf(0, "printf Test: %%+u,     -12345 : %+u.\r\n", -12345);
  89.   SEGGER_RTT_printf(0, "printf Test: %%.3u,    -12345 : %.3u.\r\n", -12345);
  90.   SEGGER_RTT_printf(0, "printf Test: %%.6u,    -12345 : %.6u.\r\n", -12345);
  91.   SEGGER_RTT_printf(0, "printf Test: %%6.3u,   -12345 : %6.3u.\r\n", -12345);
  92.   SEGGER_RTT_printf(0, "printf Test: %%8.6u,   -12345 : %8.6u.\r\n", -12345);
  93.   SEGGER_RTT_printf(0, "printf Test: %%08u,    -12345 : %08u.\r\n", -12345);
  94.   SEGGER_RTT_printf(0, "printf Test: %%08.6u,  -12345 : %08.6u.\r\n", -12345);
  95.   SEGGER_RTT_printf(0, "printf Test: %%0u,     -12345 : %0u.\r\n", -12345);
  96.   SEGGER_RTT_printf(0, "printf Test: %%-.6u,   -12345 : %-.6u.\r\n", -12345);
  97.   SEGGER_RTT_printf(0, "printf Test: %%-6.3u,  -12345 : %-6.3u.\r\n", -12345);
  98.   SEGGER_RTT_printf(0, "printf Test: %%-8.6u,  -12345 : %-8.6u.\r\n", -12345);
  99.   SEGGER_RTT_printf(0, "printf Test: %%-08u,   -12345 : %-08u.\r\n", -12345);
  100.   SEGGER_RTT_printf(0, "printf Test: %%-08.6u, -12345 : %-08.6u.\r\n", -12345);
  101.   SEGGER_RTT_printf(0, "printf Test: %%-0u,    -12345 : %-0u.\r\n", -12345);

  102.   SEGGER_RTT_printf(0, "printf Test: %%d,      -12345 : %d.\r\n", -12345);
  103.   SEGGER_RTT_printf(0, "printf Test: %%+d,     -12345 : %+d.\r\n", -12345);
  104.   SEGGER_RTT_printf(0, "printf Test: %%.3d,    -12345 : %.3d.\r\n", -12345);
  105.   SEGGER_RTT_printf(0, "printf Test: %%.6d,    -12345 : %.6d.\r\n", -12345);
  106.   SEGGER_RTT_printf(0, "printf Test: %%6.3d,   -12345 : %6.3d.\r\n", -12345);
  107.   SEGGER_RTT_printf(0, "printf Test: %%8.6d,   -12345 : %8.6d.\r\n", -12345);
  108.   SEGGER_RTT_printf(0, "printf Test: %%08d,    -12345 : %08d.\r\n", -12345);
  109.   SEGGER_RTT_printf(0, "printf Test: %%08.6d,  -12345 : %08.6d.\r\n", -12345);
  110.   SEGGER_RTT_printf(0, "printf Test: %%0d,     -12345 : %0d.\r\n", -12345);
  111.   SEGGER_RTT_printf(0, "printf Test: %%-.6d,   -12345 : %-.6d.\r\n", -12345);
  112.   SEGGER_RTT_printf(0, "printf Test: %%-6.3d,  -12345 : %-6.3d.\r\n", -12345);
  113.   SEGGER_RTT_printf(0, "printf Test: %%-8.6d,  -12345 : %-8.6d.\r\n", -12345);
  114.   SEGGER_RTT_printf(0, "printf Test: %%-08d,   -12345 : %-08d.\r\n", -12345);
  115.   SEGGER_RTT_printf(0, "printf Test: %%-08.6d, -12345 : %-08.6d.\r\n", -12345);
  116.   SEGGER_RTT_printf(0, "printf Test: %%-0d,    -12345 : %-0d.\r\n", -12345);

  117.   SEGGER_RTT_printf(0, "printf Test: %%x,      0x1234ABC : %x.\r\n", 0x1234ABC);
  118.   SEGGER_RTT_printf(0, "printf Test: %%+x,     0x1234ABC : %+x.\r\n", 0x1234ABC);
  119.   SEGGER_RTT_printf(0, "printf Test: %%.3x,    0x1234ABC : %.3x.\r\n", 0x1234ABC);
  120.   SEGGER_RTT_printf(0, "printf Test: %%.6x,    0x1234ABC : %.6x.\r\n", 0x1234ABC);
  121.   SEGGER_RTT_printf(0, "printf Test: %%6.3x,   0x1234ABC : %6.3x.\r\n", 0x1234ABC);
  122.   SEGGER_RTT_printf(0, "printf Test: %%8.6x,   0x1234ABC : %8.6x.\r\n", 0x1234ABC);
  123.   SEGGER_RTT_printf(0, "printf Test: %%08x,    0x1234ABC : %08x.\r\n", 0x1234ABC);
  124.   SEGGER_RTT_printf(0, "printf Test: %%08.6x,  0x1234ABC : %08.6x.\r\n", 0x1234ABC);
  125.   SEGGER_RTT_printf(0, "printf Test: %%0x,     0x1234ABC : %0x.\r\n", 0x1234ABC);
  126.   SEGGER_RTT_printf(0, "printf Test: %%-.6x,   0x1234ABC : %-.6x.\r\n", 0x1234ABC);
  127.   SEGGER_RTT_printf(0, "printf Test: %%-6.3x,  0x1234ABC : %-6.3x.\r\n", 0x1234ABC);
  128.   SEGGER_RTT_printf(0, "printf Test: %%-8.6x,  0x1234ABC : %-8.6x.\r\n", 0x1234ABC);
  129.   SEGGER_RTT_printf(0, "printf Test: %%-08x,   0x1234ABC : %-08x.\r\n", 0x1234ABC);
  130.   SEGGER_RTT_printf(0, "printf Test: %%-08.6x, 0x1234ABC : %-08.6x.\r\n", 0x1234ABC);
  131.   SEGGER_RTT_printf(0, "printf Test: %%-0x,    0x1234ABC : %-0x.\r\n", 0x1234ABC);

  132.   SEGGER_RTT_printf(0, "printf Test: %%p,      &_Cnt      : %p.\r\n", &_Cnt);

  133.   SEGGER_RTT_WriteString(0, "###### SEGGER_printf() Tests done. ######\r\n");
  134.   do {
  135.     _Cnt++;
  136.   } while (1);
  137. }

  138. /*************************** End of file ****************************/
复制代码


回复

使用道具 举报

1

主题

369

回帖

372

积分

高级会员

积分
372
发表于 2020-12-12 10:33:06 | 显示全部楼层
烫手
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 08:37 , Processed in 0.152772 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表