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

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

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

RT-Thread的郵箱服務(wù),包括郵箱工作機(jī)制、工作管理方式以及應(yīng)用示例

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:lp ? 2019-03-28 09:38 ? 次閱讀

前言

前面講了RT-Thread信號(hào)量、互斥量以及事件集這些都是線程間的同步方式。在我們進(jìn)行實(shí)際的項(xiàng)目開發(fā)的時(shí)候,經(jīng)常會(huì)涉及到一個(gè)線程更新某個(gè)全局變量值,然后另外一個(gè)線程去讀取這個(gè)全局變量值,根據(jù)這個(gè)全局變量值的不同而去執(zhí)行不同的操作,在RT-Thread 中則提供了更多的工具幫助在不同的線程中間傳遞信息,包括郵箱、消息隊(duì)列、信號(hào)用于線程間的通信方式。本文將RT-Thread的郵箱服務(wù),包括郵箱工作機(jī)制、工作管理方式以及應(yīng)用示例,基于潘多拉開發(fā)板進(jìn)行實(shí)驗(yàn),單片機(jī)STM32L475VET6。

一、郵箱的工作機(jī)制

RT-Thread 操作系統(tǒng)的郵箱用于線程間通信,特點(diǎn)是開銷比較低,效率較高。郵箱中的每一封郵件只能容納固定的 4 字節(jié)內(nèi)容(針對(duì) 32 位處理系統(tǒng),指針的大小即為 4 個(gè)字節(jié),所以一封郵件恰好能夠容納一個(gè)指針)。典型的郵箱也稱作交換消息,如下圖所示,線程或中斷服務(wù)例程把一封 4 字節(jié)長(zhǎng)度的郵件發(fā)送到郵箱中,而一個(gè)或多個(gè)線程可以從郵箱中接收這些郵件并進(jìn)行處理。

郵箱工作示意圖(來源RT-Thread編程指南)

(1)非阻塞方式的郵件發(fā)送過程能夠安全的應(yīng)用于中斷服務(wù)中,是線程、中斷服務(wù)、定時(shí)器向線程發(fā)送消息的有效手段。通常來說,郵件收取過程可能是阻塞的,這取決于郵箱中是否有郵件,以及收取郵件時(shí)設(shè)置的超時(shí)時(shí)間。當(dāng)郵箱中不存在郵件且超時(shí)時(shí)間不為 0 時(shí),郵件收取過程將變成阻塞方式。在這類情況下,只能由線程進(jìn)行郵件的收取。

(2)當(dāng)一個(gè)線程向郵箱發(fā)送郵件時(shí),如果郵箱沒滿,將把郵件復(fù)制到郵箱中。如果郵箱已經(jīng)滿了,發(fā)送線程可以設(shè)置超時(shí)時(shí)間,選擇等待掛起或直接返回 RT_EFULL。如果發(fā)送線程選擇掛起等待,那么當(dāng)郵箱中的郵件被收取而空出空間來時(shí),等待掛起的發(fā)送線程將被喚醒繼續(xù)發(fā)送。

(3)當(dāng)一個(gè)線程從郵箱中接收郵件時(shí),如果郵箱是空的,接收線程可以選擇是否等待掛起直到收到新的郵件而喚醒,或可以設(shè)置超時(shí)時(shí)間。當(dāng)達(dá)到設(shè)置的超時(shí)時(shí)間,郵箱依然未收到郵件時(shí),這個(gè)選擇超時(shí)等待的線程將被喚醒并返回 RT_ETIMEOUT。如果郵箱中存在郵件,那么接收線程將復(fù)制郵箱中的 4 個(gè)字節(jié)郵件到接收緩存中。

二、郵箱的相關(guān)函數(shù)

1、創(chuàng)建動(dòng)態(tài)郵箱函數(shù):創(chuàng)建郵箱對(duì)象時(shí)會(huì)先從對(duì)象管理器中分配一個(gè)郵箱對(duì)象,然后給郵箱動(dòng)態(tài)分配一塊內(nèi)存空間用來存放郵件,這塊內(nèi)存的大小等于郵件大小(4 字節(jié))與郵箱容量的乘積,接著初始化接收郵件數(shù)目和發(fā)送郵件在郵箱中的偏移量,動(dòng)態(tài)創(chuàng)建一個(gè)郵箱對(duì)象可以調(diào)用如下的函數(shù)接口:

1rt_mailbox_trt_mb_create(constchar*name,rt_size_tsize,rt_uint8_tflag);

(1)入口參數(shù):name:郵箱名稱。size:郵箱容量。flag:郵箱標(biāo)志,它可以取如下數(shù)值:RT_IPC_FLAG_FIFO 或RT_IPC_FLAG_PRIO(2)返回值:RT_NULL:創(chuàng)建失敗。郵箱對(duì)象的句柄:創(chuàng)建成功。

2、刪除動(dòng)態(tài)郵箱函數(shù):當(dāng)用 rt_mb_create() 創(chuàng)建的郵箱不再被使用時(shí),應(yīng)該刪除它來釋放相應(yīng)的系統(tǒng)資源,一旦操作完成,郵箱將被永久性的刪除。刪除郵箱時(shí),如果有線程被掛起在該郵箱對(duì)象上,內(nèi)核先喚醒掛起在該郵箱上的所有線程(線程返回值是 RT_ERROR),然后再釋放郵箱使用的內(nèi)存,最后刪除郵箱對(duì)象。刪除郵箱的函數(shù)接口如下:

1rt_err_trt_mb_delete(rt_mailbox_tmb);

(1)入口參數(shù):

mb:要?jiǎng)h除的郵箱對(duì)象的句柄。

(2)返回值:

RT_EOK:成功。

3、創(chuàng)建靜態(tài)郵箱函數(shù):這里所說的創(chuàng)建靜態(tài)郵箱和《RT-Thread編程指南》所講的初始化郵箱是一樣的,跟動(dòng)態(tài)創(chuàng)建郵箱類似,只是初始化郵箱用于靜態(tài)郵箱對(duì)象的初始化。與創(chuàng)建郵箱不同的是,靜態(tài)郵箱對(duì)象的內(nèi)存是在系統(tǒng)編譯時(shí)由編譯器分配的,一般放于讀寫數(shù)據(jù)段或未初始化數(shù)據(jù)段中,其余的初始化工作與創(chuàng)建郵箱時(shí)相同。初始化郵箱時(shí),該函數(shù)接口需要獲得用戶已經(jīng)申請(qǐng)獲得的郵箱對(duì)象控制塊,緩沖區(qū)的指針,以及郵箱名稱和郵箱容量(能夠存儲(chǔ)的郵件數(shù))。函數(shù)接口如下:

1rt_err_trt_mb_init(rt_mailbox_tmb,2constchar*name,3void*msgpool,4rt_size_tsize,5rt_uint8_tflag);

(1)入口參數(shù):

mb:郵箱對(duì)象的句柄。name:郵箱名稱。msgpool:緩沖區(qū)指針。size:郵箱容量。flag:

郵箱標(biāo)志,它可以取如下數(shù)值:RT_IPC_FLAG_FIFO 或 RT_IPC_FLAG_PRIO

(2)返回值:

RT_EOK:成功。

注意:這里的 size 參數(shù)指定的是郵箱的容量,即如果 msgpool 指向的緩沖區(qū)的字節(jié)數(shù)是 N,那么郵箱容量應(yīng)該是 N/4。

4、刪除靜態(tài)郵箱函數(shù):這里所說的刪除靜態(tài)郵箱和《RT-Thread編程指南》所講的脫離郵箱是一樣的,脫離郵箱將把靜態(tài)初始化的郵箱對(duì)象從內(nèi)核對(duì)象管理器中脫離,內(nèi)核先喚醒所有掛在該郵箱上的線程(線程獲得返回值是 RT_ERROR),然后將該郵箱對(duì)象從內(nèi)核對(duì)象管理器中脫離。脫離郵箱使用下面的接口

1rt_err_trt_mb_detach(rt_mailbox_tmb);

(1)入口參數(shù):mb:郵箱對(duì)象的句柄。

(2)返回值:RT_EOK:成功。

5、發(fā)送郵件函數(shù):線程或者中斷服務(wù)程序可以通過郵箱給其他線程發(fā)送郵件,發(fā)送的郵件可以是 32 位任意格式的數(shù)據(jù),一個(gè)整型值或者一個(gè)指向緩沖區(qū)的指針。當(dāng)郵箱中的郵件已經(jīng)滿時(shí),發(fā)送郵件的線程或者中斷程序會(huì)收到 RT_EFULL的返回值。函數(shù)接口如下:

1rt_err_trt_mb_send(rt_mailbox_tmb,rt_uint32_tvalue);

(1)入口參數(shù):mb:郵箱對(duì)象的句柄。value:郵件內(nèi)容。

(2)返回值:RT_EOK:發(fā)送成功。RT_EFULL:郵箱已經(jīng)滿了。

6、等待方式發(fā)送郵件函數(shù):用戶也可以通過如下的函數(shù)接口向指定郵箱發(fā)送郵件:

1rt_err_trt_mb_send_wait(rt_mailbox_tmb,2rt_uint32_tvalue,3rt_int32_ttimeout);

rt_mb_send_wait()與 rt_mb_send() 的區(qū)別在于有等待時(shí)間,如果郵箱已經(jīng)滿了,那么發(fā)送線程將根據(jù)設(shè)定的 timeout 參數(shù)等待郵箱中因?yàn)槭杖∴]件而空出空間。如果設(shè)置的超時(shí)時(shí)間到達(dá)依然沒有空出空間,這時(shí)發(fā)送線程將被喚醒并返回錯(cuò)誤碼。

(1)入口參數(shù):mb:郵箱對(duì)象的句柄。value:郵件內(nèi)容。timeout:超時(shí)時(shí)間。

(2)返回值:RT_EOK:發(fā)送成功。RT_ETIMEOUT:超時(shí)。RT_ERROR:失敗,返回錯(cuò)誤。

7、接收郵件函數(shù):接收郵件時(shí),接收者需指定接收郵件的郵箱句柄,并指定接收到的郵件存放位置以及最多能夠等待的超時(shí)時(shí)間。接收郵件函數(shù)接口如下:

1rt_err_trt_mb_recv(rt_mailbox_tmb,rt_uint32_t*value,rt_int32_ttimeout);

(1)入口參數(shù):mb:郵箱對(duì)象的句柄。value:郵件內(nèi)容。timeout:超時(shí)時(shí)間。

(2)返回值:RT_EOK:發(fā)送成功。RT_ETIMEOUT:超時(shí)。RT_ERROR:失敗,返回錯(cuò)誤。

三、基于STM32的郵箱示例

光說不練都是假把式,那么接下來我們進(jìn)行RT-Thread的郵箱實(shí)驗(yàn),采用RTT&正點(diǎn)原子聯(lián)合出品潘多拉開發(fā)板,基于STM32。創(chuàng)建一個(gè)郵箱,兩個(gè)線程,其中一個(gè)線程用于發(fā)送郵件,另外一個(gè)線程由于接收郵件。通過按下不同按鍵發(fā)送不同的郵件內(nèi)容,根據(jù)讀取到右郵件內(nèi)容執(zhí)行不同操作。當(dāng)讀取到內(nèi)容為KEY0按下時(shí)點(diǎn)亮RGB紅燈,其他熄滅,當(dāng)讀取到內(nèi)容為KEY1按下時(shí)點(diǎn)亮RGB藍(lán)燈,其他熄滅,當(dāng)讀取到內(nèi)容為KEY0按下時(shí)點(diǎn)亮RGB綠燈,其他熄滅。

1、實(shí)現(xiàn)代碼:

