• <button id="nvgu0"><pre id="nvgu0"></pre></button>

        美女秘密91,日日噜噜夜夜狠狠视频,91网在线,2025AV在线,免费专区——色哟哟,3p无码,亚洲国产,欧美音影成人在线一级片

        nRF52810使用官網SDK開發入門教程

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

        一、概述

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

          現在常用的有規范標準的無限通信協議主要有WiFi(802.11a/b/g/n),藍牙(Bluetooth),ZigBee(802.15.4)等等,他們各有各的優點與不足。

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

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

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

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

        無線通信方案廠商

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

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

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

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

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

        二、搭建開發環境

        1.官方代碼與工具下載

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

             2.開發板硬件資料 

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

        無線通信方案廠商

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

        無線通信方案廠商

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

        無線通信方案廠商

                官方例程和庫文件

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

        無線通信方案廠商

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

        3.試驗第一個程序

        ·         打開 nRFgo studio

        無線通信方案廠商

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

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

                右側窗口中可以清楚的看到芯片存儲空間的結構,包括上述三部分程序的起止地址和大小,其中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調試 
               打開測試固件對應的keil工程文件,就可以進行debug等操作

        無線通信方案廠商

                1.Keil軟件安裝;

                2.Jlink驅動安裝;

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

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

         三、本例安裝的軟件版本

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

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

                1. nRFgoStdio無法識別nRF6310 MotherBoard?

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

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

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

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

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

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

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

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

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

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

                信馳達科技專注藍牙領域十年,擁有豐富的方案設計經驗。信馳達科技Nordic產品方案表現出色,了解更多Nordic產品詳情請聯系我們。

        快速購買樣品

        主站蜘蛛池模板: 香港国产av| 91爱爱网| 老湿机看片新入口福利| 黑人VA| www.亞洲色| 色欲狠狠躁天天躁无码中文字幕| 久久久久无码中| 成人做爰69片免费看网站野花| 亚洲成人精品| 亚洲国产熟女第一页| 多p在线观看| 日本欧美一区二区免费视频 | 国产女人高潮毛片| 国产成人亚洲日韩欧美| 国产精品高清视亚洲乱码有限公司 | 中文字幕人妻系列| 亚洲国产制服丝袜 | 亚洲AV高清一区二区三区尤物| 伊人久久大香线蕉av一区| 97精品| 国产精品18久久久| 久久午夜夜伦鲁鲁片免费无码| 国产不卡一区二区av| 五月。。激情綜合老漢色| 欧美亚洲色综久久精品国产| 大桥久未无码吹潮在线观看 | 伊人久久大香线蕉av色婷婷色| 精品国产粉嫩内射白浆内射双马尾| 久久视频在线视频精品| 国产av一区二区三区| 亚洲高清av一区二区三区| 亚洲伊人久久综合成人| 精品综合久久久久久98| 呦视频在线一区二区三区| 日韩肏屄| 亚洲国语无码| 国产一区二区在线影院| 99精品国产兔费观看久久99| 三男一女吃奶添下面视频| 国产高清亚洲精品91| 亚洲日本午夜|