中
A
三个问题:
1. 代码执行的flash和例程中的可写入读取的flash是一个flash么?为什么地址出入这么大?如果从map地址来看的话,似乎map的flash的地址区间已经超过了flash本身的最大地址范围
2. 另外,怎么找到哪些flash是可安全读写,用于用户配置的flash地址块呢?
3.我需要开辟200 byte用于用户配置的存储,在运行过程中偶尔会更新flash内容,更新之前必须要擦除么?
你好
1、是否说的sram的地址,有图片和具体工程吗,
2、Flash所有地址都能擦写,所以程序会在运行中对一些地址加入写保护,具体协议栈有分配给用户配置使用的区域
3、写之前会进行擦除,按照块擦除。
1. 是的,是sram地址:0x20000000~0x21000000【数据手册上给出的】,这个地址范围似乎超过了flash本身大小?
2. “具体协议栈有分配给用户配置使用的区域“ 这块有具体的说明么?还是不太清楚用户使用哪块flash是属于安全区域。目前只看到了例程使用了0x00d000
3. 写之前整个4k的块都必须要擦除么?比如我要写 0x00d000 ~ 0x00d022 的内容,那么整个 0x00d000~0x00dfff都需要擦除么?
1 你参考的是哪个手册,请前往wiki下载你使用芯片的数据手册(http://wiki.telink-semi.cn/wiki/chip-series/TLSR825x-Series/)
sram地址和ram大小相关的,地址起始偏移地址为0x840000,64kram,最大到0x850000.
2同样前往wiki下载对应协议栈,以及handbook,以BLE SDK为例,手册中注明了flash哪部分为用户使用的区域。
3,是的,写flash时,需要对自己数据做些保护。
我参考的是9218,我用的是9218芯片,不好意思哈,说漏了。
另外比较疑惑的是,除了烧写程序占用的flash,运行过程中会有分配flash给程序运行使用么?
关于第三点,我刚刚采用9218测试,发现可以不用擦除也能写入,这样做的风险是什么呢?
你好
1、是否说的sram的地址,有图片和具体工程吗,
2、Flash所有地址都能擦写,所以程序会在运行中对一些地址加入写保护,具体协议栈有分配给用户配置使用的区域
3、写之前会进行擦除,按照块擦除。
1. 是的,是sram地址:0x20000000~0x21000000【数据手册上给出的】,这个地址范围似乎超过了flash本身大小?
2. “具体协议栈有分配给用户配置使用的区域“ 这块有具体的说明么?还是不太清楚用户使用哪块flash是属于安全区域。目前只看到了例程使用了0x00d000
3. 写之前整个4k的块都必须要擦除么?比如我要写 0x00d000 ~ 0x00d022 的内容,那么整个 0x00d000~0x00dfff都需要擦除么?
1 你参考的是哪个手册,请前往wiki下载你使用芯片的数据手册(http://wiki.telink-semi.cn/wiki/chip-series/TLSR825x-Series/)
sram地址和ram大小相关的,地址起始偏移地址为0x840000,64kram,最大到0x850000.
2同样前往wiki下载对应协议栈,以及handbook,以BLE SDK为例,手册中注明了flash哪部分为用户使用的区域。
3,是的,写flash时,需要对自己数据做些保护。
我参考的是9218,我用的是9218芯片,不好意思哈,说漏了。
另外比较疑惑的是,除了烧写程序占用的flash,运行过程中会有分配flash给程序运行使用么?
关于第三点,我刚刚采用9218测试,发现可以不用擦除也能写入,这样做的风险是什么呢?