1#include"rtthread.h" 2#include"string.h" 3#include"mailbox_app.h" 4#include"led.h" 5#include"key.h" 6 7 8/*線程句柄*/ 9staticrt_thread_tthread1=RT_NULL; 10staticrt_thread_tthread2=RT_NULL; 11 12/*郵箱句柄*/ 13staticrt_mailbox_tmailbox1=RT_NULL; 14 15 16charmailbox_msg_key0_press[]="mailbox_msg_key0_press"; 17charmailbox_msg_key1_press[]="mailbox_msg_key1_press"; 18charmailbox_msg_key2_press[]="mailbox_msg_key2_press"; 19 20 21/************************************************************** 22函數(shù)名稱:thread1_recv_mailbox_msg 23函數(shù)功能:線程1入口函數(shù),用于接收郵件 24輸入?yún)?shù):parameter:入口參數(shù) 25返回值:無 26備注:無 27**************************************************************/ 28voidthread1_recv_mailbox_msg(void*parameter) 29{ 30char*mb_msg; 31 32while(1) 33{ 34if(rt_mb_recv(mailbox1,(rt_uint32_t*)&mb_msg,RT_WAITING_FOREVER)==RT_EOK) 35{ 36rt_kprintf("recvmb_msg:%s ",mb_msg); 37 38if(0==strcmp(mb_msg,"mailbox_msg_key0_press")) 39{ 40LED_R(0); 41LED_B(1); 42LED_G(1); 43} 44elseif(0==strcmp(mb_msg,"mailbox_msg_key1_press")) 45{ 46LED_R(1); 47LED_B(0); 48LED_G(1); 49} 50elseif(0==strcmp(mb_msg,"mailbox_msg_key2_press")) 51{ 52LED_R(1); 53LED_B(1); 54LED_G(0); 55} 56} 57rt_thread_mdelay(1); 58} 59} 60 61/************************************************************** 62函數(shù)名稱:thread2_send_mailbox_msg 63函數(shù)功能:線程2入口函數(shù),用于發(fā)送郵件 64輸入?yún)?shù):parameter:入口參數(shù) 65返回值:無 66備注:無 67**************************************************************/ 68voidthread2_send_mailbox_msg(void*parameter) 69{ 70u8key; 71 72while(1) 73{ 74key=key_scan(0); 75 76if(key==KEY0_PRES) 77{ 78rt_mb_send(mailbox1,(rt_uint32_t)&mailbox_msg_key0_press); 79} 80elseif(key==KEY1_PRES) 81{ 82rt_mb_send(mailbox1,(rt_uint32_t)&mailbox_msg_key1_press); 83} 84elseif(key==KEY2_PRES) 85{ 86rt_mb_send(mailbox1,(rt_uint32_t)&mailbox_msg_key2_press); 87} 88 89rt_thread_mdelay(1); 90} 91} 92 93 94voidrtthread_mailbox_test(void) 95{ 96mailbox1=rt_mb_create("mailbox1",12,RT_IPC_FLAG_FIFO);/*FIFO模式*/ 97 98if(mailbox1!=RT_NULL) 99{100rt_kprintf("RT-Threadcreatemailboxsuccessful ");101}102else103{104rt_kprintf("RT-Threadcreatemailboxfailed ");105return;106}107108thread1=rt_thread_create("thread1",109thread1_recv_mailbox_msg,110NULL,111512,1123,11320);114115if(thread1!=RT_NULL)116{117rt_thread_startup(thread1);;118}119else120{121rt_kprintf("createthread1failed ");122return;123}124125thread2=rt_thread_create("thread2",126thread2_send_mailbox_msg,127NULL,1281024,1292,13020);131132if(thread2!=RT_NULL)133{134rt_thread_startup(thread2);;135}136else137{138rt_kprintf("createthread2failed ");139return;140}141}

2、觀察FinSH和執(zhí)行效果:

(1)輸入list_mailbox,可以看到由哪些郵箱,郵箱的容量以及當(dāng)前掛起等待郵箱內(nèi)容的線程。

(2)按下KEY0,打印如下郵件的內(nèi)容,同時(shí)RGB紅燈亮。

(3)按下KEY1,打印如下郵件內(nèi)容,同時(shí)RGB藍(lán)燈亮。

(4)按下KEY2,打印如下郵件內(nèi)容,同時(shí)RGB綠燈亮。

四、郵箱的使用場(chǎng)合及技巧

郵箱是一種簡(jiǎn)單的線程間消息傳遞方式,特點(diǎn)是開銷比較低,效率較高。在 RT-Thread 操作系統(tǒng)的實(shí)現(xiàn)中能夠一次傳遞一個(gè) 4 字節(jié)大小的郵件,并且郵箱具備一定的存儲(chǔ)功能,能夠緩存一定數(shù)量的郵件數(shù) (郵件數(shù)由創(chuàng)建、初始化郵箱時(shí)指定的容量決定)。郵箱中一封郵件的最大長(zhǎng)度是 4 字節(jié),所以郵箱能夠用于不超過 4 字節(jié)的消息傳遞。

