第4章协议栈应用与项目15 oad无线15指导书_第1页
第4章协议栈应用与项目15 oad无线15指导书_第2页
第4章协议栈应用与项目15 oad无线15指导书_第3页
第4章协议栈应用与项目15 oad无线15指导书_第4页
第4章协议栈应用与项目15 oad无线15指导书_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

OAD说明:本实验进行必要的了解即可目Purpose目OAD说明:本实验进行必要的了解即可目Purpose目 DesignConstraints约 OADDesign|OAD设 OADSystem OADTarget BootImageManager ImagesAand ProducingBoot ProducinganImage-A&Image- 新建配 确认新建配置无问 1234578578889设置设置设置设置设置设设................................................................................................................8.10设9................................................................................................................ 8.12创建Image-B编译配 BuildtheApplicationImagetosendoverthe iPhone5上的操 按照8节中的步骤,烧写BIM和Image-A,然后运行TI的Multitool。连SimpleBLEPeripheral,然后进入连接页面 选点Profile,然后使能OAD Sharedfiles,然后选择刚才添加的资 选择后会自动开始升级大概3分钟左右结束升级 深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品11Purpose目的该文档用来指导开发者在TI的CC254x上,如何使用基1Purpose目的该文档用来指导开发者在TI的CC254x上,如何使用基于BLE协议栈的OAD技术,该OAD技术是TI的私有Profile(TIOADProfile。所谓OAD,是一种无需仿真器烧写,直接通过无线的方式更新CC254x中的协议栈程序。2FunctionalOverview能概OAD是ti在ble栈基础上扩展的一种无线更新的技术。OAD用客户端功能的一端叫做OADManager/Server.3Definitions定义和缩4RevisionHistory5Design约在中的Flash中。OAD技术只用的是BIM+A/B的乒乓结构,BIM负责决定启动Image-A还是启动Image-B,在第一次发布产品是,BIM和Image-A均是通过仿真器分别烧写到芯片中ImageB,可以通过OADManager无线更新。Image-A和Image-B必须是完整的BLE协议栈程序。由于AB共享大部分的Flash空间,因此要求A尽量小,这样日后可以升级的B,就可以越大。深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品2OADDesign|OAD设计OADSystem如FigureOADDesign|OAD设计OADSystem如Figure1,OAD系统有两个部分:OAD 和OADManagerOADTarget三部分组成:bootcode(BIM)以及两个不同的bleimageOADManagerOADApplication和一个可以通过over-the-air发送的OADImage。6.2OADTarget如下图Figure2中,是OADTarget的逻辑概况。BIM位于8051的复位向量地址。芯片上电后首先运BIM。然BIM判断芯片Flash中是否存在有效的Image-B,如果有,跳转到Image-B开始运行。如果没有Image-B,则再判断芯片Flash中是否存Image-A,如果有跳转Image-A处运行,如果没有,则睡眠状态深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品36.3BootImageManager6.3BootImageManagerBIM运CC254x片内部最开始的复位向量处,上电后会首先运行,BIM一段非常重要的程序,OAD的实现必须要有BIM,BIM负责管理IMAGE-A和IMAGE-B,当有IMAGE-BBIM启动B,否则启动AA存在时,在等待IAR或者FlashProgrammer将A通过物理方法写入芯片内部。6.4ImagesAandImage-A和Image-B是BLE主体程序,添加了OADprofile的程序。前期的开发阶段,无需理会OAD,开发阶段收尾时,可以按照本手册,添加OADprofile,创建Image-A配置,这里需要注意一点,Image-A是为了OAD的桥梁,通过A来,更新我们最终的B,也就是说A越小越好,这样可以更大的Image-B,Image-A第一次需要通过仿真器,使IAR或者FlashProgrammer入到芯片中,当芯片成功运A后,就可以通过无线更新Image-B了,主要注意的是,如果Image-B已经更新过了,又要升级,怎么处理呢,这就需要把B作为桥梁,再次通过无线的方式下载Image-A,这样有了A之后,再更新修改过后的B。7ProducingBootBIM经存在与协议栈中,无需修改,可以直接下载,目录如下(必须先下bim):TexasInstruments\BLE-CC254x-1.4.0\Projects\ble\util\BIM\cc254xBIM会完全擦除芯片flashProducinganImage-A&Image-以CC2541配置的SimpleBLEPeripheral工程为例。(SimpleBLEPeripheral已经添加了OAD的配置,这里是从头重做。)新建配选择Project->EditConfigurationsNew加一个新的buildtarget:ImagA,请确认是基于原来的CC2540configuration:深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品4 确认新建配置无直接编译刚 确认新建配置无直接编译刚刚创建的的ImagA应该没有任何错误和警告。如果有问题8.1做 设置Project->Options->C/C++Compiler->Preprocessor->Definedsymbols,然后添加下列4条definition(可以通过快捷键:Alt+F7):FEATURE_OADFEATURE_OAD_BIM然后在‘Additionalincludedirectories’中添加OAD添加后如下深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品5然后在IAR左侧源码列表中的然后在IAR左侧源码列表中的PROFILES添加oad_target.c,oad_target.h,oad.h文件。源文件路径为:INSTALL_DIR\Projects\ble\Profiles\OAD,添加后:这里如果文件添加后不能正常显示,进行如下操作首先然后深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品6文件显示出来了 设置修改文件显示出来了 设置修改SimpleBLEPeripheral代码,使能oadprofile。functionasshownbelow:#ifdefinedFEATURE_OAD//OAD深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品7 设置在simpleBLEPeripheral.c中添加OAD头文件(注意 设置在simpleBLEPeripheral.c中添加OAD头文件(注意:源程序已有该修改了)。#ifdefinedFEATURE_OAD#include"oad.h" 设置Project->Options->BuildActions->Post-buildcommandline,粘贴下列命令(注"$PROJ_DIR$\..\..\common\CC2540\cc254x_ubl_pp.bat""$PROJ_DIR$""ProdUBL"以上后面的路径中,可以根据实际需要修 设置选择 粘贴如深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品8 设置extraoutput,如 设置extraoutput,如下图所示:C-SPY-深圳市安联德科技有限公 设置选择Project->Options->Linker->ExtraOutput->Format(该步骤可略过这里设 设置选择Project->Options->Linker->ExtraOutput->Format(该步骤可略过这里设置产生一个hex文件,可以直接append在BIM的hex后,这样BIMextened并且设置产生一个后缀的文件。如 设置选择Project->Options->Debugger->TexasInstrumentsflash写了BIM,这里需要设置,不要擦除先前烧写的内容深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品 至此,Image-A已经配置OK,然后编译下载到CC2540编译时有 至此,Image-A已经配置OK,然后编译下载到CC2540编译时有可能出现post-builderror,这是因为还没有产生sim文件。可以忽略这个错8.12创建Image-BImage-B的配置和Image-A非常类似,不同的是将preprocessordefinition里的HAL_IMAGE_A换成HAL_IMAGE_B,并且post-buildcommandline里的EXE路径必须要修改成对应的,最后linkercontrolfile其中的xcl需要替换成如下:注意:optionslinkeroutputotheroutput选raw-binarymodule-local里选择includeall,其他默认。这样就可以生成.bin文件了,如下图:我们还需要进一步修改Image-B代码的版本号,打开‘oad_target.c’修改OAD_IMAGE_VERSION原来的0x0000为0x0002。然后编译,最后会在exe目录下会得到*.bin文件,该文件就是Image-B,可以无线更新到芯片中。友情提醒:创建新的配置如深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品9BuildtheApplicationImagetosendoverthe9BuildtheApplicationImagetosendovertheImage-B编译后,会在路径SimpleBLEPeripheral\CC2541DB\ImgB\Exe目录下生成到9.1iPhone在苹果AppStore里下载TI的iOS软件:TIBLEMultitool,然后将连以资料的方式附加中接到itunes里,将SimpleBLEPeripheral.bin再找到文件共享的地方选择深圳市安联德科技有限公司专注专业无线通讯勇于创新追求卓越品的Multitool。连 按照8节中的的Multitool。连 按照8节中的步骤,烧写BIM和Image-A,然后运行深圳市安联德科

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论