1 下载地址

http://www.ti.com.cn/tool/cn/z-stack
Z-Stack 3.0.x is TI’s Zigbee 3.0 compliant protocol suite for the CC2530, CC2531, and CC2538 Wireless MCU.
IAR Workbench:

Z-Stack is developed and tested using compilers from IAR. IAR versions used in Z-Stack are available to TI customers for 30 days evaluation at the following link: http://www.iar.com/Products/Wireless-solutions/Tools-for-TI-wireless/.

Application, library, and hex files were built/tested with the following versions of IAR tools. We recommend using the same IAR tool version

EWARM 8.11.1 (8.11.1.13272) for CC2538 Wireless MCU
EW8051 10.10.1 (10.10.1) for CC2530 and CC2531 Wireless MCU
Please contact your local IAR office for further details on license purchasing.

Z-STACK-3.0.1

C:\Texas Instruments\Z-Stack 3.0.1\Components\osal\common

2 BLE-CC254x-1.4.2.2

下载地址:
http://www.ti.com.cn/tool/cn/ble-stack

C:\Texas Instruments\BLE-CC254x-1.4.2.2\Components\osal\common

IAR (10.10.1) 安装与破解教程
https://blog.csdn.net/P_xiaojia/article/details/79119058

IAR Embedded Workbench for 8051 10.10下载链接与ZStack-cc2530-2.5.1a下载链接
https://blog.csdn.net/liangtao_1996/article/details/79253191

3 比较好的串口解析例程

C:\Texas Instruments\Z-Stack 3.0.1\Projects\zstack\Utilities\BootLoad\CC2538_UART

/**************************************************************************************************Filename:       sb_uart.cRevised:        $Date: 2013-06-27 15:44:38 -0700 (Thu, 27 Jun 2013) $Revision:       $Revision: 34663 $Description:    This file contains the implementation of a special SBL UART driver.Copyright 2012-2013 Texas Instruments Incorporated. All rights reserved.IMPORTANT: Your use of this Software is limited to those specific rightsgranted under the terms of a software license agreement between the userwho downloaded the software, his/her employer (which must be your employer)and Texas Instruments Incorporated (the "License").  You may not use thisSoftware unless you agree to abide by the terms of the License. The Licenselimits your use, and you acknowledge, that the Software may not be modified,copied or distributed unless embedded on a Texas Instruments microcontrolleror used solely and exclusively in conjunction with a Texas Instruments radiofrequency transceiver, which is integrated into your product.  Other than forthe foregoing purpose, you may not use, reproduce, copy, prepare derivativeworks of, modify, distribute, perform, display or sell this Software and/orits documentation for any purpose.YOU FURTHER ACKNOWLEDGE AND AGREE THAT THE SOFTWARE AND DOCUMENTATION AREPROVIDED 揂S IS?WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, TITLE,NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALLTEXAS INSTRUMENTS OR ITS LICENSORS BE LIABLE OR OBLIGATED UNDER CONTRACT,NEGLIGENCE, STRICT LIABILITY, CONTRIBUTION, BREACH OF WARRANTY, OR OTHERLEGAL EQUITABLE THEORY ANY DIRECT OR INDIRECT DAMAGES OR EXPENSESINCLUDING BUT NOT LIMITED TO ANY INCIDENTAL, SPECIAL, INDIRECT, PUNITIVEOR CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF PROCUREMENTOF SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES(INCLUDING BUT NOT LIMITED TO ANY DEFENSE THEREOF), OR OTHER SIMILAR COSTS.Should you have any questions regarding your right to use this Software,contact Texas Instruments Incorporated at www.TI.com.
**************************************************************************************************//* ------------------------------------------------------------------------------------------------*                                          Includes* ------------------------------------------------------------------------------------------------*/#include "hal_board.h"
#include "hal_types.h"
#include "sb_exec.h"
#include "sb_main.h"
#include "hw_ioc.h"/* ------------------------------------------------------------------------------------------------*                                           Constants* ------------------------------------------------------------------------------------------------*/#define HAL_UART_PORT                      UART0_BASE#define HAL_UART_SYS_CTRL                  SYS_CTRL_PERIPH_UART0
#define HAL_UART_GPIO_BASE                 GPIO_A_BASE
#define HAL_UART_GPIO_PINS                (GPIO_PIN_0 | GPIO_PIN_1)
#define HAL_UART_INT_CTRL                  INT_UART0#define HalUartISR                         interrupt_uart0/* ------------------------------------------------------------------------------------------------*                                           Local Variables* ------------------------------------------------------------------------------------------------*/static uint8 txBuf[SB_BUF_SIZE];
static uint32 txHead, txTail;/* ------------------------------------------------------------------------------------------------*                                           Local Functions* ------------------------------------------------------------------------------------------------*/static void procTx(void);/************************************************************************************************** @fn      sbUartInit()** @brief   Initialize the UART.** @param   none** @return  none*/
void sbUartInit(void)
{//// Set IO clock to the same as system clock//SysCtrlIOClockSet(SYS_CTRL_SYSDIV_32MHZ);//// Enable UART peripheral module//SysCtrlPeripheralEnable(SYS_CTRL_PERIPH_UART0);//// Disable UART function//UARTDisable(UART0_BASE);//// Disable all UART module interrupts//UARTIntDisable(UART0_BASE, 0x1FFF);//// Set IO clock as UART clock source//UARTClockSourceSet(UART0_BASE, UART_CLOCK_PIOSC);//// Map UART signals to the correct GPIO pins and configure them as// hardware controlled.//IOCPinConfigPeriphOutput(GPIO_A_BASE, GPIO_PIN_1, IOC_MUX_OUT_SEL_UART0_TXD);GPIOPinTypeUARTOutput(GPIO_A_BASE, GPIO_PIN_1); IOCPinConfigPeriphInput(GPIO_A_BASE, GPIO_PIN_0, IOC_UARTRXD_UART0);GPIOPinTypeUARTInput(GPIO_A_BASE, GPIO_PIN_0);//// Configure the UART for 115,200, 8-N-1 operation.// This function uses SysCtrlClockGet() to get the system clock// frequency.  This could be also be a variable or hard coded value// instead of a function call.//UARTConfigSetExpClk(UART0_BASE, SysCtrlClockGet(), 115200,(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));UARTEnable(UART0_BASE);
}/************************************************************************************************** @fn      sbUartPoll** @brief   This routine simulate polling and has to be called by the main loop.** @param   void** @return  void*/
void sbUartPoll(void)
{procTx();
}/************************************************************************************************** @fn      sbUartWrite()** @brief   Write a buffer to the UART.** @param   pBuf - pointer to the buffer that will be written.*          len  - length of buffer to write.** @return  length of the buffer that was sent.*/
uint32 sbUartWrite(uint8 *pBuf, uint32 len)
{uint32 idx = txHead;uint32 cnt = txTail;if (cnt == idx){cnt = SB_BUF_SIZE;}else if (cnt > idx){cnt = SB_BUF_SIZE - cnt + idx;}else // (cnt < idx){cnt = idx - cnt;}// Accept "all-or-none" on write request.if (cnt < len){return 0;}idx = txTail;for (cnt = 0; cnt < len; cnt++){txBuf[idx++] = pBuf[cnt];if (idx >= SB_BUF_SIZE){// txBuf is a circular buffer. When reaching the end - go back to the start.idx = 0;}}txTail = idx;procTx();return len;  // Return the number of bytes actually put into the buffer.
}bool sbUartCharAvail(void)
{return UARTCharsAvail(HAL_UART_PORT);
}/************************************************************************************************** @fn      sbUartGetChar** @brief   Attempt to get an Rx byte.** @param   pCh - Pointer to the character buffer into which to read an Rx byte.** @return  Zero or One.*/
uint32 sbUartGetChar(uint8 *pCh)
{if (UARTCharsAvail(HAL_UART_PORT)){*pCh = UARTCharGetNonBlocking(HAL_UART_PORT);return 1;}return 0;
}/************************************************************************************************** @fn      procTx** @brief   Process Tx bytes.** @param   void** @return  void*/
static void procTx(void)
{while ((txHead != txTail) && (UARTCharPutNonBlocking(HAL_UART_PORT, txBuf[txHead]))){if (++txHead >= SB_BUF_SIZE){txHead = 0;}}
}/**************************************************************************************************
*/

4 无锡谷雨电子 BLE CC2540 有一个 OSAL 的教程

(稍后补充)

