一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個(gè)十余年歷史的國產(chǎn)RTOS,從RT-Thread中我們能學(xué)到什么?

電子工程師 ? 來源:未知 ? 作者:電子大兵 ? 2017-09-05 16:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

柴胡 · 所言

柴胡,目前在九安醫(yī)療從事物聯(lián)網(wǎng)智能設(shè)備的開發(fā)和單片機(jī)嵌入式驅(qū)動(dòng)的開發(fā)工作,是RT-Thread和嵌入式技術(shù)愛好者。

本文將為大家簡要介紹一下筆者使用和學(xué)習(xí)RT-Thread過程中的體會(huì)和感悟,希望能幫助初識RT-Thread的人建立一個(gè)初步的印象,避免產(chǎn)生入寶山而空回的遺憾。筆者水平有限,目前也正在學(xué)習(xí)和使用RT-Thread的過程中,希望本文的拙見能拋磚引玉,如有紕漏,還請不吝賜教。

現(xiàn)在是一個(gè)快節(jié)奏的時(shí)代,技術(shù)領(lǐng)域也是如此。近些年,IoT備受資本青睞,各種新技術(shù)新方案層出不窮,質(zhì)量也參差不齊,這邊唱罷那邊登臺,以至于有些技術(shù)還未被人熟知,就被淹沒在長河中了??陀^的說,RTOS領(lǐng)域玩家眾多,僅筆者短短的從業(yè)時(shí)間,國產(chǎn)RTOS就聽聞了五、六款之多。

RT-Thread作為一個(gè)有十余年歷史的國產(chǎn)RTOS,經(jīng)歷了長時(shí)間的考驗(yàn)和用戶的青睞,目前發(fā)展趨勢蒸蒸日上,也即將發(fā)布RT-Thread 3.0,其中必然有值得我們思考和學(xué)習(xí)的地方,我們也可以從中汲取到不少寶貴的經(jīng)驗(yàn)。

軟件工程管理

軟件工程管理對于軟件研發(fā)是十分重要的,甚至可以說是開發(fā)過程的基石。公司中有高水平的嵌入式軟件程序員,也有剛?cè)肼毜膶?shí)習(xí)生,水平難免參差不齊,當(dāng)共同協(xié)作開發(fā)一個(gè)項(xiàng)目時(shí),如何彼此協(xié)調(diào)也是一個(gè)難題。

時(shí)至今日,很多公司仍然在使用落后的代碼管理方式。有些甚至使用把代碼壓縮成一個(gè)個(gè)的壓縮包來做版本管理。同事之間的協(xié)作依靠互相發(fā)送文件,每次接收到同事的新文件首先要花半天時(shí)間解決編譯error,甚至還要在本地對同事的代碼進(jìn)行修改,這樣,軟件基本處在半失控的狀態(tài),某次改動(dòng)產(chǎn)生問題,就要從浩瀚的壓縮包海洋里挑選一個(gè),進(jìn)行版本回退。在開發(fā)一個(gè)大項(xiàng)目的時(shí)候,這種情況下甚至?xí)霈F(xiàn)人數(shù)越多,開發(fā)難度和周期越大的情況。

而RT-Thread,提供了一個(gè)教科書級的范例。RT-Thread由13000多個(gè)文件構(gòu)成,支持各類設(shè)備和芯片近70款,從代碼量和組織方式上來說,是一個(gè)相當(dāng)龐大的軟件工程。在近十年的時(shí)間里,至少有將近100個(gè)開發(fā)者參與到了RT-Thread的開發(fā)中,使得RT-Thread穩(wěn)步迭代,而這也是有一定的維護(hù)難度的。RT-Thread將代碼部署在Github上,并在此基礎(chǔ)上使用了Travis CI進(jìn)行自動(dòng)化編譯測試,使得開發(fā)者可以有條不紊的進(jìn)行迭代開發(fā),并將自己的成果提交至master分支,在提交代碼的第一時(shí)間通過Travis CI進(jìn)行自動(dòng)化編譯測試,使得一些無法編譯通過的問題,在第一時(shí)間就被發(fā)現(xiàn)。

