国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

RT-Thread 開發的目錄名稱與文件名稱

lhl545545 ? 來源:RTThread物聯網操作系統 ? 作者:RTThread物聯網操作 ? 2020-06-09 15:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這是一份 RT-Thread 開發人員的開發指引。RT-Thread 做為一份開源軟件,它需要由不同 的人采用合作的方式完成,這份文檔是開發人員的一個指引。RT-Thread 的開發人員請遵 守這樣的編程風格。同時對于使用 RT-Thread 的用戶,也可通過這份文檔了解 RT-Thread 代碼內部一些約定從而比較容易的把握到 RT-Thread 的實現方式。

1.目錄名稱

目錄名稱如果無特殊的需求,請使用全小寫的形式;目錄名稱應能夠反應部分的意思,例 如各芯片移植由其芯片名稱構成或芯片類別構成;components 目錄下能夠反映組件的意義。

2.文件名稱

文件名稱如果無特殊的需求(如果是引用其他地方,可以保留相應的名稱),請使用全小寫 的形式。另外為了避免文件名重名的問題,一些地方請盡量不要使用通用化、使用頻率高 的名稱。

3.頭文件定義

C語言頭文件為了避免多次重復包含,需要定義一個符號。這個符號的定義形式請采用如下 的風格:

1 #ifndef __FILE_H__

2 #define __FILE_H__

3 /* header file content */

4 #endif

即定義的符號兩側采用 “__” 以避免重名,另外也可以根據文件名中是否包含多個詞語而 采用 “_” 連接起來。

4.文件頭注釋

在每個源文件文件頭上,應該包括相應的版權信息,Change Log 記錄:

1 /*

2 * File : rtthread.h

3 * This file is part of RT-Thread RTOS

4 * COPYRIGHT (C) 2006 - 2012, RT-Thread Development Team

5 *

6 * This program is free software; you can redistribute it and/or modify

7 * it under the terms of the GNU General Public License as published by

8 * the Free Software Foundation; either version 2 of the License, or

9 * (at your option) any later version.

10 *

11 * This program is distributed in the hope that it will be useful,

12 * but WITHOUT ANY WARRANTY; without even the implied warranty of

13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

14 * GNU General Public License for more details.

15 *

16 * You should have received a copy of the GNU General Public License along

17 * with this program; if not, write to the Free Software Foundation, Inc.,

18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

19 *

20 * Change Logs:

21 * Date Author Notes

22 * 2006-03-18 Bernard the first version

23 * 2006-04-26 Bernard add semaphore APIs

24 * 。..

25 */

例如采用如上的形式。

5.結構體定義

結構體名稱請使用小寫英文名的形式,單詞與單詞之間采用 “_” 連接,例如:

1 struct rt_list_node

2 {

3 struct rt_list_node *next;

4 struct rt_list_node *prev;

5 };

其中,“{”,“}” 獨立占用一行,后面的成員定義使用縮進的方式定義。

結構體等的類型定義請以結構體名稱加上 “_t” 的形式作為名稱,例如:

1 typedef struct rt_list_node rt_list_t;

因為內核中對象引用方便的緣故,采用了對象內核指針作為類型定義的形式,例如:

1 typedef struct rt_timer* rt_timer_t;

6.宏定義

在RT-Thread中,請使用大寫英文名稱作為宏定義,單詞之間使用 “_” 連接,例如:

向滑動查看全部

1 #define RT_TRUE 1

7.函數名稱、聲明

函數名稱請使用小寫英文的形式,單詞之間使用 “_” 連接。提供給上層應用使用的 API 接口,必須在相應的頭文件中聲明;如果函數入口參數是空,必須使用 void 作為入口參 數,例如:

1 rt_thread_t rt_thread_self(void);

8.注釋編寫

請使用英文做為注釋,使用中文注釋將意味著在編寫代碼時需要來回不停的切換中英文輸 入法從而打斷編寫代碼的思路。并且使用英文注釋也能夠比較好的與中國以外的技術者進 行交流。

源代碼的注釋不應該過多,更多的說明應該是代碼做了什么,僅當個別關鍵點才需要一些 相應提示性的注釋以解釋一段復雜的算法它是如何工作的。對語句的注釋只能寫在它的上 方或右方,其他位置都是非法的。

9.縮進及分行

