首页 > 其他分享 >silicon zigbee开发环境搭建及工程创建、导入、烧录

silicon zigbee开发环境搭建及工程创建、导入、烧录

时间:2024-09-07 08:55:44浏览次数:11  
标签:选择 烧录 工程 zigbee silicon 编译 点击 安装 IAR

1. Ember软件和sdk安装

1.1 Simplicity Studio

    1.安装:双击install-studio-v4_x64.exe安装,使用默认方式安装即可,或者可以将安装目录更改到自己的安装目录下。

    2.SDK 安装:

    推荐使用方法2安装,这样可以不用下载sdk。

    方法1:连接开发板自动安装

    开发板连接:将开发板连接到电脑上,打开Simplicity Studio,使用帐号登陆。

    点击Update Software,可以选择Install by Device。

437a3c46fd0d4d30b0fe179db43e5640.png

勾选设备,点击next,直到Installation option,选择要安装的sdk(图中显示6.2.3版,现在最新版本应该是6.5.2+),这里为EmberZnetSdk,点击Finish,开始自动安装,直到完成安装。

b904c77081e342f799fcad7d0b5d8b23.png

    方法2、手动安装

    1、打开Simplicity Studio,使用帐号登陆,点击Update Software,可以选择Install by Product Group。

0a5594ebaf92407d83a9a292adb4e2f1.png

    2、选择zigbee,点击next,直到Installation option,这里为EmberZnetSdk,点击Finish,开始自动安装,直到完成安装。

a5f64ac898324cdfa2c85904188e1aae.png

6055777bbc034204a2ee9bc6eb838a44.png

    可以将SDK勾选掉,用我们代码中自带的SDK进行编译。

1.2 IAR ARM环境安装

    参考《ZigBee模块烧录环境.doc》中CC2530编译环境IAR安装章节,将IAR EW8051-9.2替换为EWARM-CD-8201-14188.exe。

 

2. 工程创建

    如果只是需要导入zigbee工程的人来说,2.1-2.3章节可以不用关心。

2.1 创建host工程

    1、打开Simplicity Studio 按图示步骤操作

d824f1cf1f5448a199bf697da2c21f3a.png

    2、在弹出的界面选择ZCL Application Framework V2,点击Next继续

d36b1e12a3c543fd9bf3fdd6c3cd4f2a.png

    3、选择GA Host创建host工程

e0c753deb8284689926b33cf307ad1a0.png

    4、选择所需的工程进行创建

d9edfd8c01ac495f9ba8c82ee4519e2d.png

5、选择finish完成工程创建

d1038f4ca64a450aba2797d28f568276.png

    6、工程创建完成后,会进入一个工程配置的界面,可根据需要对工程进行配置,配置完成后,点击右上角的Generate按钮,即可生成工程源码。

    注意:生成的代码并不能直接在IDE里编译,需要将整个SDK文件夹拷贝到linux环境下编译。

    例如: C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.0\app\builder\Z3GatewayHost\为工程所在的目录,则需要将  C:\SiliconLabs\SimplicityStudio\v4\developer下的sdks目录拷贝到linux下,编译时再进入到工程目录进行make

95f7ad268931477381678030099930eb.png

2.2 创建NCP工程

    1、选择创建新工程,如图示选择创建NCP

f093de6224fe44d0a14f7ef085b7dac5.png

    2、选择所需创建的工程类型,点击Next

0f23dc960d704a1e9be86dee498987b5.png

    3、因为编译需要依赖IAR,所以toolchain选择IAR

7c55140b4fd1438ebd7416c7c4579f01.png

    4、如图所示,在配置界面选择

000782e16e424f97b46fbc2634ada5a9.png

    5、如图所示,在配置界面选择

7174d59d49a84ad4b99ee99e50b9f7d0.png

   6、此时如果直接点Generate会报错,需要在plugin界面将GreenPower库去掉一个

e7c9b53844944e61815af73b674d57dc.png

   7、点击界面的锤子标志可以进行工程编译,或右键选择工程,选择build project。

8b67968532c3462fa3261d0ffe6999d8.png

