LittlevGL on MPLAB X

Description

Hi,

I’m trying to use the LittlevGL library on an MPLAB X project. I have a PIC24FJ256DA210 development board and I’m using the GPU driver that comes with microchip’s graphics library. I followed the documentation,defined the buffers and registered the flush and touch pad functions, also including lvgl/lvgl.h where these functions are defined. My issue is that I’m still stuck at the first compilation. I’m getting a compilation error telling me that the littlevGL initialization functions are undefined. My suspicion is that the linker is not finding the library source files. So my question is, apart from including lvgl/lvgl.h file, is there anything else that need to be set in MPLAB X for compilation? Should I also modify the Makefile?

Note: Sorry I haven’t placed any code but I’m sending this from home with the hope of having a hint by the time I get back to work. I’ll attach the error messages when I get back to work in the morning.

Thanks

LittlevGL is designed to be very simple to add to any IDE. You just need to ensure that all of the C files within lvgl/src are being compiled.

Dear embeddedt,

Thanks for your reply. In fact, I’m thinking that the compiler somehow is not finding the C files but I’m not managing to make it to find them. Here is the error log.

build/default/production/_ext/947494457/drv_gfx_da210.o(.text+0x88): In function .LBE4': : undefined reference to_lv_disp_flush_ready’
build/default/production/_ext/947494457/drv_gfx_da210.o(.text+0x8a): In function .LBE4': : undefined reference to_lv_disp_flush_ready’
build/default/production/_ext/947494457/drv_gfx_da210.o(.text+0x27a): In function _DRV_GFX_Initialize': : undefined reference to_lv_disp_buf_init’
build/default/production/_ext/947494457/drv_gfx_da210.o(.text+0x27c): In function _DRV_GFX_Initialize': : undefined reference to_lv_disp_buf_init’
build/default/production/_ext/947494457/drv_gfx_da210.o(.text+0x280): In function _DRV_GFX_Initialize': : undefined reference to_lv_disp_drv_init’
build/default/production/_ext/947494457/drv_gfx_da210.o(.text+0x282): In function _DRV_GFX_Initialize': : undefined reference to_lv_disp_drv_init’
build/default/production/_ext/947494457/drv_gfx_da210.o(.text+0x28e): In function _DRV_GFX_Initialize': : undefined reference to_lv_disp_drv_register’
build/default/production/_ext/947494457/drv_gfx_da210.o(.text+0x290): In function _DRV_GFX_Initialize': : undefined reference to_lv_disp_drv_register’
build/default/production/_ext/2136820584/drv_touch_screen.o(.text+0x3a): In function _TouchInit': : undefined reference to_lv_indev_drv_init’
build/default/production/_ext/2136820584/drv_touch_screen.o(.text+0x3c): In function _TouchInit': : undefined reference to_lv_indev_drv_init’
build/default/production/_ext/2136820584/drv_touch_screen.o(.text+0x48): In function _TouchInit': : undefined reference to_lv_indev_drv_register’
build/default/production/_ext/2136820584/drv_touch_screen.o(.text+0x4a): In function _TouchInit': : undefined reference to_lv_indev_drv_register’
make[2]: *** [dist/default/production/app_notes.X.production.hex] Error 255
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

Any ideas would be greatly appreciated.

Hi,

In shared files, it was one of the tests I did some time ago, but you can see how to implement it.
The version is one of the old ones, but I think the core is there …

Hi Jsantos,

Thanks. Your’re a life saver :slight_smile: