这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
cc2640r2f:development_with_iar [2017/09/02 10:59] long |
cc2640r2f:development_with_iar [2021/06/22 23:14] (当前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
< | < | ||
- | # 使用IAR开发 # | ||
- | ## 安装IAR ## | ||
- | IAR工具链包含的许多功能不在本文档的讨论范围之内。更多信息和文档可以在[IAR.com](www.iar.com)找到。 | ||
- | 查看BLE5-Stack 1.00.00的发行说明,弄清楚需要使用的IAR版本和一些要求的工作环境。与CCS生成的目标代码相比,IAR生成的目标代码的大小和性能可能不同。 | + | # 使用 IAR 开发 # |
- | 关于如何下载安装IAR,搭建开发环境在[CC2640R2 BLE5.0 开发环境搭建](http:// | + | ## 安装 IAR ## |
- | 我们建议在编译过程中显示所有编译输出消息以便获得完整的详细信息。在IAR的**Tools-> | + | IAR 工具链包含的许多功能不在本文档的讨论范围之内,更多信息和文档可以在[ IAR.com ](www.iar.com)找到。 |
- | ![图1. 在IAR中显示所有编译消息](http://www.leconiot.com/ | + | |
- | ## 打开IAR项目 ## | + | 查看 BLE5-Stack 1.00.00 |
- | > | + | |
- | 本节以`simple_peripheral`工程为例介绍如何打开和编译现有项目。开发套件中包含的所有BLE5-Stack例程项目都具有相似的结构。 | + | 关于如何下载安装 IAR 、搭建开发环境在[ CC2640R2 BLE5.0 |
- | 1. 首先打开IAR。 | + | 建议在编译过程中显示所有编译输出消息以便获得完整的详细信息。在 IAR 的** Tools -> Options |
- | 2. 打开一个IAR工作区工程:**File->Open-> | + | |
- | | + | |
- | ![图2. IAR工作区窗格](http:// | + | 图1.在 IAR 中显示所有编译消息 |
- | 该工作区的文件用的是`simple_peripheral`工程。在选择后,与工作区相关联的文件在屏幕左侧的“工作区”窗格中可见。参见图17。 | + | ![](http:// |
- | 通过单击工作区窗格底部相应的工程选项卡来激活任一工程。在图17中,如果选择了Overview选项卡。此选项卡会同时显示两个工程的文件结构。在这种情况下,请使用工作区窗格顶部的下拉菜单来选择激活相应的工程。这里的每个工程都会生成一个单独的可下载对象。`simple_peripheral`项目实现了一个基本的低功耗蓝牙外围设备,包括有GATT服务的GATT服务器。该项目可用作开发外围相关应用程序的框架。 | + | ## 打开 IAR 项目 |
- | ## BLE5-Stack IAR工程编译配置 ## | + | > |
- | 该工程以及所有的BLE5-Stack工程在工作区都包含了不同的工程以及编译配置,如表7所示。`*_StackLibrary`编译配置会将协议栈编译为库的形式供应用程序调用,如[软件架构](http:// | + | |
- | 表7.可用的IAR编译配置 | + | 本节以 `simple_peripheral` 工程为例介绍如何打开和编译现有项目。开发套件中包含的所有 BLE5-Stack 例程项目都具有相似的结构。 |
+ | |||
+ | 1. 首先打开 IAR 。 | ||
+ | 2. 打开一个 IAR 工作区工程:** File -> Open -> Workspace... ** | ||
+ | * 对于 `simple_peripheral` 示例,请选择 `< | ||
+ | |||
+ | 图2. IAR 工作区窗格 | ||
+ | |||
+ | ![](http:// | ||
+ | |||
+ | 该工作区的文件用的是 `simple_peripheral` 工程。在选择后,与工作区相关联的文件在屏幕左侧的“工作区”窗格中可见。参见图 2 。 | ||
+ | |||
+ | 通过单击工作区窗格底部相应的工程选项卡来激活任一工程。图 2 中如果选择了 Overview 选项卡,此选项卡会同时显示两个工程的文件结构。在这种情况下,请使用工作区窗格顶部的下拉菜单来选择激活相应的工程。这里的每个工程都会生成一个单独的可下载对象。`simple_peripheral` 项目实现了一个基本的低功耗蓝牙外围设备,包括有 GATT 服务的 GATT 服务器。该项目可用作开发外围相关应用程序的框架。 | ||
+ | |||
+ | ## BLE5-Stack IAR 工程编译配置 ## | ||
+ | |||
+ | 该工程以及所有的 BLE5-Stack 工程在工作区都包含了不同的工程以及编译配置,如表 | ||
+ | |||
+ | 表1.可用的 IAR 编译配置 | ||
|工程类型|工程的编译配置|兼容的对应工程的编译配置| | |工程类型|工程的编译配置|兼容的对应工程的编译配置| | ||
行 41: | 行 52: | ||
## 编译和下载 ## | ## 编译和下载 ## | ||
+ | |||
对于所有编译的配置,协议栈工程必须要在应用程序工程之前进行配置编译。 | 对于所有编译的配置,协议栈工程必须要在应用程序工程之前进行配置编译。 | ||
对于将协议栈编译成库的形式: | 对于将协议栈编译成库的形式: | ||
1. 编译协议栈库工程。 | 1. 编译协议栈库工程。 | ||
- | * 选中协议栈工程,在工作区顶部的下拉菜单中选择FlashROM_Library | + | * 选中协议栈工程,在工作区顶部的下拉菜单中选择 FlashROM_Library |
- | * 选择**Project-> | + | * 选择** Project -> Make **编译协议栈。 |
2. 编译应用程序工程。 | 2. 编译应用程序工程。 | ||
* 选中应用程序工程。 | * 选中应用程序工程。 | ||
- | * 选择**Project-> | + | * 选择** Project -> Mak e**编译应用程序。 |
3. 下载整个应用程序 | 3. 下载整个应用程序 | ||
- | * 下载并调试:选择**Project-> | + | * 下载并调试:选择** Project -> Download and Debug ** |
- | * 只下载,无需调试:选择**Project-> | + | * 只下载,无需调试:选择** Project -> Download -> Download Active Application ** |
- | > | + | > |
对于协议栈和应用程序是镜像分离(而不是库)的工程: | 对于协议栈和应用程序是镜像分离(而不是库)的工程: | ||
1. 编译协议栈工程。 | 1. 编译协议栈工程。 | ||
- | * 选中协议栈工程, | + | * 选中协议栈工程, |
- | * 选择**Project-> | + | * 选择** Project -> Make **来编译协议栈。 |
2. 编译应用程序工程。 | 2. 编译应用程序工程。 | ||
* 选中应用程序工程。 | * 选中应用程序工程。 | ||
- | * 选择**Project-> | + | * 选择** Project -> Make **编译应用程序。 |
3. 下载协议栈工程。 | 3. 下载协议栈工程。 | ||
- | * 选择**Project-> | + | * 选择** Project -> Download -> Download Active Application **来下载协议栈工程。 |
4. 下载应用程序工程。 | 4. 下载应用程序工程。 | ||
- | * 下载并调试:选择**Project-> | + | * 下载并调试:选择** Project -> Download and Debug ** |
- | * 只下载,无需调试:选择**Project-> | + | * 只下载,无需调试:选择** Project -> Download -> Download Active Application ** |
- | > | + | > |
> | > | ||
- | > | + | > |
- | > | + | > |
- | 要实现空中下载(OAD)固件更新功能的示例应用程序需要编译**Boot Image Manager** (BIM)项目。有关更多的详细信息,请参阅[OAD](http:// | + | 要实现空中下载( OAD )固件更新功能的示例应用程序需要编译** Boot Image Manager ** ( BIM )项目。有关更多的详细信息,请参阅[ OAD ](http:// |
## 访问预处理器符号 ## | ## 访问预处理器符号 ## | ||
- | 对于不同的工程级别各种C预处理器符号可能需要设置或调整。以下过程描述了如何访问或修改预处理器符号。 | ||
- | 1. 打开**Project-> | + | 对于不同的工程级别各种 C 预处理器符号可能需要设置或调整。以下过程描述了如何访问或修改预处理器符号。 |
- | 2. 打开**Preprocessor**选项卡。 | + | |
- | 3. 查看**Defined symbols**框(见图18)。 | + | 1. 打开** Project -> Options **选择** C/C++ Compiler **。 |
+ | 2. 打开** Preprocessor **选项卡。 | ||
+ | 3. 查看** Defined symbols **框(见图 | ||
4. 可在这里添加或编辑预处理符号。 | 4. 可在这里添加或编辑预处理符号。 | ||
- | ![图3. IAR定义的符号框](http:// | + | |
+ | 图3. IAR 定义的符号框 | ||
+ | |||
+ | ![](http:// | ||
## 访问链接器符号 ## | ## 访问链接器符号 ## | ||
+ | |||
链接器符号可能需要在项目级别进行设置或调整,以便控制生成的镜像的内存布局。以下过程描述了如何访问和修改链接器符号。 | 链接器符号可能需要在项目级别进行设置或调整,以便控制生成的镜像的内存布局。以下过程描述了如何访问和修改链接器符号。 | ||
- | 1. 打开**Project-> | + | 1. 打开** Project -> Options **并选择** Linker **类别。 |
- | 2. 打开**Config**选项卡。 | + | 2. 打开** Config **选项卡。 |
- | 3. 查看**Configuration File symbol definitions**框(参见图19)。 | + | 3. 查看** Configuration File symbol definitions **框(参见图 |
4. 可在这里添加或编辑预处理符号。 | 4. 可在这里添加或编辑预处理符号。 | ||
- | ![图4. IAR定义的符号框](http:// | ||
- | ## 在IAR中复位CC2640R2F ## | + | 图4. IAR 定义的符号框 |
- | 在debug界面下,从**Reset (back arrow) Debug**下拉框中选择**Board Reset**选项,进行复位。 | + | |
- | ![图5. IAR板复位](http:// | + | ![](http:// |
+ | |||
+ | ## 在 IAR 中复位 CC2640R2F ## | ||
+ | |||
+ | Debug界面下,从** Reset (back arrow) Debug **下拉框中选择** Board Reset **选项,进行复位。 | ||
+ | |||
+ | 图5. IAR 板复位 | ||
+ | |||
+ | ![](http:// | ||
## 加入我们 ## | ## 加入我们 ## | ||
+ | |||
文章所有代码、工具、文档开源。加入我们[**QQ群 591679055**](http:// | 文章所有代码、工具、文档开源。加入我们[**QQ群 591679055**](http:// | ||
<div> | <div> | ||
行 107: | 行 132: | ||
</ | </ | ||
</ | </ | ||
- |