nRF52-Note(02)-创建第一个工程模板

一、开发环境及工具

  1. Windos 10
  2. Keil uVision5 V5.33 (https://www2.keil.com/mdk5)
  3. IAR For ARM V7.80.4 (http://files.iar.com/ftp/pub/box/EWARM-CD-7804-12495.exe)
  4. nRF5 SDK v15.3.0 (https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK/Download)
  5. 此工程源码下载路径 : https://gitee.com/amx/nrf52xx-project

二、选择项目模板

  1. 这里选择examples\ble_peripheral\ble_app_template作为工程模板,pca10040为板级对象
  2. 不做任何更改,先分别编译通过IAR工程及Keil(arm5_no_packs)工程
  3. 后续文章笔记主要以IAR讲解为主,同时支持Keil的使用

三、查看IAR项目配置选项

1. 定义的宏有

   - BOARD_PCA10040
   - CONFIG_GPIO_AS_PINRESET
   - FLOAT_ABI_HARD
   - NRF52
   - NRF52832_XXAA
   - NRF52_PAN_74
   - NRF_SD_BLE_API_VERSION=6
   - S132
   - SOFTDEVICE_PRESENT
   - SWI_DISABLE0

nRF52-Note(02)-创建第一个工程模板

2. 代码优化等级

   - High

nRF52-Note(02)-创建第一个工程模板

3. 存储空间的分配

   - .intvec start (0x26000)
   - ROM (0x26000-0x7ffff)
   - RAM (0x20002218-0x2000ffff)
   - CSTACK (8192)
   - HEAP (8192)

nRF52-Note(02)-创建第一个工程模板

4. 目前占用的存储空间(map文件)

   - 44080 bytes of readonly  code memory
   - 2436 bytes of readonly  data memory
   - 12858 bytes of readwrite data memory

nRF52-Note(02)-创建第一个工程模板


四、查看Keil项目配置选项

1. 定义的宏有

   - BOARD_PCA10040
   - CONFIG_GPIO_AS_PINRESET
   - FLOAT_ABI_HARD
   - NRF52
   - NRF52832_XXAA 
   - NRF52_PAN_74 
   - NRF_SD_BLE_API_VERSION=6 
   - S132 
   - SOFTDEVICE_PRESENT 
   - SWI_DISABLE0
   - __HEAP_SIZE=8192
   - __STACK_SIZE=8192

2. 代码优化等级

   -  Level 3 (-O3)

3. 存储空间的分配

   - ROM: Start(0x26000), Size(0x5A000)
   - RAM: Start(0x20002218), Size(0xDDE8)

nRF52-Note(02)-创建第一个工程模板


五、备份三个文件

以下3个文件会经常改动,所以分别复制一份在当前路径,加上后缀_backup用于区分原文件,方便后续查看对比:

  1. ble_app_template\main.c
  2. ble_app_template\pca10040\s132\config\sdk_config.h
  3. ble_app_template\pca10040\s132\iar\ble_app_template_iar_nRF5x.icf

nRF52-Note(02)-创建第一个工程模板


六、更改文件编译文件输出路径

主要在原来的_build下面添加Exe、Obj、List文件夹路径,用于区分存放可执行文件、对象文件和表单文件:

  1. IAR设置界面

nRF52-Note(02)-创建第一个工程模板

  1. Keil设置界面

nRF52-Note(02)-创建第一个工程模板


七、烧录协议栈Softdevice文件

  1. Softdevice存放路径:components\softdevice\s132\hex\s132_nrf52_6.1.1_softdevice.hex

  2. 烧录有多种工具(如果J-Flash、PowerShell、nRF Connect等),这里使用J-Flash擦除并烧录

nRF52-Note(02)-创建第一个工程模板


八、烧录应用程序文件

  1. 使用IAR烧录

nRF52-Note(02)-创建第一个工程模板

  1. 使用Keil烧录

nRF52-Note(02)-创建第一个工程模板


九、手机APP查看运行结果

  1. 打开手机APP软件nRF Connect或其它蓝牙APP,即可看到蓝牙IC的广播名称Nordic_Template,程序运行成功

nRF52-Note(02)-创建第一个工程模板


上一篇:MySQL-18全文本搜索-必知必会


下一篇:双指针法总结