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

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

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

51單片機(jī)上跑RTOS會(huì)有意義嗎?

strongerHuang ? 來(lái)源:strongerHuang ? 作者:strongerHuang ? 2021-05-27 17:34 ? 次閱讀

最近看見(jiàn)我的一個(gè)技術(shù)交流群在討論一個(gè)問(wèn)題:在51單片機(jī)上跑RTOS有沒(méi)有意義?

今天就來(lái)圍繞51和RTOS展開(kāi)講講。

1關(guān)于51單片機(jī)及性能和資源

51單片機(jī)可以說(shuō)是我們這一代人的經(jīng)典,因?yàn)樗Y源不是那么多,而且相對(duì)簡(jiǎn)單,是很多初學(xué)者的入門(mén)必選之一。

1.51單片機(jī)種類51單片機(jī)的種類很多,我們這里是一種籠統(tǒng)的叫法,通常來(lái)說(shuō)指的是8位MCU。

比如早期市面上常見(jiàn)的:英特爾的80C51系列、 愛(ài)特梅爾的AT89C51系列、 國(guó)產(chǎn)宏晶的STC89C51系列、STM8系列,還有恩智浦、微芯等這些公司都有51單片機(jī)。

其實(shí),早期很多做通用MCU的半導(dǎo)體公司,自家都有51單片機(jī)系列,只是隨著32位單片機(jī)的出現(xiàn),很多以前的51單片機(jī)逐漸離開(kāi)了大家的視野。

2.51單片機(jī)的性能再說(shuō)下51單片機(jī)的性能,性能主要是主頻(或者時(shí)鐘頻率),當(dāng)然還有一些其他因素決定性能,比如總線位寬。(可以參看文章《CPU性能由主頻決定嗎?》)

目前51單片機(jī)的主頻通常從幾兆到幾十兆,比如STC89C51的主頻可以高達(dá)48M。

48M的速度,按理說(shuō)也不低了,這個(gè)速度如果32位MCU,跑GUI基本都可以了。

但是,這個(gè)是在8位的51單片機(jī)上,因?yàn)榭偩€數(shù)據(jù)位寬的限制、沒(méi)有預(yù)處理操作等,其性能相對(duì)32位來(lái)說(shuō)還是低了很多。

這么說(shuō)吧,同樣跑一段程序,以48M運(yùn)行的51單片機(jī),是跑不過(guò)同主頻(48M)的32位機(jī)(比如STM32)。

當(dāng)然,51單片機(jī)如果以最高48M主頻運(yùn)行,其性能跑RTOS還是足足有余。

3.存儲(chǔ)資源我們通常說(shuō)的資源,其實(shí)還包含外設(shè)資源,比如ADCI2C等。因?yàn)檫@里討論的是RTOS,這里主要說(shuō)Flash(用于代碼存儲(chǔ))和RAM(運(yùn)行存儲(chǔ))的資源。

早期的51單片機(jī),因?yàn)榇鎯?chǔ)技術(shù)的限制(生產(chǎn)Flash和RAM成本很高),其資源相對(duì)都很小。比如經(jīng)典的AT89C51其內(nèi)部只有:128Bit的RAM,4K的Falsh。

但隨著存儲(chǔ)技術(shù)的成熟,現(xiàn)在51單片機(jī)存儲(chǔ)容量都普遍增多了,比如市面上流行的STC單片機(jī),其內(nèi)部高達(dá)8K的RAM,以及64k的Flash.

2適用于51單片機(jī)的RTOS有哪些?

上面說(shuō)了51的性能和資源,再來(lái)說(shuō)說(shuō)哪些RTOS可以在51單片機(jī)上運(yùn)行。

早期的RTOS,很多都對(duì)流行的51單片機(jī)做了適配(底層驅(qū)動(dòng),例程),即使沒(méi)有做適配,也做了一些通用的驅(qū)動(dòng)接口,供更多人選擇。

因?yàn)楝F(xiàn)在的芯片制造技術(shù)成熟了,然后隨著需求的增加(軟件資源更豐富、要求更高),很多RTOS都普遍偏向于32位的MCU,導(dǎo)致有一些RTOS對(duì)51單片機(jī)不是那么友好。

當(dāng)然,目前可用于51單片機(jī)的RTOS依然有很多,只是有一些相對(duì)小眾化,大家不是那么了解。

像Small RTOS、Keil 自帶的RTX51 Tiny、大家熟悉的uCOS等這些都可以運(yùn)行在51單片機(jī)上的RTOS。

之前給大家分享過(guò)一篇文章《STM8都支持哪些RTOS》中有描述,像AtomThreads、 Chibios、 CMX-Tiny+、 embOS這些RTOS都對(duì)51單片機(jī)做了適配。

