TI zigbee Z-stack linux gateway 移植编译注意事项

项目地址:

https://github.com/Torchwoods/Ti_Z-Stack_Linux_gateway.git

概述

TI zigbee Z-stack linux gateway是适用于AM335x,但是当前手中并没有AM335x,只有一个MT7620N路由器开发板,上面运行Openwrt系统。使用MT7620N+CC2530做一个网关。MT7620N与CC2530通过串口通讯。
实现网关步骤:
1、CC2530刷入ZNP固件。具体操作可以查看【Zigbee Stack CC2530 ZNP使用】
2、移植TI zigbee Z-stack linux gateway 或者移植znp-host-framework
当前是1.01版本的,TI基于Z-Stack 3.0版本的 gateway还在测试阶段。

移植Gateway注意事项

在ti上面下载Z-STACK-LINUX-GATEWAY并安装,安装的时候注意权限问题。安装完成后目录结构如下
这里写图片描述
刚安装好的Gateway目录里面的固件都是基于AM335x,要生成适合mt7620n开发板的固件,主要修改目录位于Source目录
这里写图片描述
初始目录没有protobuf-c-mips目录,protobuf-c-mips里放的是适用于mt7620n的protobuf库文件。

  • 编译适用于mt7620n的protobuf库程序。并将其拷贝到Source目录下
  • 修改Source目录下的所有Makefile将交叉编译工具指定为mipsel-openwrt-linux-gcc
  • 修改Source/scripts/package_builder_bbb交叉编译工具、protobuf库(将所有的arm库替换为mips库)
  • 修改Makefile编译选项,-mcpu=cortex-a8 -march=armv7-a 改为-march=24kec
  • 修改Source/build_all中PROTOLIB库的指向,将其指向protobuf-c-mips
  • 编译的时候会出现无法找到execinfo.h头文件错误,解决方式:删除代码中应用execinfo.h的地方
    这里写图片描述

这里写图片描述

  • 增加调试选项
    在调试阶段,可以通过日志打印的方式查看网关是否按照预想的方式运行。
    修改Source/Projects/tools/LinuxHost/makefile,在DEFINES 后增加-D__BIG_DEBUG__ 编译选项
    并且关闭SPI功能 同样在该makefile 的DEFINES处删除-DNPI_SPI=TRUE

  • 修改串口配置信息
    修改Source/Projects/zstack/linux/collateral/gateway/config/NPI_Gateway.cfg
    使能串口工作方式,关闭流控,设置波特率为115200,串口在mt7620n上面的名字
    这里写图片描述

  • 修改启动脚本bash
    Source/Projects/zstack/linux/scripts/hagateway/track_servers
    Source/Projects/zstack/linux/scripts/hagateway/zigbeeHAgw
    将/bin/bash改为/bin/sh

  • 屏蔽zigbee复位
    在原先的脚本中,启动zigbee前需要通过一个IO口控制zigbee复位,但是MT7620上面没有IO口控制zigbee复位,所以要屏蔽IO口复位。和后期可以增加一个软件复位上去。
    修改Source/Projects/zstack/linux/scripts/hagateway/zigbeeHAgw
    将ignore_zbee_reset=0,改为ignore_zbee_reset=1

  • 声明TCLIB环境变量
    在编译环境中export 一个TCLIB环境变量,否则编译不通过

export TCLIB=/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib

  • 编译

./build_all
编译完成后,在当前目录下生成out目录,将该目录下的Precompiled_arm.tar通过scp拷贝到mt7620n系统中。

测试

  • 运行zigbeeHAgw

./zigbeeHAgw beaglebone

这里写图片描述

  • 运行测试程序

./start_application

这里写图片描述

基本的移植工作完成,后期会参考Z-stack linux gateway编写自己的网关功能。

猜你喜欢

转载自blog.csdn.net/oxp7085915/article/details/77368584