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

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

    2020-04-13 11:30:07 信馳達科技

    一、概述

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

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

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

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

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

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

    無線通信方案廠商

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

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

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

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

      在手動改完官方庫的所有錯誤之后,把自己的初始化空工程拿出來終于編譯通過..比TI的果然是慢了好多好多。。

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

    1.官方代碼與工具下載

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

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

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

    無線通信方案廠商

            協(xié)議棧燒寫工具nRFgo studio下載 
            這個軟件是前期用來燒寫固件。對于這款芯片固件分三個部分:藍牙協(xié)議棧SoftDevice ,固件升級bootloader,App(用戶自己寫的程序)

    無線通信方案廠商

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

    無線通信方案廠商

            官方例程和庫文件

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

    無線通信方案廠商

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

    3.試驗第一個程序

    ·         打開 nRFgo studio

    無線通信方案廠商

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

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

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

            l  燒寫固件

            以“虛擬串口”為例,分別選擇三部分程序的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  成功燒錄之后就可以打開app搜索了,藍牙4.0不需要配對

    無線通信方案廠商

           使用keil調(diào)試 
           打開測試固件對應(yīng)的keil工程文件,就可以進行debug等操作

    無線通信方案廠商

            1.Keil軟件安裝;

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

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

            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.遇到的問題

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

            1. nRFgoStdio無法識別nRF6310 MotherBoard?

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

            2.keil打開.uvproj后綴名的工程,無法編譯?

            安裝的最新的keil版本以及SDK需要打開.uvprojx后綴名的工程,則編譯無錯誤。

            3.通過nRFgo燒寫SoftDevice 和 ble_app_hrs無法工作?

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

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

            如果是電池供電的話,則很可能是電池沒電。檢測電池的電壓才1v,新電池1.6v左右。更換電池解決問題。

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

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

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

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

    快速購買樣品

    中文字幕乱码一区二区免费| 欧美日韩亚洲国产精品| 欧美午夜精品久久久久久浪潮| 久久99热精品免费观看牛牛| 男人的天堂av社区在线| 国产精品久久二区二区| 黄色视频在线免费观看| 丰满少妇内射一区| 亚洲老熟女性亚洲| 亚洲无av在线中文字幕| 久久精品国产一区二区三区不卡 | 天天摸天天做天天爽天天弄| 老师粉嫩小泬喷水视频90| 久久久精品2020免费观看| 毛片无遮挡免费高清| 国产av天堂亚洲国产av麻豆| 久久不见久久见免费影院视频| 欧美乱大交aaaa片if| 日本55丰满熟妇厨房伦| 日韩av无码成人精品国产| 亚洲男人第一av网站| 人人妻在人人| 又大又粗又爽a级毛片免费看 | 伊人久久大香线蕉综合网站| 精品深夜寂寞黄网站| 18禁裸乳无遮挡啪啪无码免费| 亚洲av色男人的天堂| 无码中文av有码中文av| 免费va人成视频网站全 | 国产精品午夜无码av体验区| 99精品无码午夜福利理论片| 人妻体内射精一区二区三四| 太紧了夹得我的巴好爽欧美| 2021少妇久久久久久久久久| h无码精品动漫在线观看| 亚洲av无码一区二区三区网址| 老熟妇乱子伦牲交视频| 亚洲不卡av不卡一区二区| 蜜臀aⅴ国产精品久久久国产老师| 久久久久99精品成人片三人毛片 | 45分钟做受片免费观看|