久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 如何最大限度地提高物聯(lián)網(wǎng)項(xiàng)目的效率

如何最大限度地提高物聯(lián)網(wǎng)項(xiàng)目的效率

來(lái)源:千鋒教育
發(fā)布人:syq
時(shí)間: 2022-07-21 16:02:00 1658390520

  如何最大限度地提高物聯(lián)網(wǎng)項(xiàng)目的效率?對(duì)于閱讀最新微控制器數(shù)據(jù)表的開(kāi)發(fā)人員來(lái)說(shuō),很容易假設(shè) CPU 資源的有效使用,包括內(nèi)存和時(shí)鐘周期,充其量只是當(dāng)今硬件的次要問(wèn)題。對(duì)于嵌入式開(kāi)發(fā)人員來(lái)說(shuō),現(xiàn)在可能比以往任何時(shí)候都更重要的是確保他們的軟件以最高效率運(yùn)行并且他們自己的時(shí)間以一種有效的方式度過(guò)。

如何最大限度地提高物聯(lián)網(wǎng)項(xiàng)目的效率

  在現(xiàn)代嵌入式系統(tǒng)上運(yùn)行的軟件往往來(lái)自多種來(lái)源。應(yīng)用程序開(kāi)發(fā)人員編寫(xiě)的代碼通常與來(lái)自 RTOS(實(shí)時(shí)操作系統(tǒng))提供商的現(xiàn)成軟件組件相結(jié)合,而后者又可能使用最初由半導(dǎo)體公司提供的驅(qū)動(dòng)程序代碼??梢跃帉?xiě)每段代碼來(lái)優(yōu)化效率,但本文將重點(diǎn)關(guān)注現(xiàn)成軟件組件的效率。特別是兩個(gè)組件將作為此處介紹的資源效率檢查的基礎(chǔ):實(shí)時(shí)內(nèi)核和事務(wù)文件系統(tǒng)。

  實(shí)時(shí)內(nèi)核:高效系統(tǒng)的核心

  實(shí)時(shí)內(nèi)核是當(dāng)今許多嵌入式系統(tǒng)中運(yùn)行的軟件的核心。簡(jiǎn)單來(lái)說(shuō),內(nèi)核就是一個(gè)調(diào)度器;為基于內(nèi)核的系統(tǒng)編寫(xiě)應(yīng)用程序代碼的開(kāi)發(fā)人員將該代碼劃分為任務(wù),而內(nèi)核負(fù)責(zé)調(diào)度任務(wù)。因此,內(nèi)核是main()中無(wú)限循環(huán)的替代方案,在裸機(jī)嵌入式系統(tǒng)中常被用作主要的調(diào)度機(jī)制。

  使用實(shí)時(shí)內(nèi)核有很多好處,包括提高效率。選擇基于內(nèi)核的應(yīng)用程序代碼的嵌入式開(kāi)發(fā)人員可以?xún)?yōu)化系統(tǒng)中處理器資源的使用,同時(shí)更有效地利用他們的時(shí)間。然而,并不是所有的內(nèi)核都是平等的,并且僅僅決定為一個(gè)新項(xiàng)目采用一個(gè)內(nèi)核并不能保證效率的提高。

  核心可能不同以及 CPU 資源可以以不同程度的效率使用的關(guān)鍵領(lǐng)域是調(diào)度。通過(guò)提供允許任務(wù)響應(yīng)事件運(yùn)行的智能調(diào)度機(jī)制,內(nèi)核幫助開(kāi)發(fā)人員在無(wú)限循環(huán)中實(shí)現(xiàn)效率提升,其中任務(wù)(或函數(shù))以固定順序執(zhí)行?;趦?nèi)核的應(yīng)用程序的確切效率部分取決于其調(diào)度程序的實(shí)現(xiàn)方式。內(nèi)核的調(diào)度程序——它只是決定何時(shí)運(yùn)行每個(gè)任務(wù)的一段代碼——最終會(huì)產(chǎn)生開(kāi)銷(xiāo),而這種開(kāi)銷(xiāo)并不會(huì)抵消從裸機(jī)系統(tǒng)轉(zhuǎn)移所獲得的好處。

  內(nèi)核可以通過(guò)兩種方式分配多任務(wù)處理所需的基本資源:分配這些資源的責(zé)任可以留給應(yīng)用程序代碼,或者內(nèi)核本身可以處理分配。任何內(nèi)核中都不可避免地存在某些變量和數(shù)據(jù)結(jié)構(gòu),因?yàn)樗鼈儗?duì)于多任務(wù)服務(wù)的實(shí)現(xiàn)至關(guān)重要,因此它們完全位于內(nèi)核范圍內(nèi)。但是對(duì)于用于記錄每個(gè)任務(wù)狀態(tài)的TCB(或任務(wù)控制塊)等數(shù)據(jù)結(jié)構(gòu),甚至對(duì)于上下文切換時(shí)存儲(chǔ)CPU寄存器值的棧,內(nèi)核提供者可以選擇內(nèi)部分配或者依賴(lài)應(yīng)用程序代碼。

  文件系統(tǒng)效率

  大多數(shù)設(shè)備都需要存儲(chǔ)數(shù)據(jù)和記錄事件的選項(xiàng),或者作為傳輸?shù)皆浦暗呐R時(shí)休息場(chǎng)所,或者更永久地保存在設(shè)備上。為此目的設(shè)計(jì)的任何代碼都是文件系統(tǒng),無(wú)論是由嵌入式開(kāi)發(fā)人員編寫(xiě)和測(cè)試,還是作為 RTOS 解決方案的一部分提供。文件系統(tǒng)還可以提供提高效率的選項(xiàng)。這些范圍從簡(jiǎn)單(要保留多少內(nèi)存緩沖區(qū))到復(fù)雜(是否支持完整的 POSIX 操作)。

  首先,一些 RTOS 提供類(lèi)似 FAT 的文件系統(tǒng)。這包括使用標(biāo)準(zhǔn)媒體格式(包括文件夾和文件)執(zhí)行 I/O 的代碼。通常,這不是非??啥ㄖ频模⑶宜苌倌芊乐闺娫垂收掀陂g的數(shù)據(jù)丟失。另一種選擇是 Datalight 的 Reliance Edge,它使用事務(wù)點(diǎn)來(lái)提供電源故障安全環(huán)境。這里令人興奮的是設(shè)計(jì)的靈活性如何提高效率。

  Reliance Edge 提供存儲(chǔ)選項(xiàng)的自定義。在稱(chēng)為“文件系統(tǒng)要素”的最小用例中,不使用文件夾甚至文件名。數(shù)據(jù)存儲(chǔ)在編號(hào)的 inode 中。這些位置的數(shù)量是在編譯時(shí)確定的,但大小不是預(yù)先確定的。一個(gè)“文件”可以包含比其他“文件”更多的數(shù)據(jù),并且僅當(dāng)“文件”的總大小達(dá)到閾值時(shí)媒體才滿(mǎn)。文件也可以自由截?cái)?、讀取和寫(xiě)入。

  除了資源使用問(wèn)題,多年來(lái),效率一直是開(kāi)發(fā)人員購(gòu)買(mǎi)內(nèi)核、文件系統(tǒng)和其他軟件模塊的首要考慮因素。這是因?yàn)橛糜谧C明采用此類(lèi)模塊的理由通常是從頭開(kāi)始編寫(xiě)等效代碼將浪費(fèi)時(shí)間。換句話說(shuō),應(yīng)用程序開(kāi)發(fā)人員的時(shí)間最有效地用于編寫(xiě)應(yīng)用程序,而不是花費(fèi)數(shù)萬(wàn)行基礎(chǔ)設(shè)施代碼。

  如何最大限度地提高物聯(lián)網(wǎng)項(xiàng)目的效率?主要是通過(guò)選擇高質(zhì)量的現(xiàn)成組件作為其項(xiàng)目的基礎(chǔ),嵌入式開(kāi)發(fā)團(tuán)隊(duì)可以確保有效利用自己的資源以及嵌入式硬件的資源,并可以專(zhuān)注于編寫(xiě)創(chuàng)新的應(yīng)用程序代碼以提供他們的工作站站穩(wěn)腳跟。更多關(guān)于物聯(lián)網(wǎng)培訓(xùn)的問(wèn)題,歡迎咨詢(xún)千鋒教育在線名師,如果想要了解我們的師資、課程、項(xiàng)目實(shí)操的話可以點(diǎn)擊咨詢(xún)課程顧問(wèn),獲取試聽(tīng)資格來(lái)試聽(tīng)我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門(mén)到精通。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
什么是PlatformIo?

PlatformIO是什么PlatformIO是一個(gè)全面的物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái),它為眾多硬件平臺(tái)和開(kāi)發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡(jiǎn)化了開(kāi)發(fā)過(guò)程,并能兼容各種...詳情>>

2023-10-14 12:55:06
云快照與自動(dòng)備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時(shí)間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動(dòng)備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢(shì)和特點(diǎn)。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問(wèn)題是什么?

ORM(對(duì)象關(guān)系映射)解決的主要問(wèn)題是將關(guān)系數(shù)據(jù)庫(kù)與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)中,數(shù)據(jù)以表格的形式存儲(chǔ),而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
Go為什么不支持三元運(yùn)算符?

Go為什么不支持三元運(yùn)算符Go語(yǔ)言是一種以簡(jiǎn)潔和有效性為目標(biāo)的編程語(yǔ)言,因此在設(shè)計(jì)過(guò)程中,Go的設(shè)計(jì)者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

2023-10-14 12:12:36