目录
- 一、现象描述
- lvgl 版本
- 二、问题分析
- lvgl 需要的资源
- 新建mcu 工程时默认分配的资源
- 问题解决
一、现象描述
移植完lvgl 之后,能正常显示label,但是button arc 等复杂的控件都不能正常显示。调用官方的画圆弧demo 时,在多次调用 _lv_blend_fill 函数之后,进入HardFault 。
lvgl 版本
V7.11
二、问题分析
lvgl 需要的资源

新建mcu 工程时默认分配的资源

可以看出默认分配的Heap size 是0x200 (512),远低于 lvgl 要求的最小要求2k;默认分配的Stack size 也只有 1k,lvgl 最低要求是2k。
问题解决
出现 HardFault 的原因是函数调用层次比较多,栈资源不足。只增加Stack Size ,不再出现HardFault。
为了程序的稳健性,结合单片机自身的资源,将Stack size 和Heap Size 都设置为10k。


















