女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

不是只有C語言可以用來搞嵌入式開發嗎?

MCU開發加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2021-03-04 10:03 ? 次閱讀

背景介紹

“你的下一個項目準備選用什么語言?”如果誰這樣去問一個嵌入式工程師,可能會顯得有點多余。不是只有C語言可以用來搞嵌入式開發嗎?

差不多十多年前,情況的確是這樣。那時候還沒有一個像ARM Cortex-M這樣能占據半壁江山的統一核心,嵌入式處理器碎片化極為嚴重。絕大多數MCU本身性能不高,各種資源都比較有限,業務模型通常也比較簡單,連RTOS都用不上,直接裸奔即可解決大部分業務邏輯,嵌入式工程師絕大多數時間都在跟原廠的底層驅動作斗爭。也只有C這樣接近底層,各種編譯鏈極其完善的語言才能得到所有人的認可。

隨著ARM Cortex-M核的MCU逐漸占據市場主導地位, MCU的性能逐漸追上了90年代中后期的通用CPU,使用原廠提供的API來進行開發,逐漸取代了寄存器開發方式,而底層硬件的操作變得大同小異。

最近幾年,隨著物聯網IOTAI這些概念越來越火熱,MCU的業務模型也開始變得越來越復雜,各種通信協議棧被塞了進去,各種復雜算法被塞了進去,越來越多非EE出身的程序員DIY愛好者也開始進入嵌入式開發領域。

市場需求

有需求就有市場,Arduino就是在這樣的背景下誕生的。 一些新的開發者對MCU底層硬件細節并不關心,只想快速實現自己的想法和創意,Arduino通過C++對底層硬件進行層層包裝,給最終用戶提供了一套極為簡潔的API。簡潔到什么程度?只要稍微學習,中小學生都可以做出像模像樣的作品。 盡管Arduino這種將硬件API化的開發方式讓資深嵌入式工程師頗為“瞧不上”,它卻實實在在地掀起了一陣變革的風向。無論業界巨頭還是創新者,都開始幻想著能有一套較為統一的嵌入式開發方法。 Arm基于C++做了一套mbed框架,采用類似Arduino的簡潔API,為多種Arm平臺做了適配移植。 這都是一些較為傳統的嘗試,還有一些更為激進的極客開發者,覺得既然硬件操作都已經抽象為標準API了,我為什么還要受限于偏底層的C和讓人無比困惑的C++?為什么不可以用我熟悉的語言去操作MCU?事實證明,這些想法并不是天方夜譚,以下僅列出部分現代語言的MCU操作框架:

Python: MicroPython

JavaScript: Espruino

Golang: TinyGo

Swift語言介紹

既然已經有各種新的嘗試了,為什么又要多一個Swift?而且聽到Swift,大家第一反應可能是“那不是Mac和iOS的專用語言嗎?” 其實不然,Swift的創始人Chris Lattner對Swift愿景便是“統治世界” 它從最開始的設計就是要成為一門系統級編程語言,源代碼全部開放,由社區主導開發進化。

以下僅列出一些Swift的特性:

Swift公布于2014年,極為年輕,無歷史包袱,廣泛吸收了近年各種編程語言的優勢

純編譯型靜態語言,無GC機制,這是實時系統的必要條件

支持系統級開發,直接生成對應機器碼,使用ARC機制來實現內存管理,通過一個較小的開銷來降低開發者的心智負擔

代碼范式多樣,支持面向對象,面向協議,函數式編程

學習曲線平滑,可作為初學者的第一門編程語言

語法優雅,適合各種挑剔的程序員

背景雄厚,發展前景無限

綜合以上特性,可以說Swift是為數不多的極其適合MCU設備的現代化語言。 另外還有一個Rust,但Rust的學習曲線極為陡峭,喜歡嚴厲地“虐待”開發者來保證代碼的正確性,這又有悖于我們簡化MCU應用層編程的初衷。 其余絕大多數現代化語言中,要么帶有嵌入式中絕對不能接受的GC機制,要么為解釋性語言,效率極低(即便如此,MicroPython的應用場景還是越來越豐富,說明大家對易用性的需求越來越強烈)。 相信隨著時間的推移,Swift在嵌入式上的可用性會逐漸完善。

責任編輯:lq

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

    關注

    146

    文章

    17831

    瀏覽量

    360317
  • 嵌入式
    +關注

    關注

    5141

    文章

    19526

    瀏覽量

    314875
  • C語言
    +關注

    關注

    180

    文章

    7630

    瀏覽量

    140274

原文標題:將Swift語言應用到MCU開發中(上)

文章出處:【微信號:mcugeek,微信公眾號:MCU開發加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    嵌入式開發入門指南:從零開始學習嵌入式

    特定功能的計算機系統,廣泛應用于智能家居、工業控制、醫療設備、車載系統等領域。 2. 學習嵌入式開發的前置知識熟悉C語言編程掌握基本的數據結構與算法了解數字電路與微控制器原理熟悉Linux操作系統
    發表于 05-15 09:29

    嵌入式開發:高門檻的系統性工程與 996 的行業困局

    嵌入式開發的門檻,往往被培訓機構和表象所掩蓋。許多人誤以為 “用 C 語言寫個跑在 ARM 上的程序” 就是嵌入式,實則連皮毛都未觸及。真正的嵌入式
    的頭像 發表于 04-09 11:06 ?248次閱讀
    <b class='flag-5'>嵌入式開發</b>:高門檻的系統性工程與 996 的行業困局

    BlackBerry QNX推出通用嵌入式開發平臺

    BlackBerry有限公司(紐交所代碼:BB;多倫多證券交易所代碼:BB)旗下部門QNX今日宣布推出QNX 通用嵌入式開發平臺(General Embedded Development
    的頭像 發表于 03-11 16:04 ?536次閱讀

    如何成為嵌入式開發工程師?

    和使用方法。- 掌握接口標準和總線協議,如UART、SPI、I2C、CAN等。 3. 編程能力:- 精通至少一種編程語言,尤其是C/C++,因為它們是
    發表于 02-19 10:39

    為什么嵌入式驅動開發工程師可以拿高薪?

    。 這些基礎知識有助于更好地理解嵌入式系統的工作原理。 2)精通編程語言: 在嵌入式開發中,C語言是最重要的編程
    發表于 01-07 16:56

    嵌入式開發必備-RK3562演示Linux常用系統查詢命令(上)觸覺智能出品

    實用干貨!嵌入式開發學習必備-RK3562演示Linux常用系統查詢命令(上)關注觸覺智能持續為大家帶來更多嵌入式開發內容
    的頭像 發表于 12-31 10:51 ?117次閱讀
    <b class='flag-5'>嵌入式開發</b>必備-RK3562演示Linux常用系統查詢命令(上)觸覺智能出品

    新手怎么學嵌入式?

    的運行機制。例如,了解數據結構中的鏈表、棧和隊列,對于在嵌入式編程中管理數據非常有幫助。 2. 選擇合適的編程語言 嵌入式開發中常用的編程語言
    發表于 12-12 10:51

    如何使用 RISC-V 進行嵌入式開發

    RISC-V指令集等因素。 安裝IDE :可以選擇基于Eclipse的Nuclei Studio IDE,它支持RISC-V架構的嵌入式開發
    的頭像 發表于 12-11 17:32 ?1664次閱讀

    零基礎嵌入式開發學習路線

    的數據結構與算法能夠提升運行效率,同樣不好的數據結構與算法也會造成空間的浪費。對于嵌入式開發來說,掌握一些比較基礎的數據結構還是非常有必要的。比如線性結構如鏈表、棧、隊列、樹、圖等。可以通過這些邏輯
    發表于 10-25 15:55

    嵌入式開發常見問題排查

    嵌入式開發問題排查很多人認為嵌入式開發很難,主要是因為在這個過程中常常會遇到各式各樣的問題。這些問題的復雜性和多樣性使得許多人感到困惑和無所適從。然而,如果將這些問題逐一拆解,實際上大部分都可以
    的頭像 發表于 09-22 08:04 ?708次閱讀
    <b class='flag-5'>嵌入式開發</b>常見問題排查

    嵌入式開發常用軟件有哪些?

    的擴展程序商店安裝擴展以拓展軟件功能。 2.Visual Studio 簡稱VS: 它是一個IDE,集成開發環境。驗證C程序或是進行c#程序開發
    發表于 09-09 15:22

    AWFlow:內置豐富的功能節點,簡化嵌入式開發流程

    AWFlow突破傳統C語言限制的嵌入式開發框架,通過封裝硬件驅動和系統平臺,集成通用軟件功能與通信協議,助力開發者專注于核心業務,提升效率,縮短周期,迅速適應市場變化。在傳統的
    的頭像 發表于 08-09 08:25 ?477次閱讀
    AWFlow:內置豐富的功能節點,簡化<b class='flag-5'>嵌入式開發</b>流程

    聚焦嵌入式開發中的合規性工具、項目管理工具、版本迭代工具應用

    日前,龍智攜嵌入式開發及管理解決方案亮相2024上海國際嵌入式展(embedded world China 2024)。展會期間,我們對話了多位龍智資深DevSecOps顧問及技術支持專家
    的頭像 發表于 07-29 15:15 ?963次閱讀

    嵌入式開發前景怎么樣?

    嵌入式開發前景非常廣闊,這主要得益于物聯網、人工智能、大數據等技術的快速發展,以及嵌入式系統在各個領域的廣泛應用。以下是對嵌入式開發前景的詳細分析
    的頭像 發表于 07-10 09:00 ?4122次閱讀
    <b class='flag-5'>嵌入式開發</b>前景怎么樣?

    嵌入式開發就業前景怎么樣?

    嵌入式開發就業前景怎么樣?隨著科技的飛速發展,嵌入式開發在各個領域的應用越來越廣泛,因此嵌入式開發的就業前景也備受關注。今天將從智能家居、醫療設備、工業控制、汽車電子、航空航天等方面,探討嵌入
    發表于 06-07 14:51