2.3 创建Soc工程

    1、同以上的生成方式相同,构建工程时选择下图红框中的选项,之后的配置参照NCP工程进行。

    注意点:修改配置之后,Generated生成文件默认不覆盖callback。需要手动勾选。

53ea431e5c33415f93e87c804adbb1bc.png

7585ff94cfaf4bddb598cb8d76483c45.png

 

2.4 私有簇添加

    1、实现自定义的簇描述文件,文件格式为.xml。文件路径为:

D:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.0\protocol\zigbee_6.0\tool\appbuilder

    模板文件:sample-extensions.xml

00499387b3804dbf8001f6b055ae6383.png

    2、加载自定义xml,步骤如下:注意需要将窗口文件关闭。

fb03b54fc82942048d231f413b22aab2.png

 

defd9e59b4ea48a8a526227176d78ca0.png

 

26818a19a6af4944a103144e2bd51560.png

3、完成之后,可在ZCL Cluster的配置界面,查看到我们添加的私有簇。

44bacb19108040c0bcd2cf648119b588.png

 

    4、私有簇加载之后,我们使用私有簇,需要通过选择自定义的设备类型,操作如下:

 

38c6694816914396b11bbc3699243a72.png

 

6ed2947619fe495281a1830422b0e989.png

16e89e3d94794f31bc2fe777854068ec.png

    其他配置跟普通ZCL工程配置一致,完成之后,generation生成代码进行编译。

 

2.5 soc工程导入

    1、切换工作目录

    点击红圈中的file,再点击switch workspace

6fa04759bd864d9e907ac4e031e6818a.png

    2、选择需要导入的工程所在目录

988d19000eb84d14a55ff89392456caa.png

    3、sdk添加

5611cfe92b474973b830c974be555bb5.png

        a在主界面下,点击小齿轮,会弹出Preferences的界面。

        b在界面左侧选择simplicity studio

        c选择SDKs。

        d选择SDKs右侧的add选项。

        e在add SDKs选项中,点击Browse。

        f最后选择ok。

 

4、私有簇添加参照章节4、私有簇添加

5、修改工程相关配置

1)修改工程名

8b13ff6fbc8d431297378af23ed5c762.png

35dcd43e6580491cbd50abe316f88351.png

2) 修改isc文件相关内容

f04bc45958d0473588bfd046d21e1abb.png

 

f62194ae48ec454e8494293898c18326.png

3f2daf65adc742a0bd65b82720cff41c.png   

 

6、工程导入

    选择File-->Import--->More Import Option

    选择Existing Projects into Workspace--next

    选择工程路径,点击结束

7a063f3712da4966b7938fd124a09843.png

5a276cd42bff4df4b6c60e1057f39f7f.png

ce3558ebcff344d48063af60a87aea8d.png

    7、导入的工程编译

    1)导入的工程,打开xx.isc文件

    2) 勾选Generate后重新生成callbacks

aa26be7ca58d449f8d74c4b4a1f7ae69.png

    3) 点击Generate,重新生成工程

   4) 将原工程Z3_xxx_callbacks.c的内容复制到新工程Z3_yyy_callbacks.c中,并删除所有原工程相关文件

   5)编译

   6) 取消勾选Generate后重新生成callbacks

 

3. 程序烧录

    1、在不连接debuger的情况下点击右键,选择Upload Application

d1988b3e656644c3821de87398640cec.png

    2、如图中红框所示,选择对应的bootloader路径和程序镜像路径,在开发板有bootloader的情况下可以不用选择bootloader镜像。

1e495149fb274267870409bfe17e3773.png

    3、NCP模式和普通的ZCL模式使用的bootloader不同,如下图:

83f4f1a449b149209cb83f8c8924d8c5.png

    ncp-images文件夹中存放着ncp的官方编译好的bootloader和ncp程序。

tool文件夹中存放着官方编译好的ZCL程序。

    通过commander进行烧写

    a、连接Jlink,连接目标板。

    b、选择烧写目标程序。

    c、点击Flash。

77d71c1d74c740e782e51208515ad640.png

a110e53ee0ea48efa9f91700009edbbe.png

    除了上述烧写方式以外,我们还可以通过自定义固件烧写工具进行烧写

    a打开固件烧写工具,选择commander路径,选择目标芯片型号。

    b选择烧写目标程序,勾选是否烧写ctune值,和NCP程序。

    c点击烧写

