美文网首页
FreeRTOS:Jlink RTT移植

FreeRTOS:Jlink RTT移植

作者: xEndLess | 来源:发表于2023-05-08 22:13 被阅读0次

    1. 源码

    在Jlink的安装目录C:\Program Files (x86)\SEGGER\JLink\Samples\RTT下找到压缩包SEGGER_RTT_V770,解压。

      * `RTT/`
        * `SEGGER_RTT.c`               - Main module for RTT.
        * `SEGGER_RTT.h`               - Main header for RTT.
        * `SEGGER_RTT_ASM_ARMv7M.S`    - Assembly-optimized implementation of RTT functions for ARMv7M processors.
        * `SEGGER_RTT_Printf.c`        - Simple implementation of printf (`SEGGER_RTT_Printf()`) to write formatted strings via RTT.
      * `Syscalls/`
        * `SEGGER_RTT_Syscalls_*.c`    - Low-level syscalls to retarget `printf()` to RTT with different toolchains.
      * `Config/`
        * `SEGGER_RTT_Conf.h`          - RTT configuration file.
      * `Examples/`
        * `Main_RTT_InputEchoApp.c`    - Example application which echoes input on Channel 0.
        * `Main_RTT_MenuApp.c`         - Example application to demonstrate RTT bi-directional functionality.
        * `Main_RTT_PrintfTest.c`      - Example application to test RTT's simple printf implementation.
        * `Main_RTT_SpeedTestApp.c`    - Example application to measure RTT performance. (Requires embOS)
    

    2.源码放入工程

    将整个源码包复制到工程目录下Middlewares下。

    3. 加入makefile

    C_SOURCES =  \
    ...
    Middlewares/SEGGER_RTT_V770/RTT/SEGGER_RTT.c \
    Middlewares/SEGGER_RTT_V770/RTT/SEGGER_RTT_printf.c \
    Middlewares/SEGGER_RTT_V770/Syscalls/SEGGER_RTT_Syscalls_GCC.c \
    
    C_INCLUDES =  \
    ...
    -IMiddlewares/SEGGER_RTT_V770/RTT \
    -IMiddlewares/SEGGER_RTT_V770/Config
    

    4. 初始化

    main.h中调用

    int main(void)
    {
        ...
        SEGGER_RTT_Init();
        ...
    }
    

    5. 实战

    文件Middlewares\SEGGER_RTT_V770\Syscalls\SEGGER_RTT_Syscalls_GCC.c中有对printf重定向。实际项目中调用printf即可打印信息。但是测试中发现printf打印完3条输出信息后,就不在输出了。在_write_r中断点也不能进入。很是奇怪。问题先记录,以后再解决。
    调用如下函数没有出现上述问题。

    int SEGGER_RTT_printf(unsigned BufferIndex, const char *sFormat, ...)
    

    相关文章

      网友评论

          本文标题:FreeRTOS:Jlink RTT移植

          本文链接:https://www.haomeiwen.com/subject/deslsdtx.html