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

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

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

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

不是只有C語(yǔ)言可以用來(lái)搞嵌入式開(kāi)發(fā)嗎?

MCU開(kāi)發(fā)加油站 ? 來(lái)源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2021-03-04 10:03 ? 次閱讀

背景介紹

“你的下一個(gè)項(xiàng)目準(zhǔn)備選用什么語(yǔ)言?”如果誰(shuí)這樣去問(wèn)一個(gè)嵌入式工程師,可能會(huì)顯得有點(diǎn)多余。不是只有C語(yǔ)言可以用來(lái)搞嵌入式開(kāi)發(fā)嗎?

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

隨著ARM Cortex-M核的MCU逐漸占據(jù)市場(chǎng)主導(dǎo)地位, MCU的性能逐漸追上了90年代中后期的通用CPU,使用原廠提供的API來(lái)進(jìn)行開(kāi)發(fā),逐漸取代了寄存器開(kāi)發(fā)方式,而底層硬件的操作變得大同小異。

最近幾年,隨著物聯(lián)網(wǎng)IOTAI這些概念越來(lái)越火熱,MCU的業(yè)務(wù)模型也開(kāi)始變得越來(lái)越復(fù)雜,各種通信協(xié)議棧被塞了進(jìn)去,各種復(fù)雜算法被塞了進(jìn)去,越來(lái)越多非EE出身的程序員DIY愛(ài)好者也開(kāi)始進(jìn)入嵌入式開(kāi)發(fā)領(lǐng)域。

市場(chǎng)需求

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

Python: MicroPython

JavaScript: Espruino

Golang: TinyGo

Swift語(yǔ)言介紹

既然已經(jīng)有各種新的嘗試了,為什么又要多一個(gè)Swift?而且聽(tīng)到Swift,大家第一反應(yīng)可能是“那不是Mac和iOS的專用語(yǔ)言嗎?” 其實(shí)不然,Swift的創(chuàng)始人Chris Lattner對(duì)Swift愿景便是“統(tǒng)治世界” 它從最開(kāi)始的設(shè)計(jì)就是要成為一門系統(tǒng)級(jí)編程語(yǔ)言,源代碼全部開(kāi)放,由社區(qū)主導(dǎo)開(kāi)發(fā)進(jìn)化。

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

Swift公布于2014年,極為年輕,無(wú)歷史包袱,廣泛吸收了近年各種編程語(yǔ)言的優(yōu)勢(shì)

純編譯型靜態(tài)語(yǔ)言,無(wú)GC機(jī)制,這是實(shí)時(shí)系統(tǒng)的必要條件

支持系統(tǒng)級(jí)開(kāi)發(fā),直接生成對(duì)應(yīng)機(jī)器碼,使用ARC機(jī)制來(lái)實(shí)現(xiàn)內(nèi)存管理,通過(guò)一個(gè)較小的開(kāi)銷來(lái)降低開(kāi)發(fā)者的心智負(fù)擔(dān)

代碼范式多樣,支持面向?qū)ο螅嫦騾f(xié)議,函數(shù)式編程

學(xué)習(xí)曲線平滑,可作為初學(xué)者的第一門編程語(yǔ)言

語(yǔ)法優(yōu)雅,適合各種挑剔的程序員

背景雄厚,發(fā)展前景無(wú)限

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

責(zé)任編輯:lq

