SWM341系列RTC应用
22.1、RTC的时钟基准 --liuzc 2023-8-17
现象:客户休眠发现RTC走的不准,睡眠2小时才走了5分钟。
分析与解决:经过排查RTC的时钟源是XTAL_32K,由于睡眠时时设置XTAL->CR=0;,会把XTAL_32K给关了。需要单独再把XTAL_32K单独打开,但不能把主频切换到内部32K,否则运行不正常;
SWM341系列FreeRTOS\RTTHREAD应用
1、SWM34SRET6的FPU + FreeRTOS 任务切换异常
现象: 客户使用SWM34SRET6 开启 FPU 配合 FreeRTOS 使用,在任务切换进入 HardFault。
分析及解决:使用2023/8/28之前的 SWM341-Lib/Middle/freertos 开启FPU可复现异常现象,原因为移植 freertos的port未使用浮点配置,在中断压栈、出栈时漏操作 一组FPU寄存器所致,在2023/8/28更新后的Lib已修正此问题。
注意:其他 RTOS 可能也会遇到该问题,请参照此现象解决。
2.RT THREAD应用之配置
现象:技术支持客户使用RT Thread studio开发,无法通过jlink下载.
分析与解决:经过排查需要把jlink的安装文件复制到 rt thread 的jlink文件夹下。
SWM341系列Chip ID
1、SWM全系列中含有96bit 唯一ID的芯片在仿真时halt住再读取id寄存器为0
现象: 客户广州品威奥电子,应用 SWM34SRET6在IDE仿真调试时,通过register view直接查看96bit Chip_ID的值,在halt 内核后,ID为0,通过memory view 也是同样为0。--2023.10.22
分析与解决:基于MDK下仿真,全速运行下 register view 、memory view显示 Chip_ID 值正确有效,halt后则均归0,猜测读取chip_id寄存器的访问需要依靠内核的运行去片内Flash驻留区域取真实ID值,这是较接近此现象的解释。
故客户若希望在仿真时查看 Chip_ID 值,可全速运行时查看,或将 Chip_ID 寄存器的值读出赋予程序中某个变量内,再通过 watch view 查看该变量值,后者即使halt内核后也可以观测到Chip_ID有效值,因为变量与寄存器是分开存放的,一个在RAM,一个在ROM。