chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

柴胡 · 所言

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

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

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

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

軟件工程管理

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

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

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

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

代碼風格與技術

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

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

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

開源精神

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

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

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

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

一些思考

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

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

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

    關注

    25

    文章

    866

    瀏覽量

    122794
  • RT-Thread
    +關注

    關注

    32

    文章

    1597

    瀏覽量

    44568

原文標題:從RT-Thread中我們能學到什么?

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    恩智浦亮相RT-Thread 20周年開發(fā)者大會

    日前,“開源向?qū)崱どa(chǎn)力進化啟示錄”全球峰會暨RT-Thread 20周年開發(fā)者大會在上海成功舉辦,恩智浦作為RT-Thread的緊密合作伙伴,在活動重磅亮相,展示雙方在共建RT-Threa
    的頭像 發(fā)表于 01-26 09:07 ?319次閱讀

    給開發(fā)者的RT-Thread大會「實在」指南:技術、開發(fā)板與真誠的見面禮

    的收獲”。除了院士、LVGL創(chuàng)始人、RT-Thread創(chuàng)始人以及數(shù)家廠商的前沿技術分享與交流,我們也真心實意地,為每位到場的你,備下了些謝禮。以下是為各位準備
    的頭像 發(fā)表于 01-13 17:38 ?347次閱讀
    給開發(fā)者的<b class='flag-5'>RT-Thread</b>大會「實在」指南:技術、開發(fā)板與真誠的見面禮

    手搓RT-Thread工地巡檢機器人要幾步? | 技術集結

    本項目為RT-Thread嵌入式大賽獲獎作品,基于CanMVK230的工地巡檢機器人。K230芯片集成了兩顆RISC-V處理器核心,雙核玄鐵C908。RT-Thread已全面支持XUANTIE系
    的頭像 發(fā)表于 12-29 21:46 ?2997次閱讀
    手搓<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>RT-Thread</b>工地巡檢機器人要幾步? | 技術集結

    代碼里的青春——我與RT-Thread的故事

    發(fā)出RT-Thread20周年故事征集令的第天起,我們已陸續(xù)收到了數(shù)位開發(fā)者的投稿。有人凌晨三點在調(diào)試線程棧,有人在社區(qū)收獲友情,有人
    的頭像 發(fā)表于 12-12 20:11 ?1025次閱讀
    代碼里的青春——我與<b class='flag-5'>RT-Thread</b>的故事

    RT-Thread 20周年開發(fā)者大會特別邀請:帶上你的故事,遇見我們的傳奇?。顒訄竺?/a>

    回首廿載,感謝有你二十年前,RT-Thread的第行代碼在閃爍的屏幕前誕生;二十年后,全球數(shù)億臺設備因這個開源實時操作系統(tǒng)而智能運行。嵌入式領域的幼苗到枝繁葉茂的開源大樹,這不
    的頭像 發(fā)表于 12-04 17:43 ?1286次閱讀
    <b class='flag-5'>RT-Thread</b> 20周年開發(fā)者大會特別邀請:帶上你的故事,遇見<b class='flag-5'>我們</b>的傳奇?。顒訄竺? />    </a>
</div>                              <div   id=

    ENV的scons生成RT-Thread studio工程嗎?

    scons生成RT-Thread studio工程嗎?教程中使用scons —target==MDK5來生成MDK工程,怎么生成RT-Thread Stdudio工程呢?
    發(fā)表于 10-13 07:42

    學習強國深度報道 RT-Thread“1+X+N”戰(zhàn)略,國產(chǎn)操作系統(tǒng)賦高端制造引關注|媒體視角

    近日,國產(chǎn)嵌入式操作系統(tǒng)領軍企業(yè)RT-Thread睿賽德在工博會發(fā)布的“1+X+N”戰(zhàn)略體系,獲得了國家級權威媒體平臺“學習強國”的重點報道。該報道產(chǎn)業(yè)高度深入剖析了RT-Thread
    的頭像 發(fā)表于 09-29 17:37 ?1129次閱讀
    學習強國深度報道 <b class='flag-5'>RT-Thread</b>“1+X+N”戰(zhàn)略,<b class='flag-5'>國產(chǎn)</b>操作系統(tǒng)賦<b class='flag-5'>能</b>高端制造引關注|媒體視角

    2025年RT-Thread開發(fā)者巡回培訓報名正式啟動!

    親愛的RT-Thread社區(qū)成員們:新程再啟,共赴熱愛!2025年RT-Thread開發(fā)者巡回培訓正式啟動報名!今年,我們選擇了西安、武漢、北京、杭州、深圳、上海、成都這7座城市,為大家?guī)?/div>
    的頭像 發(fā)表于 09-27 10:39 ?1707次閱讀
    2025年<b class='flag-5'>RT-Thread</b>開發(fā)者巡回培訓報名正式啟動!

    明晚!基于RT-Thread 的 PID 控制實踐,驅(qū)動到算法到監(jiān)控,次學會!| 問學直播

    在嵌入式開發(fā),PID控制是最常見、最實用的控制算法之,應用場景涵蓋溫度控制、電機調(diào)速、機械臂控制等各類智能設備。我們很榮幸邀請到2025RT-Thread大學生夏令營優(yōu)秀學員陳宇鋒
    的頭像 發(fā)表于 09-01 17:04 ?1261次閱讀
    明晚!基于<b class='flag-5'>RT-Thread</b> 的 PID 控制實踐,<b class='flag-5'>從</b>驅(qū)動到算法到監(jiān)控,<b class='flag-5'>一</b>次學會!| 問學直播

    【好書推薦】RT-Thread第20本相關書籍!《嵌入式實時操作系統(tǒng)RT-Thread原理與應用》| 技術集結

    01內(nèi)容簡介ContentSummary本書為讀者提供了全面、系統(tǒng)的RT-Thread學習指南,旨在幫助初學者及有經(jīng)驗的開發(fā)者掌握RT-Thread實時操作系統(tǒng)和STM32嵌入式微
    的頭像 發(fā)表于 08-24 10:05 ?901次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>第20本相關書籍!《嵌入式實時操作系統(tǒng)<b class='flag-5'>RT-Thread</b>原理與應用》| 技術集結

    RT-Thread 遇上 Rust:安全內(nèi)核 RusT-Thread 的誕生

    大家好,我們是中國科學技術大學操作系統(tǒng)原理與設計(H)課oooooS小組。這個項目是我們的課程大作業(yè):參考RT-Thread架構,使用Rust搭建
    的頭像 發(fā)表于 08-02 11:03 ?3472次閱讀
    <b class='flag-5'>RT-Thread</b> 遇上 Rust:安全內(nèi)核 RusT-<b class='flag-5'>Thread</b> 的誕生

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

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

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

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

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

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

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

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