您的位置:首页 > 运维架构 > Linux

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

2017-08-18 14:37 555 查看
项目地址:https://git.oschina.net/Edward_Ou/zbgateway.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编写自己的网关功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: