3051|0

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

OAD 实现过程中遇到的一些问题及解决方法 [复制链接]

最近实现oad功能,看了TI的官方文档,怎么也弄不出来。我用的是自己焊的板子,而TI的说明书里是要用开发套件的。这里跟大家分享一下自己遇到的一些问题.
1、  zoad显示“no host device available”。很可能是因为串口配置的流控问题,修改uartConfig.flowControl即可。
2、  生成hex文件的问题。官方文档11.1.2说Remove the comments from the –M option in oad.xcl as shown in hi-light。但不能照做,因为在oad.xcl里说的很清楚:Include these two lines when generating a .hex filefor banked code model,你发现实际情况是 code model是banked,所以这里要保留。
3、  入网后有的节点可能显示不支持oad,这个也很无语,多试几个板子吧
4、  Load image 成功后,restart device失败。官方文档里说了:An off-chip NV device must be used to storethe new OAD image when code size exceeds the available internal flash- themeans by which this occurs is beyond the scope of this document. 但是,提供的代码里用的是有外部flash的情况,所以导致restart device 一直失败。而且必须使用EndDevice类型,Route类型的话太大,照下面的方法修改后,编译会报错:
在boot工程里的hal_oad.h
#defineHAL_OAD_XNV_IS_INT         TRUE
在oad.xcl里
// Uncomment when implementing OAD NV by dividing internal flash in half.
-P(CODE)BANKED_CODE=_CODE_START-_CODE_END,0x18000-0x1FFFF,0x28000-0x2FFFF,0x38000-0x3E7FF
// Uncomment whenimplementing OAD NV by external E2PROM AND external
flash is 256 KB orbigger.
// (e.g. when usingSmartRF05 Rev. 1.7 or later.)
//-P(CODE)BANKED_CODE=_CODE_START-_CODE_END,0x18000-0x1FFFF,0x28000-0x2FFFF,0x38000-0x3FFFF,\
//0x48000-0x4FFFF,0x58000-0x5FFFF,0x68000-0x6FFFF,0x78000-0x7C7FF

// Uncomment when implementing OAD NV by dividing internal flash in half.
-J2,crc16,=800-887,88C-3E7FF
// Uncomment whenimplementing OAD NV by external E2PROM AND external flash is 256 KB or bigger.
// (e.g. when usingSmartRF05 Rev. 1.7 or later.)
//-J2,crc16,=800-887,88C-7C7FF
我遇到的主要问题就这些,希望大家有问题解决经验也能拿出来分享下,大家共同进步~
此帖出自RF/无线论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表