726445b6427d4dd8ae9641e633f4295a.png

4. 程序debug

由于simplicity studio debug有问题,我们可以利用IAR进行debug,方法如下:

1) simplicity studio在构建工程时会生成对应的IAR工程,如下图红框

a4c44562422a4806875206b15b94fa9b.png

2) 右键点击Z3LightSoc.eww,选择Properties可以找到IAR工程文件位置

2879598c4b404ce482ae45c1b26dd329.png

235eb2976de5436b96d23a8380173685.png

3) 在IAR中打开工程文件,在工程选项中去掉红框中的对应项,即可使用IAR进行debug

a71cf156050e433d8568b8bbcfd3333b.png

   

5. 抓包环境构建

5.1 CC Debuger驱动安装

驱动文件为《CC Debuger驱动.rar》

    将硬件连接到电脑时(硬件连接过程后面介绍),会检测到硬件,选择右击计算机--->管理--->设备管理器。

cae084e540b04fd49ca8fb0dce5f87f0.png

 

    右击CC Debuger,选择更新驱动程序软件---->选择浏览计算机以查找驱动程序软件---->驱动程序软件路径为相关软件目录下的CC Debuger驱动.(根据计算机特性选择64位还是32位的驱动)。

b7482912709d48d0b39bf5f641f0be77.png

    点击下一步安装驱动,直至驱动成功安装。

21f6d4271aef4ca4a8053c5a24e22f6a.png

5.2 Ubiqua抓包环境

1、ubiqua安装

       a、安装:双击UbiquaToolbox_1.4.2244.msi,默认安装。

       b、破解:将crack路径下的Ubiqua.exe替换安装路径下Ubiqua.exe文件。

   2、ubiqua使用

       a、将硬件抓包器接入电脑。

        b、打开Ubiqua,点击Device---->add device,选择抓包器。

d8905f90659246149db054caf6b34cc9.png

 

    3、添加TC link key

    点击Tools-->option--->Security,点击add,选择KEY类型为Application or Trust Center Link KEY。输入KEY值,点击add。

    TC Link KEY 5A:69:67:42:65:65:41:6C:6C:69:61:6E:63:65:30:39

7c0c07393a1b400fac831d366454f02c.png

4、右击选择信道和协议,开始抓包。

0cbabd17ddbf4e01931727f9743e26c0.png

 