RT-Thread使用scons自動(dòng)化代碼構(gòu)建工具。初識RT-Thread,很難想象RT-Thread通過一個(gè)代碼倉庫,對近70個(gè)芯片的IAR、MDK和GCC的工程和工具鏈提供支持。RT-Thread使用了scons,使得只要敲幾行指令,就可以生成所需環(huán)境和工具鏈的對應(yīng)的工程。也就是說,對于大多數(shù)芯片,所謂移植RT-Thread,只需要幾個(gè)scons指令進(jìn)行自動(dòng)化構(gòu)建。我相信對于大多數(shù)中小公司的軟件項(xiàng)目,無論從規(guī)模還是參與人數(shù)都沒有RT-Thread這么龐大,維護(hù)難度也遠(yuǎn)小于RT-Thread。但盡管如此,工程維護(hù)也是軟件工程管理的老大難問題,無疑,從RT-Thread中,我們可以借鑒不少經(jīng)驗(yàn)。

代碼風(fēng)格與技術(shù)

RT-Thread的代碼風(fēng)格是十分優(yōu)秀的。在工作中,很多時(shí)候嵌入式軟件工程師尤其是單片機(jī)軟件工程師使用的芯片資源相對比較匱乏,RAMROM也略顯局促,節(jié)省資源也成了優(yōu)先級比較高的事情,而這也成了許多工程師代碼不規(guī)范的借口。魯棒性、模塊化、可拓展、高內(nèi)聚、低耦合,這種高大上的名詞總是不絕于耳,相信大家也在各種場景下聽過不少次??蓲伻ミ@些高大上的名詞,到底什么才是優(yōu)秀的代碼呢?

RT-Thread雖然沒有強(qiáng)調(diào)過這些高大上的名詞,但是他毫無疑問用代碼對這些名詞進(jìn)行了解釋。RT-Thread的代碼風(fēng)格是類Linux/Unix的代碼風(fēng)格。這種風(fēng)格不僅僅體現(xiàn)在函數(shù)、變量的命名規(guī)范,而是深入到了RT-Thread的核心。例如,RT-Thread實(shí)現(xiàn)了一個(gè)設(shè)備驅(qū)動(dòng)框架,將設(shè)備類型分為了字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)接口設(shè)備、內(nèi)存設(shè)備、CAN設(shè)備、RTC設(shè)備、聲音設(shè)備、圖形設(shè)備、I2C總線設(shè)備等等等等。初始化時(shí)通過字符串(用戶可自定義的一個(gè)易于記憶的名稱)與設(shè)備驅(qū)動(dòng)綁定,并將驅(qū)動(dòng)注冊到內(nèi)核,使用時(shí)只需調(diào)用一個(gè)字符串,即可匹配到該設(shè)備,無需通過各種頭文件包含和二次封裝,即可實(shí)現(xiàn)隔離和解耦。

RT-Thread提供了Finsh和msh組件,這是非常有特色組件,可以在調(diào)試和開發(fā)中與系統(tǒng)內(nèi)核進(jìn)行便捷的交互,使用十分方便。如何在資源緊缺的嵌入式軟件開發(fā)中,寫出優(yōu)秀的代碼,RT-Thread十分值得我們思考和學(xué)習(xí)。

開源精神

RT-Thread是國內(nèi)第一梯隊(duì)的嵌入式開源項(xiàng)目,也正因?yàn)殚_源和社區(qū)化,RT-Thread得以茁壯發(fā)展,并在開發(fā)人員中贏得了極高的口碑,有不小數(shù)量的開發(fā)者參與到了RT-Thread的開發(fā)中。RT-Thread實(shí)時(shí)操作系統(tǒng)遵循GPLv2+許可證,實(shí)時(shí)操作系統(tǒng)內(nèi)核及所有開源組件可以免費(fèi)在商業(yè)產(chǎn)品中使用,不需要公布應(yīng)用源碼,沒有任何潛在商業(yè)風(fēng)險(xiǎn)。這種開源精神十分令人欽佩。