由于在 32 系統(tǒng)上 4 字節(jié)的內(nèi)容恰好可以放置一個(gè)指針,因此當(dāng)需要在線程間傳遞比較大的消息時(shí),可以把指向一個(gè)緩沖區(qū)的指針作為郵件發(fā)送到郵箱中,即郵箱也可以傳遞指針,例如:

1structmsg2{3rt_uint8_t*data_ptr;4rt_uint32_tdata_size;5};

對(duì)于這樣一個(gè)消息結(jié)構(gòu)體,其中包含了指向數(shù)據(jù)的指針data_ptr和數(shù)據(jù)塊長(zhǎng)度的變量 data_size。當(dāng)一個(gè)線程需要把這個(gè)消息發(fā)送給另外一個(gè)線程時(shí),可以采用如下的操作:

1structmsg*msg_ptr;23msg_ptr=(structmsg*)rt_malloc(sizeof(structmsg));4msg_ptr->data_ptr=...;/*指向相應(yīng)的數(shù)據(jù)塊地址*/5msg_ptr->data_size=len;/*數(shù)據(jù)塊的長(zhǎng)度*/67/*發(fā)送這個(gè)消息指針給mb郵箱*/8rt_mb_send(mb,(rt_uint32_t)msg_ptr);

申請(qǐng)結(jié)構(gòu)體大小的內(nèi)存空間,返回的指針指向了結(jié)構(gòu)體,當(dāng)結(jié)構(gòu)體中的信息處理完,那么可以將指向結(jié)構(gòu)體的指針作為郵件發(fā)送到郵箱中,而在接收郵件的線程中完成對(duì)結(jié)構(gòu)體信息的讀取操作,在完成操作后應(yīng)當(dāng)釋放內(nèi)存,因?yàn)槭杖∵^來的是指針,而 msg_ptr 是一個(gè)新分配出來的內(nèi)存塊,所以在接收線程處理完畢后,需要釋放相應(yīng)的內(nèi)存塊:

1structmsg*msg_ptr;23if(rt_mb_recv(mb,(rt_uint32_t*)&msg_ptr)==RT_EOK)4{5/*在接收線程處理完畢后,需要釋放相應(yīng)的內(nèi)存塊*/6rt_free(msg_ptr);7}

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

    關(guān)注

    37

    文章

    6822

    瀏覽量

    123331
  • 郵箱
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

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

    關(guān)注

    31

    文章

    1289

    瀏覽量

    40123

