微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > cc2640 串口升级

cc2640 串口升级

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

Hi all,

因为2640的oad没弄成功,所以自己援引ST的IAP写了一个串口升级功能,boot功能代码起始地址为0x00000000,应用程序起始地址指定为0x00007000,协议栈起始地址为0x0000F000,应用程序与boot公用协议栈。

问题:我编译应用程序时,改写icf文件,把起始地址改为0x00007000。可是编译生成的bin文件却是128KB,我看了下,icf里面指定了CCFG在flash最后一个page,是这个导致的么(屏蔽掉相关语句,也是变成127KB而已)?怎么才能生成应用程序实际大小的bin文件?

JianHua,

2640的串口bootloader协议在这个文档的第八章有详细介绍:http://www.ti.com/lit/ug/swcu117d/swcu117d.pdf

ccfg在最后一个Page是固定的。

你能把你app和stack编译后的Hex文件分别单独转换成bin文件看看有多大吗?

Yan,

那个协议我看过,是写的基于ROM的bootloader啊。也下载了TI提供的一个基于VC的软件,可是试了一下,选择完COM口就闪退了,backdoor那个引脚我也接地了,反正没有成功进去过boot。

CCFG其实在boot程序里面已经写一次了,所以我想boot和app是不是可以共用呢。

IAR有直接生成bin文件的,我分别把app和stack编译了以下,app-128KB,stack-64KB

然后我用oad的icf编译了一下,有50KB;然后把main函数中的函数都注释掉,变成了37KB;最后,我把icf的最后一段的TIRTOS_ROM.icf也屏蔽掉,就变成10KB了。

这个icf语法有很多看不懂,所以不懂怎么改啊。

现在我的boot程序能够保证用串口的Ymodem协议可以正确的接收和写到flash中去了,可是就是没有一个app能够编译成小一点的bin文件来验证功能。

cc2640的flash大小只有128K字节,有点小,很难实现OAD功能!

官方提供两种bootloader方式!

 

 

 

 

 

两种引脚定义:

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

网站地图

Top