注意:只有抓到一次入网过程,才能解析抓包过程中的数据。

  1. 提交问题到原厂
  1. 打开Silicon Labs官网(https://www.silabs.com/),在右上角点击Log In进行登录

 

72070040cc9f4f2480abf6711fc9eb3b.png

 

2、登录后点击右上角鼠标所指到时弹出页面的Account选项

b88fcd1796fc4bc8a94edd7828c6f855.png

 

3、在弹出的页面上点击个案(或Cases)选项(不同账户下显示的页面页面可能稍有不同,但是都会有个案(或Cases)选项)

0e29c5cea85c4e118c250a40bcc82ca9.png

 

4、在个案页面下选择建立新个案(Create New Case)

f5478218717f446c931defab1baa5af4.png

 

5、编辑具体的个案内容,然后保存,如果有附件需要附上,则选择Save and Attach Files。

 

 

 

 

 

 

 

 

标签:选择,烧录,工程,zigbee,silicon,编译,点击,安装,IAR
From: https://blog.csdn.net/u010467490/article/details/141963380

相关文章

  • 基于ZigBee的老人家庭监护报警设计
    1整体方案设计本设计老人家庭监护报警系统的整体架构如图2.1所示,包括终端节点、协调器、上位机三个部分,其各个部分功能如下:终端节点:以CC2530单片机为控制核心,结合心率传感器、DS18B20温度传感器、压力传感器、红外传感器对老人当前的心率、体温、是否在床上、是否在厕所的状......
  • 蓝桥杯-STM32G431RBT6工程创建和程序烧录(保姆级图文详解)
    文章目录前言蓝桥杯嵌入式赛道所使用的开发板为STM32G431RBT6 CT117E-M4开发板(新版),如下图:一、需要安装的环境keilMDK,stm32cubemx,官方提供的资源包二、使用步骤(STM32cubemx部分)1,首先打开STM32cubemx注:蓝桥杯用HAL库更节省比赛时间,也更方便修改2,创建项......
  • zigbee设备入网&安全
    1概述1.1设备入网概念在一个zigbee协调器设备建立网络后,未加入网络的路由设备或终端设备,可以加入协调器建立的网络。设备入网有两种入网方式:关联入网:由新设备发起入网请求,网络内设备回应请求;直接入网:由网络中原有设备决定,子设备具体加入到某父设备下。在父设备中写入子......
  • 如何使用四博智联ESP32-C6开发板的Zigbee功能,将其作为MQTT+Zigbee网关来控制Zigbee多
    参考了乔帮主的:ESP32-C6开发板Zigbee功能抢先体验(MQTT+Zigbee网关+灯)DF创客社区关于ZigBee的原理和知识,这里就不重复了,网上的资料非常的丰富。乐鑫为Zigbee功能,提供了专门的SDK支持:GitHub-espressif/esp-zigbee-sdk:EspressifZigbeeSDK在ESP-IDF中,也专门提供了实例......
  • 物联网通讯协议MQTT、NB-IOT、Zigbee、CoAP、RFID、BLUETOOTH、NFC、4G和HTTP
    物联网协议集一、按网络四层协议分类NB-IoT,LORA,WIFI,蓝牙,zigbee,4G都是物理层的,这几个都需要芯片模组支持(硬件支持)而MQTT,COAP,HTTP都是应用层协议,这些需要开发服务器,或者对接云平台厂商(软件支持)所以(MQTT,COAP,HTTP)是居于(NB-IoT,LORA,WIFI,蓝牙,zigbee,4G)的上层协议物理层中二、按需要网关来分......
  • SimpleTranslationAIAgent借助SiliconCloud API 构建自己的专属翻译助手
    SimpleTranslationAIAgent介绍SimpleTranslationAIAgent是一款基于C#与LLM通过简单对话即可实现文件到文件的翻译任务的简单应用,基于WPF与SemanticKernel构建。该软件是MIT协议完全开源免费的,但是调用LLM的API可能需要费用,但是没关系,赛博菩萨硅基流动有免费的模型可调了。这个......
  • Zigbee VS DigiMesh 网络特性对照表
     Zigbee协议DigiMesh协议节点类型协调器,路由器和终端设备同质网络,灵活路由可配置性多重角色定义会导致网络配置不太灵活。每个父设备只能支持数量有限的子设备。可更灵活地扩展网络。简化网络设置。无须考虑网络父/子设备比率。或者,您可以禁用相关设备路由消息的......
  • 在NextChat中接入SiliconCloud API 体验不同的开源先进大语言模型
    NextChat介绍One-Clicktogetawell-designedcross-platformChatGPTwebUI,withGPT3,GPT4&GeminiProsupport.一键免费部署你的跨平台私人ChatGPT应用,支持GPT3,GPT4&GeminiPro模型。主要功能在1分钟内使用Vercel免费一键部署提供体积极小(~5MB)的跨......
  • Python3.11二进制AI项目程序打包为苹果Mac App(DMG)-应用程序pyinstaller制作流程(App
    众所周知,苹果MacOs系统虽然贵为Unix内核系统,但由于系统不支持N卡,所以如果想在本地跑AI项目,还需要对相关的AI模块进行定制化操作,本次我们演示一下如何将基于Python3.11的AI项目程序打包为MacOS可以直接运行的DMG安装包,可以苹果系统中一键运行AI项目。MacOs本地部署AI项目首先确......
  • H7-TOOL脱机烧录的UID加密操作方法,支持一键生成目标板C代码,方便大家轻松操作(2024-08-2
    UID加密使用比较方便,对应的C代码模板已经做好,使用TOOL上位机生成后,直接复制粘贴到自己的工程即可使用。返回1表示解密成功,返回0表示失败。【UID加密原理】1、烧录器在烧录芯片时,按照指定的算法将UID码编码为一个加密数据,并写入FLASH指定区域。2、用户的程序必须增加一段UID校......