縮進請采用 4 個空格的方式。如果沒有什么特殊意義,請在 “{” 后進行分行,并在下一 行都采用縮進的方式,例如:

1 if (condition)

2 {

3 /* others */

4 }

唯一的例外是 switch 語句,switch-case 語句采用 case 語句與 switch 對齊的方式, 例如:

1 switch (value)

2 {

3 case value1:

4 break;

5 }

case 語句與前面的 switch 語句對齊,后續的語句則采用縮進的方式。

分行上,如果沒有什么特殊考慮,請不要在代碼中連續使用兩個以上的空行。

10.大括號與空格

從代碼閱讀角度,建議每個大括號單獨占用一行,而不是跟在語句的后面,例如:

1 if (condition)

2 {

3 /* others */

4 }

匹配的大括號單獨占用一行,代碼閱讀起來就會有相應的層次而不會容易出現混淆的情況。

空格建議在非函數方式的括號調用前留一個空格以和前面的進行區分,例如:

1 if (x 《= y)

2 {

3 /* others */

4 }

5

6 for (index = 0; index 《 MAX_NUMBER; index ++)

7 {

8 /* others */

9 }

建議在括號前留出一個空格(涉及的包括 if、for、while、switch 語句),而運算表達式 中,運算符與字符串間留一個空格。另外,不要在括號的表達式兩側留空格,例如:

1 if ( x 《= y )

2 {

3 /* other */

4 } /* others */

5 }

這樣括號內兩側的空格是不允許的。

11.trace、log信息

在 RT-Thread 中,普遍使用的 log 方式是 rt_kprintf。rt_kprintf 在 RT-Thread 被實 現成一個采用輪詢、非中斷方式的字串輸出,能夠適合于在中斷這類“即時”顯示日志的場 合。因為這種輪詢方式的存在,也必然會影響到日志輸出的時序關系。

建議在代碼中不要頻繁的使用 rt_kprintf 作為日志輸出,除非你真正的明白,你的代碼 運行占用的時間多一些也沒什么關系。

日志輸出應該被設計成正常情況下是關閉狀態(例如通過一個變量或宏就能夠開啟),并且 當真正輸出日志時,日志是易懂易定位問題的方式。“天書式”的日志系統是糟糕的,不合 理的。

12.函數

在內核編程中,函數應該盡量精簡,僅完成相對獨立的簡單功能。函數的實現不應該太長 ,函數實現太長,應該反思能夠如何修改(或拆分)使得函數更為精簡、易懂。

13.對象

RT-Thread 內核采用了 C 語言對象化技術,命名表現形式是:對象名結構體表示類定義、 對象名 + 動詞短語形式表示類方法,例如:

1 struct rt_timer

2 {

3 struct rt_object parent;

4 /* other fields */

5 };

6 typedef struct rt_timer* rt_timer_t;

結構體定義 rt_timer 代表了 timer 對象的類定義;

1 rt_timer_t rt_timer_create(const char* name,

2 void (*timeout)(void* parameter), void* parameter,

3 rt_tick_t time, rt_uint8_t flag);

4 rt_err_t rt_timer_delete(rt_timer_t timer);

5 rt_err_t rt_timer_start(rt_timer_t timer);

6 rt_err_t rt_timer_stop(rt_timer_t timer);

rt_timer + 動詞短語的形式表示能夠應用于 timer 對象的方法。

