亚洲这里只有精品,91av视频在线播放,中文字幕一区在线,精品国产日韩一区二区三区,欧美一区二区三区久久成人精品,国产在线无码视频,国产成人激情,国产成人精品无码一区二区三区免费,成人精品tv视频在线,国产精品无码一区二区夜夜

  • <del id="sweqc"><tfoot id="sweqc"></tfoot></del>
    
    
  • nRF52810使用官網(wǎng)SDK開(kāi)發(fā)入門(mén)教程

    2020-04-13 11:30:07 信馳達(dá)科技

    一、概述

            近來(lái),物聯(lián)網(wǎng)已成為大勢(shì)所趨,VR與AR正方興未艾,各種手環(huán)、遙控、智能家居也在粉墨登場(chǎng)。技術(shù)前沿的領(lǐng)航者們已經(jīng)快馬加鞭,各種意志與暗示也在上傳下達(dá)。物聯(lián)網(wǎng),無(wú)線通訊,移動(dòng)互聯(lián),將成為新的目標(biāo)與寵兒。最近開(kāi)的電賽動(dòng)員會(huì)上已經(jīng)明確而徹底的傳達(dá)了“互聯(lián)網(wǎng)+”的精神,甚至要用手機(jī)做APP來(lái)操控云云,總之是無(wú)線通信已經(jīng)被擺在了前所未有的位置上。

      現(xiàn)在常用的有規(guī)范標(biāo)準(zhǔn)的無(wú)限通信協(xié)議主要有WiFi(802.11a/b/g/n),藍(lán)牙(Bluetooth),ZigBee(802.15.4)等等,他們各有各的優(yōu)點(diǎn)與不足。

      WiFi的功耗太大,速率高,適合來(lái)傳輸數(shù)據(jù)流(文件),而不是做控制,距離較短。藍(lán)牙功耗很低(BLE),而且歷史悠久,技術(shù)成熟,是手機(jī)的標(biāo)配,距離適中,適合做控制以及小規(guī)模的數(shù)據(jù)傳輸。(BLE是低功耗藍(lán)牙的意思,也就是指藍(lán)牙4.2。)ZigBee功耗也很低,且通信距離較遠(yuǎn),傳輸速率很低,是專(zhuān)為自動(dòng)控制設(shè)計(jì)的通信協(xié)議,但目前技術(shù)仍不夠成熟,且組網(wǎng)較為復(fù)雜。

      此外還有Z-wave,Threa;6LoWPAN似乎也很有潛力,但是目前才剛剛開(kāi)始。ANT等各種無(wú)線通信協(xié)議,但是不如以上幾種通用程度高作為無(wú)線通信入門(mén),我選擇了從藍(lán)牙開(kāi)始。市面上常見(jiàn)的藍(lán)牙模塊有很多,TI的CC系列,Dialog的DA系列,以及Nordic的nRF系列都是很優(yōu)秀的產(chǎn)品。

      Dialog的產(chǎn)品硬件結(jié)構(gòu)較特殊,整體成本低但是開(kāi)發(fā)復(fù)雜,CC系列和nRF系列都是資料資源豐富且廣泛使用的產(chǎn)品,我所選擇的產(chǎn)品就是NordicnRF52810,支持藍(lán)牙4.2(BLE),甚至可以支持5.0。這些藍(lán)牙模塊多半都是帶有MCU核的,或者說(shuō)根本就是一個(gè)MCU帶有藍(lán)牙功能。相對(duì)于TI產(chǎn)品,nRF52810的硬件資源要豐厚許多(Cortex-M4F,512K Flash,64K RAM,xxAA版),這也就意味著更大規(guī)模的工程成為可能。

            開(kāi)發(fā)板不想買(mǎi)了,因?yàn)橐呀?jīng)習(xí)慣了用TI的TM4C1294進(jìn)行開(kāi)發(fā),所以一般主體工程都是靠1294完成,學(xué)習(xí)52832主要是想熟練藍(lán)牙的配置與使用。于是買(mǎi)了個(gè)最小系統(tǒng)板(嚴(yán)格來(lái)說(shuō)都不算,只是把所有引腳引出來(lái)而已,然后加一段鍍銅天線),然后就遇到了許多問(wèn)題。

    無(wú)線通信方案廠商

      之前用1294時(shí)是TI官方的EvaluationKit板,自帶仿真模塊(Stellaris ICDI),只要驅(qū)動(dòng)一裝就能刷金程序然后Debug調(diào)試。因此也從來(lái)沒(méi)有考慮過(guò)什么接口仿真的問(wèn)題?,F(xiàn)在對(duì)著52810芯片手冊(cè)上的管腳圖,只找到了兩個(gè)SWDIO和SWDCLK引腳,對(duì)于具體如何把程序燒寫(xiě)進(jìn)去依然一無(wú)所知?;叵肫鹌渌?2開(kāi)發(fā)板的情況,似乎需要一個(gè)名為Jlink的東東?快速上淘寶翻了下52810開(kāi)發(fā)板的情況,確實(shí)如此,Jlink仿真器是必須的,開(kāi)發(fā)板上已經(jīng)預(yù)留好了20腳的JTAG接口,直接將仿真器連在開(kāi)發(fā)板與PC中間,再輔以相應(yīng)的驅(qū)動(dòng)程序就能實(shí)現(xiàn)下載與仿真。但是我買(mǎi)的產(chǎn)品上可沒(méi)有JTAG接口,而且SWD和JTAG似乎也不太一樣的吧?

      一頓搜索,大概對(duì)JTAG,SWD,JLink都有了一番了解。JTAG和SWD確實(shí)是不一樣的協(xié)議,Jlink本身默認(rèn)JTAG,但是從JLinkV6以后,Jlink仿真器也開(kāi)始支持SWD,到了V8以后,對(duì)SWD的支持已經(jīng)相當(dāng)不錯(cuò)了。于是又買(mǎi)了塊Jlink仿真器,說(shuō)是給nrf5系列專(zhuān)用的V8,一個(gè)仿真器比兩個(gè)我買(mǎi)的52810板還貴,拿到手以后,做工讓我瞬間就斷定是盜版貨了。。還好上面似乎有標(biāo)識(shí)JTAG+SWD...在52810的數(shù)據(jù)手冊(cè)上,基本已經(jīng)確定了這款芯片只支持SWD了,希望能用吧(笑)。大概就是把SWD的引腳接到仿真器的特定引腳上吧。

      然后是軟件環(huán)節(jié)。習(xí)慣了TI的datasheet和SDK,Nordic的真的是....體驗(yàn)感差好多呀。。采用的IDE是MDK Keil,然而官網(wǎng)提供的nRF_DeviceFamilyPack最新版和SDK最新版例程里的pack版本居然不一樣(pack已經(jīng)更新到8.14.1了,而SDK里用的是8.12.0,SDK用的也是最新版)。好吧或許SDK那邊還沒(méi)更新,但是老版的pack下載在哪里呢?只能手動(dòng)添加Device和CMSIS,然后是令人煩躁的include paths。SDK的文件結(jié)構(gòu)相當(dāng)出色,各種包各種drivers各種libraries相當(dāng)完善有條理,但是初始化必須的一些驅(qū)動(dòng)和庫(kù)文件被包含在了各個(gè)文件夾,相比之下,TI的driverlib簡(jiǎn)直太方便了。至于TI的pdf函數(shù)庫(kù)對(duì)Nordic的html的無(wú)比的優(yōu)越性。。用了都知道。

      終于到了編譯環(huán)節(jié),把官方的例程拿出來(lái)編譯,果然一大堆錯(cuò)誤,定義變量語(yǔ)句不在函數(shù)開(kāi)頭之類(lèi)的問(wèn)題比比皆是,還有一大堆定義結(jié)構(gòu)體順便初始化的奇怪格式也是層出不窮,難道我的Keil MDK 5.20已經(jīng)很老了嗎~

      在手動(dòng)改完官方庫(kù)的所有錯(cuò)誤之后,把自己的初始化空工程拿出來(lái)終于編譯通過(guò)..比TI的果然是慢了好多好多。。

    二、搭建開(kāi)發(fā)環(huán)境

    1.官方代碼與工具下載

           http://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF52-DK

         2.開(kāi)發(fā)板硬件資料 

            硬件資料保含開(kāi)發(fā)板的原理圖,BOM,Layout。在調(diào)試時(shí)候或者外接擴(kuò)展時(shí)候看。

    無(wú)線通信方案廠商

            協(xié)議棧燒寫(xiě)工具nRFgo studio下載 
            這個(gè)軟件是前期用來(lái)燒寫(xiě)固件。對(duì)于這款芯片固件分三個(gè)部分:藍(lán)牙協(xié)議棧SoftDevice ,固件升級(jí)bootloader,App(用戶(hù)自己寫(xiě)的程序)

    無(wú)線通信方案廠商

            nRF52 DK下載 
            http://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF5-SDK 

    無(wú)線通信方案廠商

            官方例程和庫(kù)文件

            S132 SoftDevice 下載 
            藍(lán)牙協(xié)議棧 
            http://www.nordicsemi.com/eng/Products/S132-SoftDevice 

    無(wú)線通信方案廠商

            Nordic 自家的藍(lán)牙測(cè)試安卓或ios app 
            常用:nRF Master Countrol pannel 
            可以在github下載源碼用于App開(kāi)發(fā)

    3.試驗(yàn)第一個(gè)程序

    ·         打開(kāi) nRFgo studio

    無(wú)線通信方案廠商

            我使用的是開(kāi)發(fā)板,開(kāi)發(fā)板上自帶有jlink芯片,軟件能識(shí)別到nRF52 development boards。

            注意:在使用過(guò)程中由于jlink驅(qū)動(dòng)版本的問(wèn)題會(huì)出現(xiàn)不識(shí)別芯片的情況。需要安裝該軟件自帶的segger驅(qū)動(dòng)。

            右側(cè)窗口中可以清楚的看到芯片存儲(chǔ)空間的結(jié)構(gòu),包括上述三部分程序的起止地址和大小,其中SoftDevice 和Application是不可以缺失的。

            l  燒寫(xiě)固件

            以“虛擬串口”為例,分別選擇三部分程序的hex文件,路徑如下: 
            softdevice 
            /s132_nrf52_2.0.1/s132_nrf52_2.0.1_softdevice.hex 
            bootloader nRF5_SDK_11.0.0_89a8197/examples/dfu/bootloader/pca10040/dual_bank_ble_s132/arm5_no_packs/_build/nrf52832_xxaa_s132.hex 


    Application 


    nRF5_SDK_11.0.0_89a8197/examples/ble_peripheral/ble_app_uart/pca10040/s132/arm5_no_packs/_build/nrf52832_xxaa_s132.hex

            l  成功燒錄之后就可以打開(kāi)app搜索了,藍(lán)牙4.0不需要配對(duì)

    無(wú)線通信方案廠商

           使用keil調(diào)試 
           打開(kāi)測(cè)試固件對(duì)應(yīng)的keil工程文件,就可以進(jìn)行debug等操作

    無(wú)線通信方案廠商

            1.Keil軟件安裝;

            2.Jlink驅(qū)動(dòng)安裝;

            3.nRFgoStdio安裝,該軟件用來(lái)燒寫(xiě)藍(lán)牙協(xié)議棧和應(yīng)用軟件。第二步安裝了Jlink驅(qū)動(dòng)后,不要安裝nRFgo里自帶的Jlink驅(qū)動(dòng)。

            4.安裝nRF51SDK,安裝完成后,在Keil的目錄里有51822的相關(guān)的例程和源碼。

     三、本例安裝的軟件版本

            Windows: win7 64bit

            Keil:V5.13.0.0 (mdk_513.exe)

            Jlink:V4.96d (Setup_JLink_V496d.exe)

            nRFgoStdio:V1.17.1 (nrfgostudio_win-64_1.17.1_installer.msi)

            nRF51SDK: V6.1.0(nrf51_sdk_v6_1_0_b2ec2e6.msi)

            SoftDevice:V7.1.0 (s110_nrf51810_7.1.0.zip)

    4.遇到的問(wèn)題

            開(kāi)發(fā)環(huán)境,包括軟件環(huán)境以及硬件環(huán)境可以參考官方的User Guide 文檔。期間遇到的問(wèn)題有兩個(gè):

            1. nRFgoStdio無(wú)法識(shí)別nRF6310 MotherBoard?

            在這里沒(méi)有解決這個(gè)問(wèn)題,對(duì)我的開(kāi)發(fā)工作影響不大,我們的開(kāi)發(fā)工作只需要更新ble stack和應(yīng)用層APP即可,大部分時(shí)候只需要燒錄app即可。

            2.keil打開(kāi).uvproj后綴名的工程,無(wú)法編譯?

            安裝的最新的keil版本以及SDK需要打開(kāi).uvprojx后綴名的工程,則編譯無(wú)錯(cuò)誤。

            3.通過(guò)nRFgo燒寫(xiě)SoftDevice 和 ble_app_hrs無(wú)法工作?

            這里存在nRF51SDK與SoftDevice和app的兼容性問(wèn)題,本機(jī)安裝了SDK的6版本,在Nordic官網(wǎng)SoftDevice有5,6,7三個(gè)版本,逐一嘗試后,最新的版本7和app兼容,能正常工作。

            4.在調(diào)試期間可能遇到VTG燈變紅、異常閃爍或不亮,nRFgo 和keil無(wú)法燒寫(xiě)?

            如果是電池供電的話(huà),則很可能是電池沒(méi)電。檢測(cè)電池的電壓才1v,新電池1.6v左右。更換電池解決問(wèn)題。

            不能解決的問(wèn)題,可以在Nordic官網(wǎng)論壇提問(wèn),會(huì)有Nordic的員工為你解答。

            https://devzone.nordicsemi.com/questions/ 為了更好的結(jié)合串口打印信息,來(lái)分析代碼的流程。故結(jié)合6310里的uart_example例程,來(lái)調(diào)試UART功能,并將該初始化函數(shù)移植到要分析的例程去。

            在uart_exam ple的simple_uart_config函數(shù)中,對(duì)uart指定輸出輸入引腳,關(guān)鍵是找到6310板子上的該兩個(gè)引腳的位置。因?yàn)闆](méi)有6310的原理圖,經(jīng)過(guò)查閱了很多資料,終于找到這兩個(gè)引腳,分別是P9 端口的,p2.0與p2.1,連接到電腦的USB串口線并另一個(gè)接地,在電腦端配置好相應(yīng)的串口參數(shù),則解決問(wèn)題。

            信馳達(dá)科技專(zhuān)注藍(lán)牙領(lǐng)域十年,擁有豐富的方案設(shè)計(jì)經(jīng)驗(yàn)。信馳達(dá)科技Nordic產(chǎn)品方案表現(xiàn)出色,了解更多Nordic產(chǎn)品詳情請(qǐng)聯(lián)系我們。

    快速購(gòu)買(mǎi)樣品

    99精品人妻少妇一区二区| 久久精品国产亚洲av网站| 国产午夜影视大全免费观看| 无码AV免费精品一区二区三区| 中文字幕色偷偷人妻久久| 久久电影网午夜鲁丝片免费| 97国产精品一区二区视频| 亚洲亚洲人成综合网络| 久久亚洲av无码精品色午夜麻豆| 午夜dv内射一区区| 西欧free性满足hd老熟妇| 国产成+人+综合+亚洲欧美丁香花| 狠狠色婷婷久久一区二区三区 | 亚洲精品熟女国产| WWW夜片内射视频日韩精品成人| 一色屋精品视频在线观看免费| 欧美激情国产精品视频一区二区| 无码综合天天久久综合网| 日韩孕妇孕交妊娠AV| 调教视频一区| 久久调教视频| 国精品无码一区二区三区在线| 国产精品免费一区二区三区四区| 久久国产精品免费一区二区三区| 精品国产女人爽到喷水| 午夜影院一区二区| 色天堂视频网站| 一区二区乱子伦在线播放| 99久久国产综合精品成人影院| 男男GV白嫩小受GV在线播放| 无码AV高潮抽搐流白浆| 一本一道av无码中文字幕麻豆| 呦系列视频一区二区三区| 国产品无码一区二区三区在线| 欧美另类videossexo高潮| 精品国产乱码久久久久久郑州公司| 国产成人av一区二区三区在线观看 | 狠狠色婷婷久久一区二区| 中国老太婆video| 欧洲美女与动性zozozo| 把腿扒开让我添30分钟视频|