聲明:本文內(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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17870

    瀏覽量

    361117
  • 嵌入式
    +關(guān)注

    關(guān)注

    5142

    文章

    19561

    瀏覽量

    315403
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7630

    瀏覽量

    140553

原文標(biāo)題:將Swift語(yǔ)言應(yīng)用到MCU開(kāi)發(fā)中(上)

文章出處:【微信號(hào):mcugeek,微信公眾號(hào):MCU開(kāi)發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    嵌入式開(kāi)發(fā)入門指南:從零開(kāi)始學(xué)習(xí)嵌入式

    特定功能的計(jì)算機(jī)系統(tǒng),廣泛應(yīng)用于智能家居、工業(yè)控制、醫(yī)療設(shè)備、車載系統(tǒng)等領(lǐng)域。 2. 學(xué)習(xí)嵌入式開(kāi)發(fā)的前置知識(shí)熟悉C語(yǔ)言編程掌握基本的數(shù)據(jù)結(jié)構(gòu)與算法了解數(shù)字電路與微控制器原理熟悉Linux操作系統(tǒng)
    發(fā)表于 05-15 09:29

    嵌入式開(kāi)發(fā):高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

    嵌入式開(kāi)發(fā)的門檻,往往被培訓(xùn)機(jī)構(gòu)和表象所掩蓋。許多人誤以為 “用 C 語(yǔ)言寫(xiě)個(gè)跑在 ARM 上的程序” 就是嵌入式,實(shí)則連皮毛都未觸及。真正的嵌入式
    的頭像 發(fā)表于 04-09 11:06 ?270次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>:高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

    BlackBerry QNX推出通用嵌入式開(kāi)發(fā)平臺(tái)

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

    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開(kāi)發(fā)實(shí)戰(zhàn)正式出版

    尊敬的各位電子工程師、嵌入式開(kāi)發(fā)愛(ài)好者們:大家好!今天,我們懷著無(wú)比激動(dòng)與自豪的心情,向大家宣布一個(gè)重大喜訊——武漢芯源半導(dǎo)體的單片機(jī)CW32正式出書(shū)啦!《基于ARMCortex-M0+的CW32
    的頭像 發(fā)表于 03-03 15:15 ?574次閱讀
    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32<b class='flag-5'>嵌入式開(kāi)發(fā)</b>實(shí)戰(zhàn)正式出版

    如何成為嵌入式開(kāi)發(fā)工程師?

    和使用方法。- 掌握接口標(biāo)準(zhǔn)和總線協(xié)議,如UART、SPI、I2C、CAN等。 3. 編程能力:- 精通至少一種編程語(yǔ)言,尤其是C/C++,因?yàn)樗鼈兪?/div>
    發(fā)表于 02-19 10:39

    為什么嵌入式驅(qū)動(dòng)開(kāi)發(fā)工程師可以拿高薪?

    。 這些基礎(chǔ)知識(shí)有助于更好地理解嵌入式系統(tǒng)的工作原理。 2)精通編程語(yǔ)言: 在嵌入式開(kāi)發(fā)中,C語(yǔ)言是最重要的編程
    發(fā)表于 01-07 16:56

    嵌入式開(kāi)發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)觸覺(jué)智能出品

    實(shí)用干貨!嵌入式開(kāi)發(fā)學(xué)習(xí)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)關(guān)注觸覺(jué)智能持續(xù)為大家?guī)?lái)更多嵌入式開(kāi)發(fā)內(nèi)容
    的頭像 發(fā)表于 12-31 10:51 ?117次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)觸覺(jué)智能出品

    新手怎么學(xué)嵌入式?

    的運(yùn)行機(jī)制。例如,了解數(shù)據(jù)結(jié)構(gòu)中的鏈表、棧和隊(duì)列,對(duì)于在嵌入式編程中管理數(shù)據(jù)非常有幫助。 2. 選擇合適的編程語(yǔ)言 嵌入式開(kāi)發(fā)中常用的編程語(yǔ)言
    發(fā)表于 12-12 10:51

    如何使用 RISC-V 進(jìn)行嵌入式開(kāi)發(fā)

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

    零基礎(chǔ)嵌入式開(kāi)發(fā)學(xué)習(xí)路線

    的數(shù)據(jù)結(jié)構(gòu)與算法能夠提升運(yùn)行效率,同樣不好的數(shù)據(jù)結(jié)構(gòu)與算法也會(huì)造成空間的浪費(fèi)。對(duì)于嵌入式開(kāi)發(fā)來(lái)說(shuō),掌握一些比較基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)還是非常有必要的。比如線性結(jié)構(gòu)如鏈表、棧、隊(duì)列、樹(shù)、圖等。可以通過(guò)這些邏輯
    發(fā)表于 10-25 15:55

    嵌入式開(kāi)發(fā)常見(jiàn)問(wèn)題排查

    嵌入式開(kāi)發(fā)問(wèn)題排查很多人認(rèn)為嵌入式開(kāi)發(fā)很難,主要是因?yàn)樵谶@個(gè)過(guò)程中常常會(huì)遇到各式各樣的問(wèn)題。這些問(wèn)題的復(fù)雜性和多樣性使得許多人感到困惑和無(wú)所適從。然而,如果將這些問(wèn)題逐一拆解,實(shí)際上大部分都可以
    的頭像 發(fā)表于 09-22 08:04 ?730次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>常見(jiàn)問(wèn)題排查

    嵌入式開(kāi)發(fā)常用軟件有哪些?

    的擴(kuò)展程序商店安裝擴(kuò)展以拓展軟件功能。 2.Visual Studio 簡(jiǎn)稱VS: 它是一個(gè)IDE,集成開(kāi)發(fā)環(huán)境。驗(yàn)證C程序或是進(jìn)行c#程序開(kāi)發(fā)
    發(fā)表于 09-09 15:22

    AWFlow:內(nèi)置豐富的功能節(jié)點(diǎn),簡(jiǎn)化嵌入式開(kāi)發(fā)流程

    AWFlow突破傳統(tǒng)C語(yǔ)言限制的嵌入式開(kāi)發(fā)框架,通過(guò)封裝硬件驅(qū)動(dòng)和系統(tǒng)平臺(tái),集成通用軟件功能與通信協(xié)議,助力開(kāi)發(fā)者專注于核心業(yè)務(wù),提升效率,縮短周期,迅速適應(yīng)市場(chǎng)變化。在傳統(tǒng)的
    的頭像 發(fā)表于 08-09 08:25 ?490次閱讀
    AWFlow:內(nèi)置豐富的功能節(jié)點(diǎn),簡(jiǎn)化<b class='flag-5'>嵌入式開(kāi)發(fā)</b>流程

    聚焦嵌入式開(kāi)發(fā)中的合規(guī)性工具、項(xiàng)目管理工具、版本迭代工具應(yīng)用

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

    嵌入式開(kāi)發(fā)前景怎么樣?

    嵌入式開(kāi)發(fā)前景非常廣闊,這主要得益于物聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)等技術(shù)的快速發(fā)展,以及嵌入式系統(tǒng)在各個(gè)領(lǐng)域的廣泛應(yīng)用。以下是對(duì)嵌入式開(kāi)發(fā)前景的詳細(xì)分析
    的頭像 發(fā)表于 07-10 09:00 ?4182次閱讀
    <b class='flag-5'>嵌入式開(kāi)發(fā)</b>前景怎么樣?
    主站蜘蛛池模板: 狠狠色丁香婷婷综合橹不卡 | 亚洲黄色在线网站 | 天天干b | 免费视频不卡 | 欧美激情亚洲精品日韩1区2区 | 插插插叉叉叉 | 视频一本大道香蕉久在线播放 | 在线视频永久在线视频 | 九九热在线免费观看 | 午夜香港三级在线观看网 | 日韩欧美一级 | 看全黄大片狐狸视频在线观看 | 女人张开腿让男人捅爽 | 青青操久久 | 在线观看黄色一级片 | 在线播放91灌醉迷j高跟美女 | 一色桃子juy774在线播放 | 天天操夜夜夜 | 五月天婷婷在线视频 | 国产精品福利视频手机免费观看 | 99xxxx开心 | 日本三级免费网站 | 日本xxxxxxxx69| 欧美香蕉视频 | 性殴美高清视频 | 在线资源站 | 4455ee日本高清免费观看 | 午夜福免费福利在线观看 | 色多多网址| 日日拍夜夜嗷嗷叫狠狠 | 好爽好深太大了再快一点 | 日韩操穴| 欧美日剧在线免费 | 久久狠狠躁免费观看 | 人人插人人费 | 久久大香线蕉综合爱 | 欧美激情五月 | 色综合成人丁香 | 在线国产高清 | 伦理片日本韩国电影三级在线观看 | 天天做天天爱天天综合网2021 |