得益于RT-Thread的開源,我們可以將自己的代碼提交,經(jīng)過審核后合并至master分支,在使用過程中,當(dāng)某個(gè)模塊出現(xiàn)疑問或問題,可以直接與開發(fā)者甚至創(chuàng)始人直接進(jìn)行討論,這種體驗(yàn)是十分奇妙,也是其他RTOS所不具備的。

RT-Thread倡導(dǎo)大家參與RT-Thread開發(fā)的代碼編寫、bug修復(fù)、文檔完善等等各項(xiàng)進(jìn)程中。而實(shí)際上一旦自己提交的東西被采納和合并,也是一件十分有成就感的事情。

我們也可以學(xué)習(xí)RT-Thread的開源精神,將自己業(yè)余時(shí)間的代碼開源,或者積極參與到開源項(xiàng)目中,在方便大家使用的同時(shí),通過進(jìn)行更廣泛的討論,也相當(dāng)于有了更多的人幫助review,接受大家的批評和建議,實(shí)現(xiàn)自己更快的進(jìn)步。

一些思考

現(xiàn)在大家都十分渴望成功,并且渴望快速成功。在各種融資奇跡下,漸漸地,大家希望,趁著風(fēng)口,激進(jìn)地在短時(shí)間內(nèi)完成一款產(chǎn)品,然后借著風(fēng)口一飛沖天。也漸漸地,失去了精心打磨耕耘一個(gè)產(chǎn)品的耐心。RT-Thread在數(shù)千萬裝機(jī)量和獲得天使輪近千萬融資的背后是十年如一日的細(xì)心耕耘和精心呵護(hù)。

RT-Thread的創(chuàng)始人熊譜翔先生,起初是在2005年,面對RTOS現(xiàn)狀,利用業(yè)余時(shí)間開發(fā)RT-Thread。我想熊譜翔先生的初心也僅僅是想做一款真正優(yōu)秀的實(shí)時(shí)操作系統(tǒng)吧。如同《三傻大鬧寶萊塢》中,蘭徹達(dá)斯所說:“追求卓越,成功就會(huì)在不經(jīng)意間追上你”。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    851

    瀏覽量

    121200
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1412

    瀏覽量

    41982

