发表于: 2017-5-24 11:21:25 | 显示全部楼层

本文主要介绍了使用Kinetis KW41Z双无线模式片上系统(SoC)的Freescale Freedom开发平台的蓝牙低功耗堆栈。软件开发包提供了兼容蓝牙低功耗v4.2的主机栈和实现一组基于GATT的配置文件和服务的控制器。 MKW41Z Connectivity Software包括:BLE、Thread、GENFSK、IEEE802.15.4和SMAC。


主要使用的目标平台是基于KW41Z无线双模SoC的FRDM-KW41Z Freedom开发平台,其采用的是ARM Cortex-M0内核,可配置为可在高达48 MHz的各种频率下运行。它具有512 KB的Flash和128 KB的SRAM;该平台带有一个OpenSDA的复合USB设备,其作为调试器接口和通过虚拟COM端口应用程序的USB到串行转换器。


无线UART应用程序同时实现了GATT客户端和服务器的定制无线UART配置文件和服务。

•     Wireless UART Service (UUID: 01ff0100-ba5e-f4ee-5ca1-eb1e5e4b1ce0)

•     Battery Service v1.0

•     Device Information Service v1.1


Wireless UART Service是一种自定义服务,实现了一个自定义可写入ASCII Char特性(UUID:01ff0101-ba5e-f4ee-5ca1-eb1e5e4b1ce0),保存对等设备写入的字符。

应用程序首先作为GAP中心节点。它进入GAP Limited Discovery Procedure,并搜索其他无线UART设备进行连接。如果节点在几秒钟内找不到任何外设,它会将其角色更改为GAP外设。它进入GAP General Discoverable Mode,并等待GAP中心节点进行连接。

该应用程序构建为与另一个运行相同示例的FRDM-KW41Z平台,或来自Kinetis BLE Toolbox应用程序的无线UART一起使用。


准备工作:

1. 下载KW41Z Connectivity Software:

KW41Z Connectivity Software软件包集成了Kinetis软件开发套件v2.0以及使用IEEE 802.15.4和/或蓝牙低功耗开发解决方案所需的所有无线连接堆栈。

点击下面链接下载适合您计算机操作系统的KW41Z连接软件:

安装后,您可以在下面的文件夹位置找到连接示例代码:

C:\ NXP \ MKW41Z_ConnSw_1.0.2


2.  安装工具链:

恩智浦提供免费的工具链,名为Kinetis Design Studio(KDS)

https://nxp.flexnetoperations.com/control/frse/download?element=7490587

KW41Z连接软件包括对IAR等其他工具的支持

https://www.iar.com/iar-embedded-workbench/freescale/


主要使用的步骤:

1)复制项目:运行Project Cloner应用程序

2)使用KDS构建二进制文件

3)使用生成的二进制文件执行项目


步骤1:复制项目

在这里我将使用无线UART应用进行演示:

导航到KW41Z Connectivity Software安装文件夹,并运行Project Cloner应用程序(C:\ nxp \ MKW41Z_ConnSw_1.0.2 \ tools \ wireless \ ProjectCloner)。

pastedImage_6.png


选择Project Clone的以下选项


在正确选择Codebase路径后,Project Cloner将显示所有Connectivity Software的示例应用程序。

接下来选择要复制的示例应用程序(复制示例应用程序)和所需的配置(复制配置)。


默认情况下,IAR和KDS项目都显示在“Clone Configition”下拉菜单中。我选择了KDS工具链。

重要注意事项:在复制用来在原有文件夹中创建调试文件夹和文件之前,如MKW41Z512xxx4_connectivity.ld,您需要对项目进行清除项目的构建信息。

pastedImage_7.png


我将目标根路径更改为“C:\ Users \ Brao \ Desktop \ KW41-clonned project”,并将复制的项目名称命名为“Bluetooth-wireless uart cloned”。


现在点击Clone Project。

pastedImage_8.png


您可以在日志窗口中看到复制成功:您可以在文件夹中看到复制的项目

“C:\ Users \ Brao \ Desktop \ KW41-clonned project \ Bluetooth-wireless uart clonned \ boards \ frdmkw41z \ wireless_examples \ bluetooth \ wireless_uart”

pastedImage_10.png



步骤2:使用KDS构建二进制文件

打开KDS工具并导入复制的项目,如下所示

将项目导入工作区:File -> Import -> General -> Existing Projects into Workspace

pastedImage_11.png


浏览复制的的项目路径:

“C:\ Users \ Brao \ Desktop \ KW41-clonned project \ Bluetooth-wireless uart cloned”

pastedImage_12.png


KDS项目窗口如下所示:

pastedImage_13.png


构建无线uart项目。

右键单击项目文件夹,然后选择Build Project,如下所示:

一旦构建完成,您可以在控制台窗口中看到状态为Build Finished

pastedImage_14.png


步骤3:使用生成的二进制文件执行项目

单击“Debug”按钮将可执行文件下载到电路板上


每个KSDK项目都支持两个项目配置(构建目标):

•     Debug - 编译器优化设置为低,并为可执行文件生成调试信息。应该选择此目标进行开发和调试。

•     Release - 编译器优化设置为高,并且不生成调试信息。应该选择此目标来进行最终的应用部署。


通过单击锤子图标旁边的朝下箭头,选择适当的构建目标“Debug”或“Release”,如下所示。在此示例中,选择“Debug”目标。

pastedImage_15.png


注意:请确保安装最新的J-Link驱动程序,并将其与KDS相关联。为此,请从https://www.segger.com/jlink-software.html下载驱动程序并进行安装。

将您的Board-1 FRDM-KW41Z连接到系统,然后进行Debug配置设置

pastedImage_17.png


项目配置为使用“J-Link / J-Trace”作为默认调试器。请确保您的主板的OpenSDA芯片包含J-Link固件,或者调试器选择对应于用于与主板连接的物理接口。

打开一个putty或tera term超级终端应用程序,并打开一个会话到您的FRDM-KW41Z COM端口(我的开发板是com端口连接到com44)


使用以下设置配置终端:

•     115200波特率

•     无校验

•     8位数据位

•     1位停止位


单击“Resume”按钮启动应用程序:

pastedImage_18.png


按下Resume之后,您可以看到该电路板执行,开始时屏幕为空

pastedImage_20.png


现在点击停止按钮,如下图所示:

pastedImage_21.png


现在可以从不同的usb端口连接第二块KW41Z,可以看到两个COM端口,如下图所示:

pastedImage_22.png

现在连接第二块电路板,并执行执行调试的相同操作,以便将程序下载到第二块。

在这种情况下,board-2连接到com76端口

选择第二个J-Link,代表第二块电路板,作为该工具的主动调试会话连接:

pastedImage_23.png


打开一个超级终端与com76端口设置现在你将有2个终端打开与无线uart程序执行它。

pastedImage_24.png

按第一板上的SW4按钮开始扫描设备。

在第二板上做同样的事情。

3秒钟后,第一块板卡进入GAP General Discoverable模式,第二块板卡连接。

只要LED3在两个设备上都变得固定,用户就可以在其中一个控制台中开始写入。


文字显示在另一个终端上,如下图所示。

pastedImage_25.png


译者注:本文译自https://www.element14.com/commun ... rgy-with-frdm-kw41z,感谢bheemarao做出的贡献。如有错漏,敬请指正!

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 47 | 回复: 68



手机版|

GMT+8, 2024-4-20 07:27 , Processed in 0.131609 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表