我之前學(xué)習(xí)51的時(shí)候,在上面跑過(guò)高度裁剪的uCOS,簡(jiǎn)單跑兩個(gè)任務(wù)還是問(wèn)題不大,包括我給大家分享的文章《在STM8上運(yùn)行的Atomthreads》還提供了對(duì)應(yīng)的實(shí)例供大家學(xué)習(xí)。

3在51單片機(jī)上跑RTOS有沒(méi)有意義?

可能很多人認(rèn)為:現(xiàn)在是32位單片機(jī)的天下,再加上51單片機(jī)的性能和資源都很少,跑RTOS很吃力,所以在51單片機(jī)上跑RTOS沒(méi)有意義了。

是的,確實(shí)存在這樣的問(wèn)題。但是,我認(rèn)為有沒(méi)有意義要看情況,在某些情況下,在51單片機(jī)上跑RTOS依然有意義。

1.意義不大的情況因?yàn)槟壳按_實(shí)32位MCU存在各方面優(yōu)勢(shì)的情況,51單片機(jī)存在后天的不足,目前很多情況下,在51單片機(jī)上跑RTOS其意義確實(shí)顯得不是那么大。

比如:一個(gè)包含各種外設(shè)模塊,處理各種業(yè)務(wù)邏輯大型的系統(tǒng),這種情況下不適合用51單片機(jī)以及在上面跑RTOS。

還比如:一個(gè)功能非常簡(jiǎn)單的系統(tǒng),像采集一個(gè)溫度值,通過(guò)串口傳輸出去的單元系統(tǒng)。因?yàn)楹?jiǎn)單項(xiàng)目使用RTOS會(huì)額外增加系統(tǒng)的復(fù)雜程度。

2.有意義的情況我認(rèn)為,一個(gè)東西的存在必然有它存在的意義。

像用于學(xué)習(xí),我覺(jué)得意義還是比較大,畢竟RTOS編程思維和裸機(jī)思維方式差異比較大。

可能有些初學(xué)者目前主要掌握了51單片機(jī)的知識(shí),想學(xué)習(xí)RTOS,這個(gè)時(shí)候在51單片機(jī)上跑RTOS就顯得有意義。

還比如:一個(gè)相對(duì)不是那么復(fù)雜的項(xiàng)目,它的外設(shè)模塊(或資源)用的比較多,同時(shí),整體業(yè)務(wù)邏輯不是那么復(fù)雜,也不要求處理太多事件。像采集溫度、濕度傳輸、按鍵檢測(cè)等小項(xiàng)目,通過(guò)RTOS各任務(wù)模塊化運(yùn)行,我覺(jué)得還是比較有意義。

最后,還是那句話,有沒(méi)有意義,還與你實(shí)際情況有關(guān)。

原文標(biāo)題:在51單片機(jī)上跑RTOS有沒(méi)有意義?

文章出處:【微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628342
  • RTOS
    +關(guān)注

    關(guān)注

    20

    文章

    804

    瀏覽量

    119113

