打印
[GW低功耗蓝牙MCU]

GW3323的升级(固件、字库、音频等)

[复制链接]
51|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Lana636|  楼主 | 2025-3-28 10:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Lana636 于 2025-3-28 10:57 编辑

极海GW3323内部有1MB,4MB,8MB的flash,用户可以用于存储字库文件或者音频文件。
产品升级时,一般升级固件,极少升级字库文件等。所以要将固件、字库、音频文件分开存放,设置好各自的首地址。
1、当前代码的首地址:0x10002000处。

2、要升级的代码地址通过setfotaddr。
例如:setfotaddr(0x600000);//即fot_write实际地址0x10002000+0x600000。
注:执行完fot复位后,会在1、2、的两种地址进行切换。
例如,第一次升级后,每次上电后代码跑0x10602000处;除非再进行升级,把上电后代码且到0x10002000。

3、字库文件地址设置setuserbin().
例如:setuserbin(0x600000);//即字库实际地址0x10002000+0x600000。
收到字库升级数据,执行os_spiflash_program(0x600000+i,len);就可以实现字库的更改。

4、音频文件地址设置设置setuserbin(USERBIN_START_ADDR, USERBIN_SIZE, res_user.bin, 0).
其中res_user.bin的生成依靠res_user.xm中setresmode(2, USERBIN_START_ADDR, RES_)等函数。
收到音频升级数据,执行os_spiflash_program(0x600000+i,len);就可以实现音频的更改。

5、字库和音频文件都需要的产品,因为只能调用1次setuserbin,所以要把字库文件放res_user文件夹中,自动生成res_userbin文件。为了让字库和音频首地址固定,字库文件用zzz_命名;音频文件留白的用999_命名。因为res_user文件夹是按照文件名称排序自动生成,添加留白文件,方便遇到新音频或新字库时有冗余,使后面的地址不发生更改。
注意:res_user.h是自动生成的,不要自己乱搬,乱改。采用20250327及以后得SDK。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

11

帖子

0

粉丝