在創建一個新的對象時,應該思考好,對象的內存操作處理:是否允許一個靜態對象存在 ,或僅僅支持從堆中動態分配的對象。
責任編輯:pj

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

    關注

    0

    文章

    215

    瀏覽量

    16602
  • RT-Thread
    +關注

    關注

    32

    文章

    1614

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    日前,“開源向實·生產力進化啟示錄”全球峰會暨RT-Thread 20周年開發者大會在上海成功舉辦,恩智浦作為RT-Thread的緊密合作伙伴,在活動中重磅亮相,展示雙方在共建RT-Threa
    的頭像 發表于 01-26 09:07 ?557次閱讀

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

    各位開發者感謝各位一直以來對RT-Thread社區的參與和支持,本周六我們將和大家一起迎來我們的20周年開發者大會。為了回饋一直以來與RT-Thread共同成長的
    的頭像 發表于 01-13 17:38 ?428次閱讀
    給<b class='flag-5'>開發</b>者的<b class='flag-5'>RT-Thread</b>大會「實在」指南:技術、<b class='flag-5'>開發</b>板與真誠的見面禮

    首搭RT-Thread程翧車控平臺| RT-Thread程翧 S32K344 快速原型開發平臺正式上市!| 產品動態

    在智能汽車邁向高集成與高安全的時代,VCU/ECU開發正面臨效率與可靠性的雙重考驗。依賴單一硬件或拼湊軟件方案的傳統模式,已成為制約創新的瓶頸。為此,RT-Thread帶來里程碑式的解決方案
    的頭像 發表于 10-31 11:53 ?996次閱讀
    首搭<b class='flag-5'>RT-Thread</b>程翧車控平臺| <b class='flag-5'>RT-Thread</b>程翧 S32K344 快速原型<b class='flag-5'>開發</b>平臺正式上市!| 產品動態

    RT-Thread生成玄鐵RISC-V BSP的CDK工程開發指南 | 技術集結

    目錄開發環境配置工程創建CDK工程運行CDK工程編譯工程運行與調試RT-Thread課程上線玄鐵系列RISC-VBSP上手指南RT-Thread已對玄鐵(XuanTie)E、C、R系列
    的頭像 發表于 09-28 10:06 ?4440次閱讀
    <b class='flag-5'>RT-Thread</b>生成玄鐵RISC-V BSP的CDK工程<b class='flag-5'>開發</b>指南 | 技術集結

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

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

    使用RT-Thread studio 開發RT-Thread Nano項目的時候 串口的驅動是要自己寫嗎?

    剛入坑。使用RT-Thread studio 開發RT-Thread 標準板項目的時候直接使用里邊的串口uart_dev=rt_device_find(“uart5”);然后操作設備,
    發表于 09-26 08:14

    如何使用rt-thread studio中,使用 定制化的SDK建立工程?

    步驟: rt-thread bsp n32 n32l40xcl-stb scons --target=eclipse 再 Scons –dist 生成 dist 目錄 進入目錄后 再 scons
    發表于 09-26 06:16

    Windows上使用ENV工具開發基于先楫MCU的RT-Thread應用

    前言Env是RT-Thread推出的開發輔助工具,針對基于RT-Thread操作系統的項目工程,提供編譯構建環境、圖形化系統配置及軟件包管理功能。其內置的menuconfig提供了簡單易用的配置剪裁
    的頭像 發表于 08-29 12:22 ?1460次閱讀
    Windows上使用ENV工具<b class='flag-5'>開發</b>基于先楫MCU的<b class='flag-5'>RT-Thread</b>應用

    在Ubuntu上開發基于先楫MCU的RT-Thread應用指南

    1、前言RT-ThreadEnv是RT-Thread推出的開發輔助工具,針對基于RT-Thread操作系統的項目工程,提供編譯構建環境、圖形化系統配置及軟件包管理功能。其內置的menu
    的頭像 發表于 08-29 12:22 ?1782次閱讀
    在Ubuntu上<b class='flag-5'>開發</b>基于先楫MCU的<b class='flag-5'>RT-Thread</b>應用指南

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

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

    【RA-Eco-RA6M4開發板評測】5、基于FSP6.0.0適配RT-Thread

    RT-Thread為瑞薩的開發板提供BSP移植模板工程,配合FSP RASC代碼配置工具,可以快速適配RT-Thread。下面介紹在FSP6.0中為RA6M4-Eco適配RT-Thread
    發表于 08-13 21:35

    從驅動到應用:RT-Thread環境下的SDIO開發指南

    目錄硬件介紹搭建開發環境配置SDIO驅動掛載文件系統文件讀寫測試演示視頻源碼工程總結本文主要講述RT-Thread環境下的SDIO
    的頭像 發表于 06-28 09:02 ?2813次閱讀
    從驅動到應用:<b class='flag-5'>RT-Thread</b>環境下的SDIO<b class='flag-5'>開發</b>指南

    揭秘RT-Thread上的AUTOSAR CP系統

    本文探討了RT-Thread與AUTOSARCP的融合,解決車載ECU開發中實時性、安全性與靈活性的平衡問題。通過分層安全內核(rt-safetyos/autoos)和工具鏈整合,兼容AUTOSAR
    的頭像 發表于 06-23 20:22 ?3223次閱讀
    揭秘<b class='flag-5'>RT-Thread</b>上的AUTOSAR CP系統

    人形機器人敏捷開發新路徑:RT-Thread以軟件底座破解復雜系統難題 | 新聞速遞

    5月29日,2025機器人開發者大會在上海張江科學城拉開帷幕,RT-Thread睿賽德受邀參會,與宇樹、智元、傅利葉等企業共話機器人行業解決方案。在人形機器人本體專題論壇上,RT-Thread睿賽德
    的頭像 發表于 06-04 14:03 ?1316次閱讀
    人形機器人敏捷<b class='flag-5'>開發</b>新路徑:<b class='flag-5'>RT-Thread</b>以軟件底座破解復雜系統難題 | 新聞速遞

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

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