rt-thread階段性總結


2020.5.14

經過一個項目基於rt-thread的深入熟悉,對rt-thread的印象總結如下。

不足:

1、千萬裝機量應該是對最小內核說的,這部分確實還沒有發現很嚴重的問題,但也有些接口異常處理不足。
2、component里面的組建穩定性是不足的,特別是pthread的資源回收,dfs的非常用接口也遇到過好些問題,對posix的支持完善度要求高的話要慎重考慮。

3、ramfs功能不全,不支持目錄。

4、自帶的jffs2和Linux內核中的有很大的差別,主要是提供給上層調用的封裝接口完全不一樣,同時對底層的調用接口也不一樣,協議層的結構基本一致,和pthread一樣,封裝層有較大的問題。

5、C++支持不完善,明確不支持多態,具體見相應的readme。

6、動態加載性能、功能偏弱。

7、最小內核在異常處理上也存在不足,到過一個問題,應用設計:子線程主動退出,在父任務中del銷毀資源。

     問題原因是idle線程會對僵屍線程(主動退出,而自身調用銷毀函數)進行資源回收,但是thread_del接口的異常處理不足,當子線程主動退出,在執行父任務執行del之前,先執行了idle,

     idle里先釋放了線程資源,父線程在del時,內部沒有判斷導致內存訪問異常,系統崩潰。

8、minilib對posix支撐不夠,使用newlib,因為沖突太多,選用的是裸機配置,對posix接口也存在些不足,選用OS版本會和rtt自身定義的結構體沖突較多,需要對libc進行改造。

 

優點:
1、生態做的不錯,開放的心態,有向linux看齊的的感覺,開發過程中需要支持lua腳本,需要支持ini等通過軟件包很方便的實現。

2、通用驅動最好對接component中的drivers中的抽象設備層,方便使用生態中的軟件包。例如mavell-8801開發包

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM