在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    文章

    17358

    瀏覽量

    352806
  • 嵌入式
    +關注

    關注

    5095

    文章

    19189

    瀏覽量

    307993
  • C語言
    +關注

    關注

    180

    文章

    7615

    瀏覽量

    137841

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

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

收藏 人收藏

    評論

    相關推薦

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

    。 這些基礎知識有助于更好地理解嵌入式系統的工作原理。 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 ?768次閱讀

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

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

    嵌入式開發常見問題排查

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

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

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

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

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

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

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

    嵌入式開發前景怎么樣?

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

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

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

    C語言嵌入式開發中的關鍵編譯器角色

    嵌入式程序開發跟硬件密切相關,需要使用C語言來讀寫底層寄存器、存取數據、控制硬件等,C語言和硬件
    發表于 04-26 14:53 ?707次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>嵌入式開發</b>中的關鍵編譯器角色

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統是當今科技領域的核心,而C語言則是
    發表于 04-07 16:03

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統是當今科技領域的核心,而C語言則是
    發表于 03-25 14:12

    fpga是嵌入式開發

    FPGA(現場可編程門陣列)與嵌入式開發之間確實存在一定的關聯,但它們在本質上是兩個不同的領域。
    的頭像 發表于 03-15 14:18 ?1164次閱讀
    主站蜘蛛池模板: 2021色噜噜狠狠综曰曰曰 | 色香天天 | 成人久久伊人精品伊人 | 免费看大尺度视频在线观看 | 在线观看视频一区二区 | 一级爱片 | 韩国r天堂 | 日日日日人人人夜夜夜2017 | 国产一卡二卡≡卡四卡无人 | 亚洲人成在线精品不卡网 | 色日韩在线 | 免费91视频 | 乱人伦xxxx国语对白 | 伊人狠狠丁香婷婷综合色 | 日本一区三区二区三区四区 | 天天看a | 最近2018中文字幕免费视频 | 性做久久久久久久免费观看 | 日日干天天爽 | 色屋视频| 天天舔夜夜操 | 亚洲久久草 | 色婷婷久久免费网站 | 最近最新中文字幕在线第一页 | 成人国产激情福利久久精品 | 国产一卡二卡≡卡四卡无人 | 18毛片| 欧美午夜寂寞影院安卓列表 | 国产女人视频免费观看 | 久久精品视频9 | 12306影院午夜入口 | 岛国大片在线 | 全国男人天堂网 | 视频在线二区 | 天堂网www| 一级特黄特黄的大片免费 | 亚洲图片欧美色图 | 色屋在线| 特黄特黄一级高清免费大片 | 天天爽天天爱 | xx网成人|