原文標(biāo)題:在51單片機(jī)上跑RTOS有沒(méi)有意義?

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    51單片機(jī)驅(qū)動(dòng)

    電子發(fā)燒友網(wǎng)站提供《51單片機(jī)驅(qū)動(dòng).exe》資料免費(fèi)下載
    發(fā)表于 09-20 11:46 ?0次下載

    51系列單片機(jī)復(fù)位的作用是什么

    51系列單片機(jī)是一種廣泛應(yīng)用的微控制器,其復(fù)位功能對(duì)于系統(tǒng)的穩(wěn)定運(yùn)行至關(guān)重要。 一、51系列單片機(jī)復(fù)位的作用 系統(tǒng)初始化 當(dāng)51系列
    的頭像 發(fā)表于 08-06 10:53 ?276次閱讀

    雙電源無(wú)擾動(dòng)快切裝置的小型化設(shè)計(jì)是否有意義

    快切裝置的小型化設(shè)計(jì)對(duì)于安裝空間有限的改造場(chǎng)景是非常有意義的,DCM635系列是目前業(yè)內(nèi)體積最小的快切裝置,前面板長(zhǎng)266mm,寬146mm,裝置深210.5mm,安裝與進(jìn)線柜或母聯(lián)柜上層二次控制室面板上,小型化設(shè)計(jì)節(jié)省安裝空間,尤其適用于改造項(xiàng)目中,開(kāi)關(guān)柜前面板開(kāi)孔尺寸有限的場(chǎng)景。
    的頭像 發(fā)表于 07-19 11:30 ?197次閱讀
    雙電源無(wú)擾動(dòng)快切裝置的小型化設(shè)計(jì)是否<b class='flag-5'>有意義</b>?

    ESP32可不可以直接原版freertos呢?

    就算這沒(méi)有意義,我就想知道能不能? 哪怕沒(méi)有wifi, 只有單核,能不能用原版的freertos編譯一個(gè)LED閃爍然后在ESP32上呢?
    發(fā)表于 06-24 06:08

    【2023電子工程師大會(huì)】單片機(jī)/RTOS/Linux全棧工程師

    【2023電子工程師大會(huì)】單片機(jī)/RTOS/Linux全棧工程師修煉之路ppt
    發(fā)表于 01-03 16:31 ?39次下載

    stc51單片機(jī)怎么燒錄

    燒錄STC51單片機(jī)是一項(xiàng)常見(jiàn)的操作,下面將詳細(xì)介紹如何進(jìn)行燒錄以及所需的步驟和工具。本文將按照如下順序進(jìn)行詳解: STC51單片機(jī)簡(jiǎn)介 硬件燒錄工具介紹 硬件燒錄步驟 軟件燒錄工具介
    的頭像 發(fā)表于 01-02 17:41 ?2321次閱讀

    基于51單片機(jī)的電子鬧鐘設(shè)計(jì)

    基于51單片機(jī)的電子鬧鐘設(shè)計(jì)(實(shí)物)
    發(fā)表于 01-02 09:58 ?4次下載

    請(qǐng)問(wèn)同步電機(jī)使用矢量變頻器拖動(dòng)有意義嗎?

    ,此時(shí)輸出電壓增加以求恢復(fù)轉(zhuǎn)速,同時(shí)內(nèi)環(huán)限制電流不能過(guò)載。但是在同步電機(jī)的情況下,除非負(fù)載達(dá)到失步,其轉(zhuǎn)速是與電壓無(wú)關(guān)的,是否可以認(rèn)為此時(shí)外環(huán)是起不到作用的,只有內(nèi)環(huán)有作用,這豈不是可以認(rèn)為用矢量變頻器拖動(dòng)同步電動(dòng)機(jī)是沒(méi)有意義的?或者說(shuō)是一種浪費(fèi)?
    發(fā)表于 11-16 06:49

    51單片機(jī)可以操作系統(tǒng)嗎?

    據(jù)說(shuō)單片機(jī)可以上操作系統(tǒng),那51單片機(jī)可以上操作系統(tǒng)嗎,感覺(jué)51單片機(jī)性能那么差,還能跑操作系統(tǒng)? 如果可以的話都可以
    發(fā)表于 11-06 06:59

    基于51單片機(jī)的電子鐘鬧鐘溫度顯示設(shè)計(jì)

    基于51單片機(jī)AT89C51/52(與AT89S51/52、AT89C51/52、STC89C51
    的頭像 發(fā)表于 11-02 09:07 ?1733次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的電子鐘鬧鐘溫度顯示設(shè)計(jì)

    基于嵌入式RTOS在MSP430單片機(jī)上的實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《基于嵌入式RTOS在MSP430單片機(jī)上的實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 10-27 14:13 ?2次下載
    基于嵌入式<b class='flag-5'>RTOS</b>在MSP430<b class='flag-5'>單片機(jī)上</b>的實(shí)現(xiàn)

    如何把程序通過(guò)燒寫(xiě)器加到at89c51單片機(jī)上?

    誰(shuí)知道要把程序通過(guò)燒寫(xiě)器加到at89c51單片機(jī)上,那么at89c51的電路該怎么連接才能把這個(gè)程序加進(jìn)去,求高人指點(diǎn),感激不盡
    發(fā)表于 10-26 06:54

    51單片機(jī)上就一個(gè)vcc和GND,怎么連接多個(gè)舵機(jī)的電源線?

    51單片機(jī)上就一個(gè)vcc和GND,怎么連接多個(gè)舵機(jī)的電源線
    發(fā)表于 10-17 08:27

    如何在單片機(jī)上用摁鍵編輯信息可以在單片機(jī)上顯示?

    做一個(gè)設(shè)計(jì)求指導(dǎo),就是想在單片機(jī)上用摁鍵編輯信息可以在單片機(jī)上顯示,并且能發(fā)送到電腦上,還能收到電腦的的信息。
    發(fā)表于 09-28 06:37

    基于51單片機(jī)的路燈自動(dòng)開(kāi)關(guān)控制仿真設(shè)計(jì)

    需注意仿真中51單片機(jī)芯片是通用的,AT89C51,AT89C52都是51單片機(jī)的具體型號(hào),內(nèi)核是兼容的。相同的原理圖里,無(wú)論stc還是at
    的頭像 發(fā)表于 09-24 14:09 ?1279次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的路燈自動(dòng)開(kāi)關(guān)控制仿真設(shè)計(jì)