TI论坛
直播中

李桂芝

7年用户 165经验值
私信 关注

请问如何读写CC1310内部FLASH的内容?

ti的大神们,请问下如何读写CC1310内部FLASH的内容? 目前通过修改.cmd的文件修改FLASH的大小如下图,留出空间来供外部访问,但是这样通过debug模式运行可以正常跑起来,但是断电重启或者直接烧录生成的.hex文件,芯片都无法启动,还请帮忙分析下,感谢!
默认配置
#define FLASH_BASE 0x0
#define FLASH_SIZE 0x10000
修改后配置
#define FLASH_BASE 0x0
#define FLASH_SIZE 0xF000

回帖(6)

李果

2018-5-15 03:06:46
你好,什么叫留出来空间,供外部访问? 
你们是想在Flash里面单独划一块空间,用来存放数据吗? 
如果是这样的话,FLASH_SIZE依旧写 0x10000,然后数据直接往Flash对应的地址操作就可以了,只要保证你们的程序和要写的数据不冲突。


另外hex文件跑不起来,应该是你们调整了FLASH的空间,默认是要把CCFG这块内容放在Flash最后的,但是你们调整了SIZE以后,CCFG就没有放在最后了,所以程序跑不起来。
举报

何丽

2018-5-15 03:22:16
参考 https://e2e.ti.com/support/wireless_connectivity/proprietary_sub_1_ghz_simpliciti/f/156/t/515170
举报

李桂芝

2018-5-15 03:31:22
对比了下两种配置的flash里面的内容,只有下面这两处有差异,其它部分都是一样的这个不知道怎么回事导致修改后芯片无法工作,还请帮忙查看下

举报

李果

2018-5-15 03:48:40
引用: a122392319 发表于 2018-5-15 03:31
对比了下两种配置的flash里面的内容,只有下面这两处有差异,其它部分都是一样的这个不知道怎么回事导致修改后芯片无法工作,还请帮忙查看下

这段内容就是ccfg的内容,一定要放在flash的最后面,否则程序是无法运行的
你可以看下ccfg.c和.cmd文件的
SECTIONS
[
.text : > FLASH
.const : > FLASH
.constdata : > FLASH
.rodata : > FLASH
.cinit : > FLASH
.pinit : > FLASH
.init_array : > FLASH
.emb_text : > FLASH
.ccfg : > FLASH (HIGH)
#ifdef __TI_COMPILER_VERSION__
#if __TI_COMPILER_VERSION__ >= 15009000
.TI.ramfunc : [] load=FLASH, run=SRAM, table(BINIT)
#endif
#endif
.data : > SRAM
.bss : > SRAM
.sysmem : > SRAM
.stack : > SRAM (HIGH)
.nonretenvar : > SRAM
]
举报

更多回帖

发帖
×
20
完善资料,
赚取积分