原文標(biāo)題:從RT-Thread中我們能學(xué)到什么?

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【直播預(yù)告】RT-Thread攜手NXP硬核實(shí)戰(zhàn),解鎖MCX微控制器的AI落地秘籍 | 問學(xué)直播

    當(dāng)國產(chǎn)自主RTOS遇上全球半導(dǎo)體巨頭——RT-Thread攜手恩智浦帶來年度重磅技術(shù)直播!7月22日20:00,我們有幸請來3位頂尖專家深度解析恩智浦MCX系列微控制器+
    的頭像 發(fā)表于 07-20 10:05 ?209次閱讀
    【直播預(yù)告】<b class='flag-5'>RT-Thread</b>攜手NXP硬核實(shí)戰(zhàn),解鎖MCX微控制器的AI落地秘籍 | 問學(xué)直播

    深度剖析 RT-Thread 線程調(diào)度流程

    RT-Thread調(diào)度第一個(gè)線程的主要流程分如下:rtthread_startup:RTT的啟動(dòng)函數(shù),主要負(fù)責(zé)板級驅(qū)動(dòng),調(diào)度器,系統(tǒng)線程初始化,啟動(dòng)調(diào)度的工作
    的頭像 發(fā)表于 06-25 18:24 ?710次閱讀
    深度剖析 <b class='flag-5'>RT-Thread</b> 線程調(diào)度流程

    RT-Thread審核團(tuán)招募: 深度參與開源RTOS社區(qū)治理與演進(jìn)

    全球開發(fā)者招募:RT-Thread審核團(tuán)(ReviewTeam)正式開放申請!在開源的世界里,代碼審查(CodeReview)是保證軟件質(zhì)量、促進(jìn)技術(shù)交流的關(guān)鍵環(huán)節(jié)。RT-Thread作為全球領(lǐng)先
    的頭像 發(fā)表于 05-21 18:02 ?669次閱讀
    <b class='flag-5'>RT-Thread</b>審核團(tuán)招募: 深度參與開源<b class='flag-5'>RTOS</b>社區(qū)治理與演進(jìn)

    如何將RT-Thread移植到NXP MCUXPressoIDE上

    RT-Thread默認(rèn)支持的IDE只有IAR 和 Keil, 那如何將RT-Thread移植到NXP MCUXPressoIDE上呢?本文內(nèi)容比較簡單但稍有瑣碎,希望對有需要的小伙伴有所幫助。
    的頭像 發(fā)表于 02-13 10:37 ?1939次閱讀
    如何將<b class='flag-5'>RT-Thread</b>移植到NXP MCUXPressoIDE上

    開源來到開源中去-RT-Thread北京社區(qū)篇

    RT-Thread今年全域推行不同區(qū)域社區(qū)網(wǎng),通過建立區(qū)域社區(qū)網(wǎng),構(gòu)建更加緊密聯(lián)系的開源社區(qū),實(shí)現(xiàn)更廣泛的開源資源共享,讓更多的RT-Thread開發(fā)者受益。今年8月份RT-Thread正式啟動(dòng)北京
    的頭像 發(fā)表于 11-29 01:05 ?482次閱讀
    <b class='flag-5'>從</b>開源<b class='flag-5'>中</b>來到開源中去-<b class='flag-5'>RT-Thread</b>北京社區(qū)篇

    RT-Thread上CAN實(shí)踐

    開箱測試RT-Thread官方已完成了對英飛凌XMC7200EVK的移植,通過shell可以看到做好了uart3的console。本文將介紹如何進(jìn)行RT-ThreadCan移植。接下來我們要完成CAN_FD的驅(qū)動(dòng)移植,并正常啟動(dòng)
    的頭像 發(fā)表于 11-13 01:03 ?2136次閱讀
    <b class='flag-5'>RT-Thread</b>上CAN實(shí)踐

    開源共生 商業(yè)共贏 | RT-Thread 2024開發(fā)者大會(huì)報(bào)名啟動(dòng)!

    親愛的RT-Thread開發(fā)者我們很高興地宣布,一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread
    的頭像 發(fā)表于 10-29 08:06 ?968次閱讀
    開源共生 商業(yè)共贏 | <b class='flag-5'>RT-Thread</b> 2024開發(fā)者大會(huì)報(bào)名啟動(dòng)!

    跟著RT-Thread學(xué)嵌入式?我們開班了!

    RT-Thread官方即將發(fā)起為期三天的嵌入式操作系統(tǒng)專業(yè)培訓(xùn)班!本次培訓(xùn)將會(huì)深入講解RT-Thread嵌入式實(shí)時(shí)操作系統(tǒng)的核心概念、實(shí)戰(zhàn)技巧和應(yīng)用場景!無論企業(yè)團(tuán)隊(duì)/工程師是剛接觸嵌入式開發(fā),還是
    的頭像 發(fā)表于 10-22 08:05 ?529次閱讀
    跟著<b class='flag-5'>RT-Thread</b>學(xué)嵌入式?<b class='flag-5'>我們</b>開班了!

    【上海】9月21日RT-Thread巡回線下培訓(xùn)-RTduino 10分鐘上手嵌入式

    親愛的RT-Thread社區(qū)成員們:RT-Thread24年全球巡回培訓(xùn)將覆蓋超10座城市及國家,為開發(fā)者提供個(gè)深入學(xué)習(xí)RT-Thread
    的頭像 發(fā)表于 09-15 08:12 ?619次閱讀
    【上?!?月21日<b class='flag-5'>RT-Thread</b>巡回線下培訓(xùn)-RTduino 10分鐘上手嵌入式

    【成都】9月21日RT-Thread巡回線下培訓(xùn)-OpenMV機(jī)器視覺

    親愛的RT-Thread社區(qū)成員們:RT-Thread24年全球巡回培訓(xùn)將覆蓋超10座城市及國家,為開發(fā)者提供個(gè)深入學(xué)習(xí)RT-Thread
    的頭像 發(fā)表于 09-13 08:09 ?1752次閱讀
    【成都】9月21日<b class='flag-5'>RT-Thread</b>巡回線下培訓(xùn)-OpenMV機(jī)器視覺

    【南京】9月21日RT-Thread巡回線下培訓(xùn)-智慧家居視頻監(jiān)測系統(tǒng)實(shí)戰(zhàn)

    親愛的RT-Thread社區(qū)成員們:RT-Thread24年全球巡回培訓(xùn)將覆蓋超10座城市及國家,為開發(fā)者提供個(gè)深入學(xué)習(xí)RT-Thread
    的頭像 發(fā)表于 09-11 08:07 ?659次閱讀
    【南京】9月21日<b class='flag-5'>RT-Thread</b>巡回線下培訓(xùn)-智慧家居視頻監(jiān)測系統(tǒng)實(shí)戰(zhàn)

    【大連】9月7日RT-Thread巡回線下培訓(xùn)-OpenMV機(jī)器視覺

    親愛的RT-Thread社區(qū)成員們:2024年RT-Thread全球開發(fā)者線下培訓(xùn)拉開帷幕啦!24年全球巡回培訓(xùn)將覆蓋超10座城市及國家,為開發(fā)者提供個(gè)深入學(xué)習(xí)
    的頭像 發(fā)表于 09-01 08:02 ?3899次閱讀
    【大連】9月7日<b class='flag-5'>RT-Thread</b>巡回線下培訓(xùn)-OpenMV機(jī)器視覺

    獲獎(jiǎng)公布!2024 RT-Thread全球巡回線下培訓(xùn)火熱來襲!報(bào)名提問有獎(jiǎng)!

    親愛的RT-Thread社區(qū)成員們: 我們非常高興地宣布,2024年RT-Thread全球開發(fā)者線下培訓(xùn)即將拉開帷幕!24年全球巡回培訓(xùn)將覆蓋超 10座城市及國家 ,為開發(fā)者提供
    發(fā)表于 08-20 14:15

    2024 RT-Thread全球巡回 線下培訓(xùn)火熱來襲!

    親愛的RT-Thread社區(qū)成員們:我們非常高興地宣布,2024年RT-Thread全球開發(fā)者線下培訓(xùn)即將拉開帷幕!24年全球巡回培訓(xùn)將覆蓋超10座城市及國家,為開發(fā)者提供
    的頭像 發(fā)表于 08-07 08:35 ?2976次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線下培訓(xùn)火熱來襲!

    【好書推薦】RT-Thread設(shè)備驅(qū)動(dòng)開發(fā)指南

    近年來國內(nèi)芯片產(chǎn)業(yè)和物聯(lián)網(wǎng)產(chǎn)業(yè)的快速崛起,行業(yè)發(fā)展迫切需要更多人才,尤其需要掌握嵌入式操作系統(tǒng)等底層技術(shù)的人才。隨著RT-Thread被更廣泛地應(yīng)用于行業(yè),開發(fā)者對嵌入式驅(qū)動(dòng)開發(fā)的需求越來越
    的頭像 發(fā)表于 08-01 08:35 ?1342次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>設(shè)備驅(qū)動(dòng)開發(fā)指南