移植完lvgl 之后,能正常显示label,但是button arc 等复杂的控件都不能正常显示。调用官方的画圆弧demo 时,在多次调用 _lv_blend_fill 函数之后,进入HardFault 。
V7.11


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