【已解决】BK7231NL 低功耗WiFi 不同唤醒进程之间保留数据

Wi-Fi 设备、Wi-Fi 低功耗设备、Wi-Fi BLE 双模设备、Ethernet设备、Ethernet+Wi-Fi设备等
Post Reply
梁修道
Posts: 41

bk7231nl的涂鸦wifi sdk(ty_iot_sdk_BK7231NL_2.3.3-beta.347)开发,每次唤醒后是否都会经历pre_device_init,app_init和device_init?
每次唤醒时,ram是否会被清空?如果需要在每次唤醒之间记录数据,使用什么函数保存?

如果只能是使用flash存储的话,是否是使用tuya_hal_flash_write、tuya_hal_flash_erase、tuya_hal_flash_read这三个函数,app可以用的flash地址是多少到多少?写入、擦除最小的单元长度是多少?

chaser
Posts: 53

Re: BK7231NL 低功耗WiFi 不同唤醒进程之间保留数据

1). 深入睡眠唤醒后是否都会经历pre_device_init,app_init和device_init 的, 唤醒本质就是重启。
2). 每次唤醒,ram 都被清空了,因为ram断电了没有保持。 只能使用flash存储来保存数据。
3). flash操作,可以使用使用tuya_hal_flash_write、tuya_hal_flash_erase、tuya_hal_flash_read这三个函数, 也可以使用tuya_uf_db.h中的函数。 可以使用的flash地址范围:0x1D2000 - 0x1EA000 共 96k。 最小擦除单位是 4k 。

梁修道
Posts: 41

Re: BK7231NL 低功耗WiFi 不同唤醒进程之间保留数据

chaser 2023年 Jan 31日 20:56

1). 深入睡眠唤醒后是否都会经历pre_device_init,app_init和device_init 的, 唤醒本质就是重启。
2). 每次唤醒,ram 都被清空了,因为ram断电了没有保持。 只能使用flash存储来保存数据。
3). flash操作,可以使用使用tuya_hal_flash_write、tuya_hal_flash_erase、tuya_hal_flash_read这三个函数, 也可以使用tuya_uf_db.h中的函数。 可以使用的flash地址范围:0x1D2000 - 0x1EA000 共 96k。 最小擦除单位是 4k 。

好的感谢 我们试一下

梁修道
Posts: 41

Re: BK7231NL 低功耗WiFi 不同唤醒进程之间保留数据

chaser 2023年 Jan 31日 20:56

1). 深入睡眠唤醒后是否都会经历pre_device_init,app_init和device_init 的, 唤醒本质就是重启。
2). 每次唤醒,ram 都被清空了,因为ram断电了没有保持。 只能使用flash存储来保存数据。
3). flash操作,可以使用使用tuya_hal_flash_write、tuya_hal_flash_erase、tuya_hal_flash_read这三个函数, 也可以使用tuya_uf_db.h中的函数。 可以使用的flash地址范围:0x1D2000 - 0x1EA000 共 96k。 最小擦除单位是 4k 。

另外写入最小单位是多少?

愚者千虑必有一得
Posts: 413

Re: BK7231NL 低功耗WiFi 不同唤醒进程之间保留数据

梁修道 2023年 Jan 31日 23:03
chaser 2023年 Jan 31日 20:56

1). 深入睡眠唤醒后是否都会经历pre_device_init,app_init和device_init 的, 唤醒本质就是重启。
2). 每次唤醒,ram 都被清空了,因为ram断电了没有保持。 只能使用flash存储来保存数据。
3). flash操作,可以使用使用tuya_hal_flash_write、tuya_hal_flash_erase、tuya_hal_flash_read这三个函数, 也可以使用tuya_uf_db.h中的函数。 可以使用的flash地址范围:0x1D2000 - 0x1EA000 共 96k。 最小擦除单位是 4k 。

另外写入最小单位是多少?

如果使用tuya_uf_db.h的话,可以当做文件系统,最小写入没有限制,我们的代码已经处理过了。

Post Reply