色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RA2L1移植SEGGER RTT日志打印功能

冬至子 ? 來源:dreamcmi ? 作者:dreamcmi ? 2023-10-12 11:30 ? 次閱讀

0.前言

因為RA2L1開發板板載了JLINK-OB,那么我們完全可以通過SWD調試口去打印日志,從而不去用物理串口,這樣不僅省了硬件串口資源占用,而且可以很快速的打印log,對系統整體運行效率也得到了一定程度的提高。接下來就來移植一下SEGGER的RTT日志打印功能。

1.準備

一個由RTT Studio新建好的BSP工程

SEGGER RTT源碼(在jlink上位機按照目錄里,例如C:Program FilesSEGGERJLinkSamplesRTT)

2.移植

首先把四個基礎文件加到工程目錄(推薦單獨建一個文件夾放源碼實現模塊化,這里僅做演示沒有新建)

SEGGER_RTT.c SEGGER_RTT.h SEGGER_RTT_printf.c SEGGER_RTT_Conf.h

然后新建一個注冊文件,這里命名為segger_rtt_register.c

刷新ide,正常來說應該和下圖文件一樣

1.jpg

接下來修改文件

segger_rtt_register.c加入以下代碼

/*

  • Copyright (c) 2006-2021, RT-Thread Development Team
  • SPDX-License-Identifier: Apache-2.0
  • Change Logs:
  • Date Author Notes
  • 2023-02-24 dreamcmi the first version
    */
    #include "SEGGER_RTT.h"
    #include "rtthread.h"
    void rt_hw_console_output(const char *str)
    {
    SEGGER_RTT_Write(0, str, rt_strlen(str));
    }
    SEGGER_RTT.h

將開頭的include改為#include "SEGGER_RTT_Conf.h"

SEGGER_RTT_Conf.h

(此文件可以暫時不修改)

主要看以下兩個地方

#ifndef BUFFER_SIZE_UP
#define BUFFER_SIZE_UP (512) // Size of the buffer for terminal output of target, up to host (Default: 1k)
#endif
#ifndef BUFFER_SIZE_DOWN
#define BUFFER_SIZE_DOWN (16) // Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16)
#endif

這里的大小根據log頻率和長度進行修改,默認是1024和16

drv_common.c

這個文件開頭加入#include "SEGGER_RTT.h"

在最下面rt_hw_board_init函數增加rtt初始化函數,并注釋掉rt_hw_usart_init();(原因后面說)

RT_WEAK void rt_hw_board_init()
{
rt_hw_systick_init();
SEGGER_RTT_Init();
/* Heap initialization */
#if defined(RT_USING_HEAP)
rt_system_heap_init((void *)HEAP_BEGIN, (void )HEAP_END);
#endif
/
Pin driver initialization is open by default /
#ifdef RT_USING_PIN
rt_hw_pin_init();
#endif
/
USART driver initialization is open by default /
#ifdef RT_USING_SERIAL
// rt_hw_usart_init();
#endif
/
Set the shell console output device /
#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE)
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
#endif
/
Board underlying hardware initialization */
#ifdef RT_USING_COMPONENTS_INIT
rt_components_board_init();
#endif
}
rtconfig.h

這里面只需要改一個地方, 將原來的uart9改成空即可

#define RT_CONSOLE_DEVICE_NAME ""
hal_entry.c

這里只是編寫演示代碼!!

void hal_entry(void)
{
while (1)
{
rt_kprintf("hal_entry 1n");
rt_thread_mdelay(1000);
rt_kprintf("hal_entry 2n");
rt_thread_mdelay(1000);
}
}

修改完成后直接編譯下載,同時打開J-LINK RTT Viewer,通過下圖配置好直接點擊ok,軟件會自動連接。

1.jpg

正常來說會在黑框中打印LOG

1.jpg

3.答疑

上面的文件修改可能有一些人會問為什么不去注冊一個rt_device,因為那樣屬實麻煩了(其實是懶)。

我們在修改rtconfig.h里的RT_CONSOLE_DEVICE_NAME為空字符串時,已經把打印的函數對接到了void rt_hw_console_output(const char *str), 所以我們只需要對接這一個函數就可以完成printf重定向,至于為什么改一個空字串就可以不用device,看一下rt_kprintf的實現原理大概你就懂了,就是把_console_device的值識別成了NULL。

4.總結

