CC2541 flash 容量的问题,谢谢
我使用的芯片是CC2541F256的芯片,烧写完毕后,输出map中显示
121 744 bytes of CODE memory
35 bytes of DATA memory (+ 73 absolute )
6 959 bytes of XDATA memory
194 bytes of IDATA memory
8 bits of BIT memory
954 bytes of CONST memory
1. 这是不是意味着我还有120+K的容量可以使用,我可不可以使用余下的flash存储采集到的传感数据
2.我怎么确定我还可以使用的flash起始地址和结束地址
3.256k的容量是否已经固定了程序存储区和数据存储的比例,如果是的话,比例是多少?
谢谢
您好,您的问题已经解决了吗?我现在也碰到了这个问题,不知道怎么解决,您可以把代码或者方法共享给我吗?我的邮箱1135687071@qq.com 。谢谢
1、是的,你还有120k的容量可以使用。
2、怎么使用这些flash来存取数据的问题,(1)TI本身有SNV的实现,只是默认是仅仅使用了125-126两个page,共4k,应该是可以扩充的,修改hal_board_cfg.h中的HAL_NV_PAGE_CNT和HAL_NV_PAGE_BEG来试试。(2)使用HalFlashWrite、HalFlashRead函数,但是这个需要你自己来设置读取的地址,必须与保存的一致。而且写完一次再写需要整页擦除。
3、没有固定。
谢谢。那个只能擦除整页,不能一个ID一个ID地擦除吗?
ID的概念是osal_snv提出来的,如果只是单纯的flash_write/read,是没有id的,参数是绝对地址。
理论上,snv是可以扩展的,修改一下定义就应该可以,比使用单纯的flash操作要简单很多,我倾向于这种。