FAQ
1. Driver/System
1.1 如何调整打印 Log 的最大长度?
调整
RT_CONSOLEBUF_SIZE
Config 来修改控制台最长的 Log Buffer 长度

打开 ULOG (对应
RT_USING_ULOG
) 后,需要再调整ULOG_LINE_BUF_SIZE
Config 来修改最大 Log Buffer 长度

1.2 timer
1.2.1 常见延时函数
常用的延时函数分为HAL和RT两种
1,HAL层延时函数:(等同于while中指令循环,延时时不会切到其他线程)
HAL_Delay(10); /* 延时10ms */
HAL_Delay_us(10); /* 延时10us */
2,RTT接口的延时函数:
rt_thread_delay(100); /* 延时100ms */
注意:
RTT接口的延时函数执行时,会切换到其他线程,比如ilde线程,当睡眠门限低于延时时长时会进入Standby睡眠。
1.2.2 获取时间戳 Tick值和RC10K振荡频率
获取时间戳和tick值是比较常用的
1,获取时间戳:
/* 32768晶体时钟,会1/32768秒,寄存器值加1*/
/* RC10K时钟,会约1/9000秒,寄存器值加1*/
uint32_t start_time = HAL_GTIMER_READ();
2,获取1m秒递增的Tick值:
rt_tick_t start_timer = rt_tick_get(); /* RTT系统函数,1m秒返回值会加1 */
uint32_t tickstart = HAL_GetTick(); /* HAL层的函数,1m秒返回值会加1 */
3,获取当下时钟频率:
/* 32768晶体时钟,会返回32768*/
/* RC10K时钟,会返回8k-10k之间的值*/
uint32_t mcuOscData = HAL_LPTIM_GetFreq();
1.2.3 查看现有定时器命令
串口发送list_timer,可以看到当前使用的定时器的信息

list_timer的状态说明,第一列"timer"为定时器名字,第二列"periodic"为定时器周期(十六进制,单位ms),第三列"timeout"为下一次定时器到来的时间戳,第四列"flag"为该定时器是否为激活状态, 如上图,生效的定时器只有"main"的定时器(延时函数也是一个定时器),唤醒周期为0xbb8(3000ms)。
2. MMI/UI
2.1 主菜单 UI 特效相关
2.1.1 如何调整主菜单六扇门滑动后惯性大小及旋转动画速度 ?
使用接口
void lv_rotate3d_set_throw_rate(lv_obj_t *rotate3d, float rate)
设置滑动惯性大小根据实际效果需求修改
static void lv_rotate3d_event_cb(lv_obj_t *obj, lv_event_t event)
过程中LV_EVENT_PRESS_LOST / LV_EVENT_RELEASED
事件动画效果参数 (如下)

2.2 Emoji
2.2.1 当前支持的emoji有哪些?
emoji图片资源所在目录:watch\sifli\resource\images_emoji
,图片命名格式:emoji_[emoji unicode].png
(例如,emoji_1f3a9.png
)。
2.2.2 如何新增emoji?
a) 添加unicode




3. Tools etc
3.1 思澈产品编译开发环境搭建及配置说明
请参见 思澈编译开发环境配置指导
3.2 思澈平台各类 Log 抓取方法
各类 Log 抓取方法请参见 思澈平台 Log 抓取指南
设备端 HCI Log 抓取及解析方法请参见 思澈 HCI 日志抓取及解析指导
3.3 思澈平台 BT PAN 共享网络吞吐率测试方法
3.4 eZIP 工具
3.4.1 如何将 EZIP 格式的图片转回原始 png 图片格式 ?
通过如下命令行将 EZIP 格式的 *.bin (
bin_dir
目录) 转回对应的 *.png (png_dir
目录) 格式
eZIP.exe -dir bin_dir -spt 1 -dpt 0 -outdir png_dir
3.5 下载工具 (Butterfli/Impeller) 相关
3.5.1 Solution 环境中通过 Butterfli 编译 EZIP 图片如何配置额外的编译参数 ?
特定场景下通过 Butterfli 编译 EZIP 图片时,需要传递额外的参数至 eZIP 程序,如以增加
-dither 0
参数为例修改当前工程 (如
sifli\project\eh_lb525_nand_hdk_368x448
) 下的PrjCfg.ini
配置文件,在[PRJ_SET]
Section 中增加EZIP_PARA=-dither 0
配置项影响范围: 只对当前工程生效
修改 Butterfli 工具目录下的
configure\CompileBurn.ini
配置文件的[COM_PARA]
Section 中增加EZIP_PARA=-dither 0
配置项影响范围: 所有工程都生效
3.5.2 Sifli下载问题
客户端,产线&开发经常遇到的无法烧录问题

请参见sifli下载问题FAQ
3.6 调试工具 (J-link Commander) 相关
3.6.1 使用J-link RTT输出log
场景:由于GPIO不够用,经常会把UART口作为了GPIO使用,导致没有足够的UART口输出log,这个时候可以使用J-link RTT来输出log。
3.6.2 使用J-link RTT抓取SystemView数据
场景:方便分析UI界面帧率以及查询中断处理流程等涉及到线程调度的场景
3.6.3 SF32LB52X如何用jlink抓取dump现场
场景:前面讲了52x系列如何修改为jlink抓取systemview的方法,在测试的时候也是有可能出现系统异常,例如死机等情况,需要用到dump现场,但是由于已经将串口uart修改为了jlink的pin使用,所以这里也介绍一下如何修改为jlink来dump现场 以sf32lb525(8M psram)为例:
1、打开\sdk\tools\crash_dump_analyser\script\save_ram_52x_psram_8MB.bat的dump脚本文件,修改如下:

2、save_ram_52x_psram_8MB.bat脚本实际上调用的是sf32lb52x_psram_8MB.jlink这个文件,所以还需要打开sf32lb52x_psram_8MB.jlink文件,修改如下:

修改后为:

修改之后就可以执行save_ram_52x_psram_8MB.bat抓取sf32lb525的dump现场了
4.device
各类device常见应用问题参考

离线文档请参见设备应用问题
生产/烧录/RF等相关问题
离线文档请参见思澈方案外发NAND烧录
离线文档请参见算法模块烧录key到芯片efuse
离线文档请参见RF测试FAQ
OTA_常见问题
离线文档请下载OTA_FAQ
BQB 认证/测试
思澈蓝牙 BQB 认证测试指导
介绍蓝牙 BQB 认证概念以及 Profile 和 RF 测试内容及方法,指导对应产品快速完成 BQB 认证测试以及 送测前的测试验证,具体参见 思澈蓝牙 BQB 认证测试指导手册