nRF52-Note(02)-创建第一个工程模板
作者:互联网
一、开发环境及工具
- Windos 10
- Keil uVision5 V5.33 (https://www2.keil.com/mdk5)
- IAR For ARM V7.80.4 (http://files.iar.com/ftp/pub/box/EWARM-CD-7804-12495.exe)
- nRF5 SDK v15.3.0 (https://www.nordicsemi.com/Software-and-tools/Software/nRF5-SDK/Download)
- 此工程源码下载路径 : https://gitee.com/amx/nrf52xx-project
二、选择项目模板
- 这里选择examples\ble_peripheral\ble_app_template作为工程模板,pca10040为板级对象
- 不做任何更改,先分别编译通过IAR工程及Keil(arm5_no_packs)工程
- 后续文章笔记主要以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
2. 代码优化等级
- High
3. 存储空间的分配
- .intvec start (0x26000)
- ROM (0x26000-0x7ffff)
- RAM (0x20002218-0x2000ffff)
- CSTACK (8192)
- HEAP (8192)
4. 目前占用的存储空间(map文件)
- 44080 bytes of readonly code memory
- 2436 bytes of readonly data memory
- 12858 bytes of readwrite data memory
四、查看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)
五、备份三个文件
以下3个文件会经常改动,所以分别复制一份在当前路径,加上后缀_backup用于区分原文件,方便后续查看对比:
- ble_app_template\main.c
- ble_app_template\pca10040\s132\config\sdk_config.h
- ble_app_template\pca10040\s132\iar\ble_app_template_iar_nRF5x.icf
六、更改文件编译文件输出路径
主要在原来的_build下面添加Exe、Obj、List文件夹路径,用于区分存放可执行文件、对象文件和表单文件:
- IAR设置界面
- Keil设置界面
七、烧录协议栈Softdevice文件
-
Softdevice存放路径:components\softdevice\s132\hex\s132_nrf52_6.1.1_softdevice.hex
-
烧录有多种工具(如果J-Flash、PowerShell、nRF Connect等),这里使用J-Flash擦除并烧录
八、烧录应用程序文件
- 使用IAR烧录
- 使用Keil烧录
九、手机APP查看运行结果
- 打开手机APP软件nRF Connect或其它蓝牙APP,即可看到蓝牙IC的广播名称Nordic_Template,程序运行成功
标签:02,文件,烧录,Keil,nRF52,Note,template,app,IAR 来源: https://blog.csdn.net/AmxTech/article/details/113788252