精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

RT-Thread v4.1.0版本正式發布

科技綠洲 ? 來源:RTThread物聯網操作系統 ? 作者:RTThread物聯網操作 ? 2022-04-15 16:23 ? 次閱讀

自發布v4.1.0 beta版本以來,我們一直積極收集大家的反饋與問題報告,經過我們和社區小伙伴們的共同努力,一起修復了一些問題,完善了新增的特性,現在RT-Thread v4.1.0 版本正式發布了。

這篇文章是專門介紹內核部分更新的內容的。

內核部分更新

新增特性

【hook】增加靜態宏方式的HOOK機制【tick】為rt_tick_increase增加HOOK機制【kservice】增加RT_KSERVICE_USING_STDLIB、增加rt_strcpy

修復的問題

修復了一個特定場景下會引起軟件定時器停止工作的BUG

其他優化

完善了內核的調試日志

特性解析

1. 新增了靜態宏方式的HOOK機制

從4.1.0版本開始,RT-Thread在保證向前兼容的基礎上對原有的HOOK方式進行了改進,實現了如下的效果:

與原有使用函數指針進行“運行時刻”HOOK的方式兼容,依賴原有方式進行代碼插入或HOOK的模塊無需修改;

使用RT_USING_HOOK作為總開關

- 當未定義該宏時,將關閉所有HOOK功能,也不再生成任何相關代碼

- 當定義該宏時,在未開啟傳統“函數指針HOOK”時,默認情況下也不再生成額外代碼

允許用戶通過“插入宏的方式”在編譯時刻精細控制具體HOOK哪個位置

- 可以插入任意代碼塊——其中就包括函數指針、對普通函數的調用等等

具體使用方式可以參考共享者小伙伴的這篇文章:

RT-Thread新版本中HOOK的使用方法(請復制以下鏈接至瀏覽器打開:https://club.rt-thread.org/ask/article/3669.html)

注意:非rtos資深用戶,請謹慎使用HOOK機制

2. 為rt_tick_increase增加HOOK機制

我們為 rt_tick_increase 增加了 HOOK 機制。這樣在某些場景下,比如:當用戶需要一個精度較高的時間基準,或者要做一些和系統心跳同頻的事情的時候,就可以借助這個機制。利用前一部分的靜態宏的方式或者使用API rt_tick_sethook設定hook函數的方式,在系統心跳的時候執行一些“非常簡短”的操作。

注意:由于rt_tick_increase的執行頻率較高,設定的HOOK函數一定不能執行復雜的操作,會增大系統負荷!

3. 增加RT_KSERVICE_USING_STDLIB

增加了一些針對 kservice.c 的配置宏,可以配置使用c庫里提供的內存函數替換 RT-Thread Kservice 實現。代碼效率更高,但是在地址非對齊的情況下,可能會出問題。

pYYBAGJZK1-APy8-AAEixPPfPHE008.png

問題修復

軟件定時器BUG修復

問題描述:

在特定場景下,軟件定時器處理線程會錯誤的掛起自身,導致如果之后沒有啟動軟件定時器的操作,來喚醒處理線程的話,所有的軟件定時器都會停止工作。

問題場景:

當一個定時器到達設定的超時時間,此時軟件定時器處理線程會嘗試獲取下一個定時器的超時時間,來決定何時喚醒自身執行超時操作。如果獲取不到下次超時時間的話,就會掛起自身,永久等待。這里獲取下一次超時時間的函數之前的版本有問題,如果下一次的超時時間恰好為 RT_TICK_MAX 的話,也會被認為是沒有獲取到,就會導致處理線程被異常掛起。

poYBAGJZK2yAbU_pAAEBMP0lRd4367.png

問題修復:

RT-Thread v4.1.0版本已經修復了這個問題:https://github.com/RT-Thread/rt-thread/pull/5637。推薦大家同步修改此補丁。

其他優化

完善了內核的調試日志,添加 RT_DEBUG_DEVICE 類型,統一使用 RT_DEBUG_LOG 宏管理內核的調試日志。

poYBAGJZK3aAae5XAAES18_0e14273.png

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

    關注

    69

    文章

    4799

    瀏覽量

    87180
  • 定時器
    +關注

    關注

    23

    文章

    3241

    瀏覽量

    114520
  • RT-Thread
    +關注

    關注

    31

    文章

    1274

    瀏覽量

    39944
收藏 人收藏

    評論

    相關推薦

    RT-Thread記錄(一、版本開發環境及配合CubeMX)

    RT-Thread 學習記錄的第一篇文章,RT-Thread記錄(一、RT-Thread 版本RT-Thread Studio開發環境 及
    的頭像 發表于 06-20 00:28 ?5159次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(一、<b class='flag-5'>版本</b>開發環境及配合CubeMX)

    RT-Thread 4.0版本

    (下拉至底部及可見RT-Thread4.0壓縮包)RT-Thread 4.0版本代碼Release啦!因為支持SMP(對稱多核處理器)的緣故,RT-Thread
    發表于 08-05 06:34

    RT-Thread v4.1.0 正式發布了!

    ,不會相互干擾完善了已有工具的支持,如:CMake、ArmClang、Keil、Eclipse的支持后面RT-Thread會繼續維護好已有特性、BSP的支持,并會在一些高性能芯片上發力,加強對64位以及多核的支持。目前,V4.1.0版本
    發表于 04-14 14:00

    RT-Thread v4.1.0版本內核更新解析

    發布v4.1.0 beta版本以來,我們一直積極收集大家的反饋與問題報告,經過我們和社區小伙伴們的共同努力,一起修復了一些問題,完善了新增的特性,現在RT-Thread
    發表于 06-10 14:49

    RT-Thread v4.1.0版本內核部分更新內容介紹

    _KSERVICE_USING_STDLIB、增加rt_strcpy修復的問題修復了一個特定場景下會引起軟件定時器停止工作的BUG其他優化完善了內核的調試日志特性解析新增了靜態宏方式的HOOK機制從4.1.0版本開始,
    發表于 11-22 16:17

    RT-Thread Studio生成的4.0.4版本為什么會有C-Style部分?

    ?具體過程如下:首先RT-Thread Studio新建基于開發板CH32V307V-R1工程RTT版本是4.0.4,FinSH組件目錄較4.1.0(CH32
    發表于 02-14 10:50

    支持RT-Thread V4.1.0的芯片BSP包,可以用V4.1.1版本嗎?

    我目前所用的 MCU 是 STM32F411CE,安裝的 STM3F4 芯片支持包,說明是支持 RT-Thread V4.1.0 版本。 但我看 V4.1.1
    發表于 05-17 10:43

    RT-Thread v4.1.0中FAL介紹

    V4.1.0 中,將 fal 軟件包重新定義為 RT-Thread 內部組件。
    的頭像 發表于 04-26 13:34 ?3782次閱讀

    RT-Thread V4.1.0新特性CMake介紹與構建CMake工程

    ? ? CMake 支持 在 RT-Thread 4.1.0 正式發布版中,添加了對 CMake 的支持。開發者可以使用 SCons 工具來生成 CMakeLists.txt 文件。 為何要支持
    的頭像 發表于 05-24 19:20 ?2954次閱讀

    RT-Thread 4.1.0的CMake構建教程

    CMake 支持 在 RT-Thread 4.1.0 正式發布版中,添加了對 CMake 的支持。開發者可以使用 SCons 工具來生成 CMakeLists.txt 文件。 為何要支持 CMake
    的頭像 發表于 05-25 11:06 ?3308次閱讀

    RT-Thread 4.1.0正式添加對Arm Compiler 6支持

    RT-Thread 4.1.0 正式發布版中,添加了對 Arm Compiler 6 的支持,用戶可以修改 rtconfig.py 指定生成 mdk5 工程時使用的編譯器
    的頭像 發表于 06-01 15:20 ?1991次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>4.1.0</b>正式添加對Arm Compiler 6支持

    RT-Thread V4.1.0 版本部分更新內容

    RT-Thread V4.1.0 版本已經發布四月有余了,在這四個月中,RT-Thread的主倉庫中收到了包含了內核到BSP的方方面面的 P
    的頭像 發表于 08-30 09:48 ?2434次閱讀

    聊聊新版RT-Thread內核中的鉤子

    4.1.0版本開始,RT-Thread在保證向前兼容的基礎上對原有的HOOK方式進行了改進,實現了如下的效果:
    的頭像 發表于 10-25 09:32 ?1194次閱讀

    RT-Thread文檔_UART 設備 v2版本

    RT-Thread文檔_UART 設備 v2 版本
    發表于 02-22 18:32 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_UART 設備 <b class='flag-5'>v</b>2<b class='flag-5'>版本</b>

    RT-Thread v5.0.2 發布

    ://github.com/RT-Thread/rt-thread/releases/tag/v5.0.2 RT-Thread 迎來了全新的版本
    的頭像 發表于 10-10 18:45 ?1409次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>v</b>5.0.2 <b class='flag-5'>發布</b>