使用segger rtt打印速度快還不占用io,快去試試吧。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • UART接口
    +關注

    關注

    0

    文章

    124

    瀏覽量

    15781
  • J-Link
    +關注

    關注

    0

    文章

    88

    瀏覽量

    22648
  • SEGGER
    +關注

    關注

    0

    文章

    51

    瀏覽量

    14429
  • RTThread
    +關注

    關注

    8

    文章

    132

    瀏覽量

    41609
  • swd接口
    +關注

    關注

    0

    文章

    11

    瀏覽量

    3036
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    RA-Eco-RA2E1-48PIN-V1.0開發板試用】使用Jlink RTT完成printf打印功能

    很榮幸收到瑞薩的RA2E1超低功耗開發板,現在開始寫第一篇相關的試用報告,看到別人已經用RA2E1的串口實現了printf打印功能,我就不重復了,下面我就使用Jlink自帶的
    發表于 10-31 21:00

    RA4L1-SENSOR】+ RA4L1-SENSOR開發版之使用Jlink的RTT打印功能代替串口

    上一篇帖子中我已經實現了板子上的串口USART9進行輸出打印,這篇帖子我采用另外一種串口打印來實現,這是瑞薩官網實現的最主要打印調試手段,那就是使用Jlink的RTT
    發表于 06-09 09:03

    移植一下SEGGERRTT日志打印功能

      0. 前言  因為RA2L1開發板板載了JLINK-OB,那么我們完全可以通過SWD調試口去打印日志,從而不去用物理串口,這樣不僅省了硬件串口資源占用,而且可以很快速的打印log,
    發表于 03-06 10:38

    RT-Thread與Renesas RA2L1實現1.8寸TFT屏幕顯示的步驟

    使用過,本次借著RTT和本次參與RT-Thread與Renesas RA2L1的學習大挑戰更深入的去學習RTT和Renesas。  計劃使用RA2L1實現
    發表于 04-03 16:45

    華大移植SEGGER_RTT 打印

    華大移植SEGGER_RTT 打印一、目的1.在單片機開發中,串口是我們最好的‘伙伴’,沒有什么BUG是串口打印無法解決的。如果有就debu
    發表于 11-23 18:07 ?14次下載
    華大<b class='flag-5'>移植</b><b class='flag-5'>SEGGER_RTT</b> <b class='flag-5'>打印</b>

    RA2L1硬件用戶手冊(中英)

    RA2L1硬件用戶手冊(中英)
    發表于 11-07 19:49 ?7次下載
    <b class='flag-5'>RA2L1</b>硬件用戶手冊(中英)

    RA2L1開發板資料

    RA2L1開發板資料
    發表于 11-07 19:50 ?19次下載
    <b class='flag-5'>RA2L1</b>開發板資料

    基于RA2L1的串口及J-Link的燒寫說明

    本節介紹使用串口工具對RA2L1進行程序的燒寫。采用CPK-RA2L1開發板,硬件如下圖所示。
    的頭像 發表于 11-25 13:55 ?2386次閱讀

    RA2L1 組用戶手冊:硬件

    RA2L1 組用戶手冊:硬件
    發表于 01-09 19:06 ?6次下載
    <b class='flag-5'>RA2L1</b> 組用戶手冊:硬件

    RA2L1 組數據表

    RA2L1 組數據表
    發表于 01-09 19:06 ?0次下載
    <b class='flag-5'>RA2L1</b> 組數據表

    RA2L1 組用戶手冊:硬件

    RA2L1 組用戶手冊:硬件
    發表于 06-30 18:50 ?1次下載
    <b class='flag-5'>RA2L1</b> 組用戶手冊:硬件

    RA2L1 組數據表

    RA2L1 組數據表
    發表于 06-30 18:50 ?2次下載
    <b class='flag-5'>RA2L1</b> 組數據表

    RA2L1上手優化BSP占用

    在上手RA2L1開發板的時候,使用RTT Studio給的BSP進行開發時發現默認占用太大了,所以今天就來說一下如何優化掉不是很必要的部分(當然芯片資源很大且不在乎的可以不做)。
    的頭像 發表于 10-12 11:18 ?900次閱讀
    <b class='flag-5'>RA2L1</b>上手優化BSP占用

    基于RA2L1實現串口DTC數據接收

    基于RA2L1實現串口DTC數據接收
    的頭像 發表于 10-10 09:34 ?1001次閱讀
    基于<b class='flag-5'>RA2L1</b>實現串口DTC數據接收

    瑞薩RA2L1系列CAN通信應用

    瑞薩RA2L1系列CAN通信應用
    的頭像 發表于 06-26 08:06 ?1105次閱讀
    瑞薩<b class='flag-5'>RA2L1</b>系列CAN通信應用
    主站蜘蛛池模板: 亚洲精品乱码久久久久久直播 | 少妇无码吹潮久久精品AV | 国产亚洲日韩另类在线播放 | 国内精品久久 | 国产精品嫩草99AV在线 | 高h乱一受多攻男男 | yellow在线观看免费高清的日本 | 日本吃孕妇奶水免费观看 | 成人五级毛片免费播放 | 国产99精品在线观看 | 禁漫H天堂免费A漫 | 日韩精品人成在线播放 | 欧美性动漫3d在线观看完整版 | 内射气质御姐视频在线播放 | 亚洲AV无码乱码国产麻豆穿越 | 国产精品自在自线亚洲 | 91九色porny蝌蚪 | 亚洲AV无码乱码国产麻豆穿越 | 国产精品一区二区三区四区五区 | 久久精品亚洲AV高清网站性色 | 国产精品人妻在线观看 | 国内精品久久久久影院男同志 | 石原莉奈rbd806中文字幕 | 老人FREE VIODES老少配 | 嗯啊插的好深啊使劲抽视频 | 男人被绑着强行摸j | 蜜桃TV成人网站免费打开 | 久久囯产精品777蜜桃传媒 | ppypp午夜限制不卡影院私人 | 玄幻全黄h全肉后宫 | 久久国产亚洲精品AV麻豆 | 久久这里只有精品2 | 国产成人ae在线观看网站站 | 吃寂寞寡妇的奶 | 里番acg纲手的熟蜜姬训练场 | 芭乐视频网页版在线观看 | 色综合久久综合网观看 | 日本一区不卡在线播放视频免费 | 午夜色网站 | 簧片在线免费观看 | 九九热精品视频在线观看 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品