原文標(biāo)題:社區(qū)新人的RT-Thread學(xué)習(xí)筆記6——郵箱

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RT-Thread最新推出Nano極簡(jiǎn)版

    RT-Thread適時(shí)推出第一個(gè)RT-Thread Nano極簡(jiǎn)版,適用于家電、消費(fèi)電子、醫(yī)療設(shè)備、工控等領(lǐng)域大量使用的32位ARM入門級(jí)MCU的場(chǎng)合,支持多任務(wù)處理、信號(hào)量和郵箱等相對(duì)完整的實(shí)時(shí)操作系統(tǒng)特性。
    發(fā)表于 07-31 11:35 ?5364次閱讀

    RT-thread內(nèi)核之郵箱

    郵箱rt_err_t rt_mb_detach(rt_mailbox_t mb);使用該函數(shù)接口后,內(nèi)核先喚醒所有掛在該郵箱上的線程(線程
    發(fā)表于 03-06 17:15

    RT-Thread 架構(gòu)圖

    RT-Thread 架構(gòu)圖:RT-Thread開發(fā)指南開源地址內(nèi)核層:RT-Thread 內(nèi)核,是 RT-Thread 的核心部分,包括了內(nèi)
    發(fā)表于 12-16 08:15

    一文讀懂RT-Thread操作系統(tǒng)的郵箱機(jī)制

    RT-Thread操作系統(tǒng)的郵箱有何作用?RT-Thread操作系統(tǒng)的郵箱機(jī)制管理數(shù)據(jù)結(jié)構(gòu)是怎樣
    發(fā)表于 02-28 08:10

    RT-Thread系統(tǒng)的信號(hào)如何進(jìn)行管理和使用呢

    RT-Thread 中,仿照類似的原理,實(shí)現(xiàn)信號(hào)機(jī)制,用于線程(任務(wù))間通信。本篇文章,我們來學(xué)習(xí) RT-Thread 信號(hào)的相關(guān)內(nèi)容,以及如何進(jìn)行
    發(fā)表于 03-31 14:01

    怎樣去操作RT-Thread系統(tǒng)的消息郵箱

    _EFULL 。接收郵件過程中,當(dāng)郵箱中不存在郵件且超時(shí)時(shí)間不為 0 時(shí),郵件收取過程將變成阻塞方式。 此時(shí),只能由線程進(jìn)行郵件的收取。2. 郵箱控制塊RT-Thread
    發(fā)表于 03-31 14:29

    如何將郵箱、消息隊(duì)列與信號(hào)用于RT-Thread線程間的通信呢

    1、RT-Thread操作系統(tǒng)的線程間通信RT-Thread 操作系統(tǒng)的郵箱用于線程間通信,特點(diǎn)是開銷比較低,效率較高。郵箱中的每一封郵件只能容納固定的 4 字節(jié)內(nèi)容(針對(duì) 32 位處
    發(fā)表于 04-15 15:36

    簡(jiǎn)述Kconfig在RT-Thread系統(tǒng)上的工作機(jī)制

    1、Kconfig在RT-Thread中的工作機(jī)制C語言項(xiàng)目的裁剪配置本質(zhì)上通過條件編譯和宏的展開來實(shí)現(xiàn)的,RT-Thread借助Kconfig這套
    發(fā)表于 05-09 14:56

    有關(guān)RT-Thread操作系統(tǒng)中郵箱接口的詳細(xì)描述

    郵箱是一種簡(jiǎn)單的線程間消息傳遞方式,在 RT-Thread 操作系統(tǒng)的實(shí)現(xiàn)中能夠一次傳遞 4 字節(jié)郵件, 并且郵箱具備一定的存儲(chǔ)功能,能夠緩存一定數(shù)量的郵件數(shù) (郵件數(shù)由創(chuàng)建、初始化
    發(fā)表于 08-19 15:09

    rt-thread郵箱-隊(duì)列區(qū)別是什么?

    今天研究了下rt-thread,里面的郵箱和隊(duì)列,除了消息尺寸不同之外還有別的差別嗎?怎么感覺像是同一種東西。
    發(fā)表于 10-31 08:29

    RT-Thread Studio 主要亮點(diǎn)功能

    RT-Thread Studio V1.1.0 快速上手體驗(yàn) RT-Thread Studio 主要包括工程創(chuàng)建和管理,代碼編輯,SDK管理
    的頭像 發(fā)表于 06-19 11:45 ?5897次閱讀

    比較一下Freertos和RT-Thread

    RT-Thread 內(nèi)核,是 RT-Thread 的核心部分,包括了內(nèi)核系統(tǒng)中對(duì)象的實(shí)現(xiàn),例如多線程及其調(diào)度、信號(hào)量、郵箱、消息隊(duì)列、內(nèi)存管理
    的頭像 發(fā)表于 04-26 15:44 ?5322次閱讀

    RT-Thread全球技術(shù)大會(huì):螢石EZloT SDK對(duì)RT-Thread的支持以及多芯片平臺(tái)管理策略

    RT-Thread全球技術(shù)大會(huì):螢石EZloT SDK對(duì)RT-Thread的支持以及多芯片平臺(tái)管理策略 ? ? ? ? ? 審核編輯:彭靜 ?
    的頭像 發(fā)表于 05-27 11:55 ?1727次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術(shù)大會(huì):螢石EZloT SDK對(duì)<b class='flag-5'>RT-Thread</b>的支持<b class='flag-5'>以及</b>多芯片平臺(tái)<b class='flag-5'>管理</b>策略

    RT-Thread全球技術(shù)大會(huì):Kconfig在RT-Thread中的工作機(jī)制

    RT-Thread全球技術(shù)大會(huì):Kconfig在RT-Thread中的工作機(jī)制 ? ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 14:49 ?1540次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術(shù)大會(huì):Kconfig在<b class='flag-5'>RT-Thread</b>中的<b class='flag-5'>工作</b><b class='flag-5'>機(jī)制</b>

    RT-Thread文檔_中斷管理

    RT-Thread文檔_中斷管理
    發(fā)表于 02-22 18:30 ?1次下載
    <b class='flag-5'>RT-Thread</b>文檔_中斷<b class='flag-5'>管理</b>