您的位置 首页 FPGA

ZigBee 协议移植(ARM+Linux)

ZigBee协议栈移植步骤大致如下:1)详细了解自定义硬件平台与MicrochipZigBee协议栈支持硬件之间的异同。对用户自定义的硬件平台和Micro

ZigBee协议栈移植过程大致如下:1) 具体了解自界说硬件渠道与Microchip ZigBee协议栈支撑硬件之间的异同。对用户自界说的硬件渠道和Microchip ZigBee协议栈支撑的硬件渠道进行剖析比较,了解它们的处理器在I/O端口分配,内存组成及运用、中止处理、仓库操作等各个方面的异同。别的还要剖析两者所选用的ZigBee无线收发器之间的异同,了解它们的操作时序、操控指令、各寄存器的效果等。

2) 具体剖析Microchip ZigBee协议栈。对硬件有了清楚的知道之后,需求对协议栈进行具体剖析,了解协议栈的组成结构、各部分功用及完结办法等,并懂得针对硬件需求对协议栈做哪些修正,现在已经有哪些功用,没有哪些功用,需求添加哪些功用等。
3) 修正Microchip ZigBee协议栈并运用用户的编译器进行编译。以上过程完结之后就能够对Microchip ZigBee协议栈进行修正,修正时要注意结合编译器的特性进行,需求对一些宏、常量等进行修正。在修正完结之后需求运用用户的编译器对其进行编译。
4) 编写测验程序对修正的协议栈进行测验。协议栈修正完结之后需求编写相应的测验程序对修正的协议栈进行测验,在编写测验程序时要对协议栈的每一部分功用都进行测验。
5) 开发运用程序。一切功用测验经过之后用户就能够依据自己需求开发运用程序了。

以LINUX下S3C2410 ARM芯片为例,移植过程中需求进行如下的修正工作:

1. Microchip 协议栈规划为仅在Microchip PIC18F 系列单片机上运转。协议的移植首要表现在对渠道相关部分的改写或重写, 以及在Linux环境下的并发操控及功用优化上。包含:SPI接口、动态内存分配、固态存储、节拍操控等的改写或重写,中止服务(ISR)与底半部(bottom half)的规划。运用程序接口、进程的当令睡觉与唤醒,看护进程等。其间动态内存分配、节拍操控等能够运用Linux操作体系的体系函数,完结较为便利。运用内核的内存分配和收回函数kmalloc和kfree可完结动态内存分配:运用大局节拍变量jiffies(Linux中称为体系“嘀哒”)改写节拍操控模块。SPI接口方面,此处选用S3C2410 ARM芯片,运用它内置的SPI操控器。能够便利地完结SPI功用。一起运用GPIO操控器完结其他I/O口的操控与中止并重。这些IO口包含CC2420的芯片使能Cs、电压调理器使能、RESET操控、CCA (信道闲暇)检测、FIFOP中止,FIFO检测(用于判别溢出)、SFD中止。

2. 在MicroChip协议栈中运用程序接口被规划成API函数或宏界说。运用程序只要在代码中包含界说了这些函数或宏的头文件,在编译时就能主动链接构成一个完好的可执行程序。而在依据Linux的程序规划中,代码被分为内核态和用户态,只要内核态代码能够拜访中止,因此ZigBee协议或驱动有必要运转存内核态,而运用程序则处在用户态。运用程序在编译时不直接与协议供给的接El函数链接。而是经过ioctl体系调用完结拜访。在驱动中界说一个Zigbee ioctl函数。在这个函数中具有不同参数的ioctl体系调用被分派到不同的接El函数中,完结不同的功用。例如为使运用程序能够运用发送键值对的接口函数。在zigbee ioctl中就应该有这样的查办

case APLSendKVPDirect:

return APSDE_DATA_request (

(MESSAGE_INFO *)arg

);

APSDE_DATA_request即为运用支撑层(APS)供给的数据发送接口函数。此刻运用程序有必要以APLSendKVPDirect为参数进行ioctl体系调用。在zigbee_ioctl函数中还可依据运用的需求添加调用接口,为运用程序的编写供给便利。

3. ZigBee协议栈中各个子层都有各自的使命函数,它们被规划成有必要在运用中尽可能多地调用包含接纳数据包、超时处理、数据转发等。这些函数在嵌人式Linux环境下相同被规划成由运用程序经过体系调用来拜访。调用他们的运用程序扮演着看护进程的人物,我们这些函数被封装成一次体系调用.因此在单CPU环境下,更需考虑竞态的产生。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/263567.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部