艾克姆 藍牙nRF52832上冊-學習筆記

一 、硬件

  • IK-52832DK開發板兼容官方nRF52DK(PCA10040)

  • xxAA: 512K 片內Flash, 64KRAM

  • xxAB: 256k 片內Flash,32KRAM

二、開發設備

硬件設備

1、開發板
2、JLINK 仿真和下載程序
3、JTAG-SWD轉換板
4、IK-52Dongle 抓包或主機控制面板配套使用,可以捕獲和分析BLE數據包,幫助理解BLE

軟件

1、MDK5.23
2、JLINK驅動
3、Master Control Panel 主機控制面板,與Dongle配合使用
4、nRF Sniffer BLE抓包軟件,Dongle使用
5、WireShark 抓包和協議分析,與Dongle配合使用
6、nFR Connet 手機端軟件,用於掃描,連讀,讀寫設備等
7、nRF ToolBox 手機端APP應用集

三、開發環境搭建

1、NordicSemiconductor.nRF_DeviceFamilyPack.8.17.0.pack --------------------- keil的芯片包
2、nRF5_SDK_15.2.0_9412b96.zip ---------------------SDK
3、ARM.CMSIS.4.5.0.pack---------------------keil內核支持包
4、nRF Connect--------------手機端測試 APP
5、nRF Toolbox--------------手機端測試 APP

四、新建和配置裸機工程

1、SDK庫介紹

在這裏插入圖片描述
1、Components組件庫
在這裏插入圖片描述
2、Examples例子
  每個例子都包含 多種開發環境和多種芯片的工程

2、新建和配置工程

1、規劃目錄

在這裏插入圖片描述
拷貝後的目錄
在這裏插入圖片描述

2、新建立工程

  • 新建工程保存到project目錄下

  • 配置 RTE(Run-Time Environment)
    在這裏插入圖片描述

  • 整理工程目錄
    在這裏插入圖片描述

  • 管理軟件包
    在這裏插入圖片描述

  • 添加文件到工程
    boards.c sdk_config.h 等
    “app_error.c”、“nrf_assert.c”、“app_util_platform.c”、“app_error_handler_keil.c”、“app_error_weak.c”和“nrf_strerror.c” 添加到工程的“nRF_Libraries”組即可

3、配置工程

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
  One ELF Secion per Function 的機制是將每一個函數作爲一個優化的單元,而並非整個
文件作爲參與優化的單元。 該機制具有的這種優化功能特別重要,尤其是在對於生成的二進
制文件大小有嚴格要求的場合。
  One ELF Section per Function 對於一個大工程的優化效果尤其突出, 對於小工程優化效
果不是很明顯。想象一下這樣的一個應用場合:在 nRF52840 程序開發過程中,我們會使用
SDK 中的組件庫“components”,我們加入組件庫中的一個文件到工程並不表示我們會使用
這個文件中所有的函數,這樣,最後生成的二進制文件中就有可能包含衆多的冗餘函數,造
成了存儲空間的浪費, 通過使用 One ELF Section per Function, 即可在最後生成的二進制文
件中將冗餘函數排除掉,從而節省存儲空間。

五、下載

有 3 種: MDK 直接下載、 J-Flash 下載和使用 nRFgo Studio 下載。

注意:如果用到協議棧,應用程序和協議棧是分開下載的,先下載協議棧的hex文件,再下載應用程序。協議棧是下載到0地址,下載完後會保護起來,所以重新下載時要全片擦除
例如:
1、打開工程
2、切換到下載協議棧的工程
在這裏插入圖片描述
3、下載協議棧
在這裏插入圖片描述
4、下載應用程序
在這裏插入圖片描述
5、協議棧

特別注意: 協議棧是預編譯的,是以“HEX”文件格式提供的,無需編譯工程,只需執行下載就可以了

九、寄存器類型和外設資源共享

  • nRF51 和 nRF52 的寄存器和一般的單片機有所差別, nRF51 和 nRF52 的寄存器分爲下面的四種類型:
    1、任務寄存器 Task
    2、事件寄存器 Event
    3、快捷方式寄存器
    4、通用寄存器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章