微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > cc2530怎样通过串口下载更新程序?

cc2530怎样通过串口下载更新程序?

时间:10-02 整理:3721RD 点击:

cc2530使用的是z-stack协议栈(2.5.1a),现在想通过串口实现程序的随时更新,不知道该怎么操作呢?通过无线来烧写程序又该怎么做呢?有人能帮帮我吗?

Z-stack安装的目录下Document里面有专门介绍Serial Boot loader的使用方法,Serial Boot Loader for CC253x.pdf

 http://processors.wiki.ti.com/index.php/CC253x_Serial_Boot_Loader    

谢谢你的回复,Documents里面的这篇说明我看过,但是没能完全看懂,我不知道是不是我的理解不正确导致操作的时候总是失败。你能帮我分析下吗?

我的操作大致是这样的,首先我的协议栈版本是2.5.1a的。

1.在这个路径下C:\Texas Instruments\ZStack-CC2530-2.5.1a\Projects\zstack\Utilities\BootLoad\CC2530有一个名为 Boot.eww 的文件,我直接将它通过下载器下载到芯片。

2.打开我自己写的工程,按照Documents里面Serial Boot loader的说明配置Option各项,然后编译生成bin文件。

3.连接串口线,我的电脑没有串口,所以接了一根usb转串口连接线,从九针上面链接对应的2,3,5针脚到板子上。

4.在路径C:\Texas Instruments\ZStack-CC2530-2.5.1a\Tools\SBL Tool下有个名为 SBDemo.exe 的工具,打开它选定刚才生成的bin文件,选择连接好的串口号后,Load Image 。

我是这样操作的不知道对不对,是不是这样操作以后,如果成功的话,芯片里面就种下了bootloader ,以后想更新程序时,可以直接通过串口烧写bin文件就行了。

谢谢指导

是这样的,但是记得下载自己的程序时,别把flash完全擦除,这样会把bootloader擦除掉。

感谢你的回复,这确实给了我很大的鼓励和帮助。

我还想请问,为什么我烧写bin文件后,LED1灯还是一直在闪呢?这个灯闪,应该是说明还在boot里面,没进我的app吧。

可是我也是按照文档里面的描述从.map文件里面复制的那个值到OnBoard里面的crcshdw啊。

下载boot后,在程序跳转的地方设置断点,看看有没有跳转到app去执行

我打开boot工程,发现LED1闪烁,是因为一直在进sblExec()函数,而且停在

else if (dlyCnt++ & 0x4000)
{
SB_TOGGLE_LED1();
}

这里面。

应该要继续往下跳转的吧

你好  我也遇到相同的问题  不知您是否已经解决了?希望能够联系,交流一下  qq876947088  邮箱 SunBingle2013@gmail.com

谢谢

George, Wade:

当你们把.map文件中的crc值,复制到crcshdw以后,需要重新编译一次,编译以后生成一个新的bin文件,打开bin文件,

找到存放crc和crcshdw值的地方,0x2090~0x2091和0x2092~0x2093,看两个值是否相等,并且都不等于0xFFFF,这样把bin文件下载进去以后就直接jump到Application code去了

首先谢谢您的回复

我查看bin文件发现两个值并不一样

具体的如附件所示,我已经按照文档  将crc的值复制到cecshdw中

以上是设置  具体情况

wade,

不好意思,之前说错了,应该看Hex文件,将输出格式改成hex,然后用记事本打开hex文件,找到2090就可以了,下面就是CRC和CRCSHDW的值。

:10207000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:10208000FFFFFF02218201FFFFFFFFFFFFFFFFFFB6
:10209000102010200101FF01010503010F10FEFFB8

HEX 文件的配置的时候  和bin文件生成的时候有很大的区别吗? 协议栈内部有参考文档吗?

Hex 格式和Bin格式,这些都是标准上的格式文件,和协议栈没有关系,任何软件都是一样的,具体区别你可以百度就知道了。

hex 文件生成已经看过了   是一样的   但是协议栈只提供bin文件下载的软件   没有hex文件下载的软件啊

SmartRF Flash Programmer

记得别把SBL擦掉

不知道楼主这个问题解决了么,我也遇到一样的问题,用SBDemo.exe根据手册烧写进去后,啥反应没有,你是怎么解决的,能给我解释一下么,谢谢!

我在用serialbootloader的PC工具时遇到问题,提示

 未收到回复的错误,不知道是什么原因呢?我用的DB9的2、3、5,分别接的板子的P0_2、P0_3、GND(P0_2、P0_3对调也试过),串口线测试时好的呀,是什么原因呢?

为什么我用GenericApp按照serialboot文档设置,生成的bin有490k?生成bin文件方法如下,在map文件里看,程序也只有160k的样子吧

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top