TI OSAL资料 整理相关推荐

  1. epoll相关资料整理

    http://www.cppblog.com/converse/archive/2008/10/13/63928.html epoll相关资料整理 学习epoll有一段时间了,最近终于有一个服务器采用 ...

  2. 深入理解计算机系统 -资料整理 高清中文版_在所不辞的博客-CSDN博客_深入理解计算机系统第四版pdf

    深入理解计算机系统 -资料整理 高清中文版_在所不辞的博客-CSDN博客_深入理解计算机系统第四版pdf

  3. STM32 资料整理贴(更新到10年1月)[转]

    看到9G从QQ群上转的,后来还有没贴完 ,后面还有一大堆 链接地址 http://www.stmsky.com/bbs/viewthread.php?tid=2103&extra=page%3 ...

  4. H.264的一些资料整理

    本文转载自 http://blog.csdn.net/ljzcom/article/details/7258978, 如有需要,请移步查看. Technorati 标签: H.264 资料整理 --- ...

  5. [资料整理] Decentralized Services Orchestration, Choreography相关的几篇论文

    昨天讨论了一下论文笔记管理的方法, 我以前用过各种做论文笔记的方法. 打算逐步整理一下以前的论文笔记, 标题里注明为"[资料整理]". M. G. Nanda, S. Chandr ...

  6. 【方案】0615冰箱运行监测系统资料整理:进展及规划

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 资料整理重点内容回顾 改名字:冰箱运行监测系统 需求:[S操作]冰箱正常运行监控系统 ...

  7. 文字检测与识别资料整理

    博主关注文字检测和识别,资料整理和论文解读都非常详细: https://www.cnblogs.com/lillylin/p/6893500.html#4033329 博主的阅读习惯,积累和输出输出: ...

  8. LPS25HB 气压计 资料整理

    LPS25HB 气压计 资料整理 文章目录 LPS25HB 气压计 资料整理 LPS25HB 的主要特性: LPS25HB 的应用场景: LPS25HB的管脚: LPS25HB的机械物理性能展表 LP ...

  9. 推荐一个github上万star的机器学习资料整理贴

    推荐一个github上万star的机器学习资料整理贴,机器学习,深度学习,自然语言处理等应有尽有!(本文来源:忆臻的知乎) 作者:忆臻 春招将近,给大家推荐一个github上万star的资料整理贴,机 ...

  10. 机器学习资料整理,收藏了不后悔!

    学习Machine Learning也有很长一段时间了,前段时间在paper中应用了GTB(Gradient Tree Boosting)算法.在我的数据集上GTB的performance比Rando ...

最新文章

  1. 牛客网刷题(纯java题型 181~210题)
  2. 添加组件_Flextools 添加真实凯斯门特双开窗动态组件
  3. hdu2438 三分
  4. Sqlite数据库中索引的使用、索引的优缺点
  5. C语言函数class,C语言--7-class-while和函数.ppt
  6. android前台进程视频教程,Android Twilio视频通话,唤醒应用程序并进入前台
  7. python 多条件 选择 算法_python部署python算法 - 快速寻找满足条件的两个数
  8. ZUST-CCCC选拔赛(L1,L2部分题解)
  9. HCIE-Security Day6:5个实验深入浅出理解源NAT
  10. 【渝粤教育】电大中专跨境电子商务理论与实务 (8)作业 题库
  11. [cogs] 传染病控制
  12. 邮件服务器1---原理以及基本概念
  13. BUGKU writeup
  14. Ajax选项卡、隔行换色、弹出遮罩层…
  15. 转帖 -- 仙4语录
  16. html如何在搜索栏里加放大镜,css 如何在html页面上输出一个“放大镜”形状呢?...
  17. 计算机一级excel中模拟运算,2017年计算机一级《MS Office》操作试题及答案
  18. 个人收藏的一些资源网站
  19. signature=f2fd61184b3328e471644f6fd3617f29,IPSEC-×××-CA
  20. 从网页上直接扒取latex格式的公式

热门文章

  1. 什么是网络通信协议?(七层功能介绍)
  2. ip首部可选字段_IP报文格式及各字段意义
  3. 一文学会SPSS软件
  4. eova利用js默认初始查询值查询
  5. JAVA版村庄哨塔种子_开局5钻石!你的java版种子到了,请查收
  6. 使用C++刷算法题的简明教程
  7. Tomcat,jsp中文乱码问题解决
  8. 免费开源的电路图和PCB绘图软件KiCAD
  9. Puget Systems发布硬件可靠性报告,三星SSD表现低故障率
  10. 《免费:商业的未来》“免费经济学”读书笔记----字节跳动案例分析