如何在Mac OS玩轉(zhuǎn)nRF52840

學(xué)海無(wú)涯

前言

在前面文章中已經(jīng)有介紹過(guò)[IoT](htt
p://baike.baidu.com/link?url=DJ6tLNPxTTUXnxbNVaQjRj3-nLZlILPlxDpdRDJ0Uhw__Jp-2WzbLroWzSph-mZUKcfdtiItYRCT8QvHyqh0C_),而BLE(低功耗藍(lán)牙)作為現(xiàn)代智能機(jī)必備功能,是物聯(lián)網(wǎng)的核心連接方式之一。目前許多應(yīng)用如iBeacon,已經(jīng)部署到我們生活的周邊。

P.S. 如果你在地鐵上用一個(gè)支持BLE的應(yīng)用掃一掃,你會(huì)發(fā)現(xiàn)驚喜喔。

Bluetooth SIG在2016年新出的 藍(lán)牙 5.0 更是在低功耗的基礎(chǔ)上具備了 更遠(yuǎn)、更快更安全的特性,關(guān)于藍(lán)牙5.0的相關(guān)文章可參考這里。

利其器

由于公司關(guān)系,本人大概是在國(guó)內(nèi)較早拿到 Nordic BT(BLE) 5.0 開發(fā)板 的開發(fā)者之一,到手瞬間感覺(jué)實(shí)物十分帥氣:

Nordic nRF52840(pca10056)

但是由于本人長(zhǎng)期工作于Mac環(huán)境下,所以對(duì)于大家普遍使用Keil有點(diǎn)不太適應(yīng),就折騰了Mac OS下的開發(fā)調(diào)試環(huán)境,本文將分享這個(gè)折騰的過(guò)程。

好消息是,現(xiàn)在很多工具對(duì)于Mac OS都已經(jīng)進(jìn)行了友好的支持,如:

  • 調(diào)試器 J-link
  • 調(diào)試IDE Eclipse
  • 編譯器 arm-eabi-arm-gcc
  • 我個(gè)人使用的編輯器 Clion + Vim插件

工具準(zhǔn)備

安裝(下載)大法

準(zhǔn)備好上面各種工具后,接下來(lái)我們需要準(zhǔn)備: VPN

P.S. 因?yàn)槟硞€(gè)眾所周知的原因,導(dǎo)致某些服務(wù)器上不去或者很慢,根據(jù)我個(gè)人經(jīng)驗(yàn),在安裝
Eclipse插件時(shí),最好帶上你的 VPN~~

一、安裝arm-none-eabi-** 工具鏈

解壓工具包:

tar zxvf gcc-arm-none-eabi-4_9-2015q3-20150921-mac.tar.bz2

進(jìn)入工具包目錄:

sudo cp -r  gcc-arm-none-eabi-4_9-2015q3  /usr/local/  #復(fù)制工具到/usr/local中
sudo vim /etc/profile
 

在末尾增加:

PATH=$PATH:/user/local/gcc-arm-none-eabi-4_9-2015q3/bin

增加后,退出,并運(yùn)行:

. /etc/profile

運(yùn)行完成后,便可以通過(guò)terminal輸入 arm-none-eabi-gcc 運(yùn)行arm-gcc工具了。

二、安裝Eclipse 插件

打開Eclipse Neon

點(diǎn)擊Help->Eclipse MakertPlace,搜索GNU ARM

并安裝GNU ARM 工具包:

安裝完成后,按照提示重啟Eclipse。 重新打開后點(diǎn)擊 Windows->Open Perspective->other->packs

打開后點(diǎn)擊刷新按鈕,更新packs數(shù)據(jù)(此過(guò)程較長(zhǎng)...)


經(jīng)過(guò)漫長(zhǎng)的等待,刷新完成后,找到 Nordic Semi->nRF_deviceFamilyPack ,選擇最新版本進(jìn)行安裝,由描述可知,NRF52840_xxAA 已經(jīng)加入道支持中...

安裝完成后,配置全局build工具和編譯工具鏈路徑:

二、新建工程

下載nRF2840 SDK最新版(由官網(wǎng)信息可知,最新版已經(jīng)支持Bluetooth 5):

下載SDK后,解壓至自己的本地目錄后,新建Eclipse工程導(dǎo)入:

當(dāng)創(chuàng)建新工程時(shí),名字最好與Makefile 保持一致。
Makefile中的名字:


工程名字:


選擇目標(biāo)芯片:

更改編譯命令為Make:

編譯完成后,點(diǎn)解Debug便可以下載和調(diào)試程序:

在實(shí)際的設(shè)置過(guò)程中很可能會(huì)遇到各種不同的問(wèn)題,我們需要抱著一顆了解原理的心才能解決那些奇葩的問(wèn)題,單單只是從網(wǎng)上查看教程,遇到真正問(wèn)題時(shí)我們往往無(wú)法解決。
望君勿急躁,共勉~

End

最后宣布一個(gè)好消息,硅谷 Season 4 已經(jīng)開播啦~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 簡(jiǎn)介 實(shí)現(xiàn)了在CLion中編譯、燒錄、調(diào)試stm32。主要參考了 在Mac下使用CLion做嵌入式開發(fā)和CLion...
    fightfa閱讀 15,088評(píng)論 5 18
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,741評(píng)論 25 709
  • 1、交叉編譯 由于嵌入式系統(tǒng)資源匱乏,一般不能像 PC 一樣安裝本地編譯器和調(diào)試器,不能在本地編寫、編譯和調(diào)...
    不配野心閱讀 2,236評(píng)論 0 4
  • 這對(duì)辛清來(lái)說(shuō)是一次很重要的考試。她衡量了下坐出租車和坐公交車的時(shí)間,最后選擇坐公交,因?yàn)檫@里打不到出租。她急匆匆的...
    本姑涼馥羽閱讀 212評(píng)論 0 0
  • 命中注定……如題! 不接受,不相信,不認(rèn)可……那又能怎樣?所謂的努力,所謂的抗?fàn)?,所謂的憧憬,那些所謂的...
    洋芋菌閱讀 441評(píng)論 0 1

友情鏈接更多精彩內(nèi)容