littleVGL now supports FreeBSD framebuffer

Vijay Kumar Banerjee vijaykumar9597 at gmail.com
Sat Aug 17 16:05:20 UTC 2019


On Thu, Aug 15, 2019 at 3:46 AM Chris Johns <chrisj at rtems.org> wrote:

> On 15/8/19 2:07 am, Vijay Kumar Banerjee wrote:
> > I wrote a patch for lv_drivers repository to support FreeBSD framebuffer
> > in fbdev, which they merged to the master today.
>
> Well done, that is great.
>
> > I have tested
> > the driver to be working with an app that I wrote on FreeBSD and
> > tested it on Beaglebone black image 12-STABLE.
>
> Awesome.
>
> > I intend to write an RSB recipe to build littleVGL and seek some guidance
> > on how to proceed. :)
>
> Please review
> https://docs.rtems.org/branches/master/user/rsb/third-party-packages.html
>
> I suggest you see how the curl package is done. It is a nice clean example.
>
> The packages are sort of based on the FreeBSD ports layout. Littlevgl is
> not a
> port so we can use `graphics/littlevgl`.
>
> The file pattern used in the RSB for a 3rd party package is:
>
> - A buildset or bset file, this is the top level wrapper for the config
> files
> and selects the version to be built...
>
> https://git.rtems.org/rtems-source-builder/tree/rtems/config/ftp/curl.bset
>
> - The version specific config file that sets the version and checksum for
> the
> package. It includes the build config or recipe...
>
>
> https://git.rtems.org/rtems-source-builder/tree/rtems/config/ftp/curl-7.65.1-1.cfg
>
> Note, this is a 3prd party package so includes `rtems-bsp.cfg`. This
> create a
> suitable environment to build a package for a BSP.
>
> - The build config file ...
>
>
> https://git.rtems.org/rtems-source-builder/tree/source-builder/config/curl-1.cfg
>
> Hi,

I have some doubts regarding the build.
The lvgl needs two directoried, lvgl (main) and lv_drivers (for the
driver). And on
top of both, there needs to be two header files to configure the library,
lvgl_conf.h
and lvgl_drv_conf.h . These conf headers are supposed to be edited by the
user
to set the options. Do we want to build both the directories separately?
Or do we
want to create our own directoy and put both driver and other stuffs in it?

Also, lvgl doesn't have its own makefile, so we have to write our own. in my
application, I included the .mk file in my app's makefile and added the
build recipe
for it. How do we want to handle this in RSB?
If I create an lvgl tar with drivers and library in it, along with a
makefile, will it go
into our ftp server somewhere?  Can this be an approach to build the whole
stuff?

> These configs do not include any other configs and could be used to build a
> native package for a host or a 3rd party package for RTEMS.
>
> - The `%prep` section prepares the source to build. For github if we are
> building from master we select a commit and fetch a compressed tarball.
> This
> means we can snapshot the source when making a release. The RSB can work
> directly with the git repo however this has proven to be more fragile than
> a
> tarball.
>
> - The `%build` section builds the package. The contents of this file are
> used to
> create a shell script. Use --dry-run, --trace and --log to debug what is
> happening. The shell script contents should be viewable in the log file if
> a dry
> run does not created it. There is a lot of trace but searching will help
> you
> locate the piece you are interested in. The `source_dir_*` shell variable
> is the
> directory created by extracting the tarfile. The macros
> `%{build_directory}` and
> `%{host_build_flags}` are defined in `defaults.mc` and should handle the
> compiler and flags. You may want to check libbsd is installed in your
> config,
> see ...
>
>
> https://git.rtems.org/rtems-source-builder/tree/rtems/config/rtems-bsp.cfg#n198
>
> .. for an example of how to check and add `%error This package needs
> libbsd,
> please build and install` or something like that as an error. The paths to
> install to are set up for you, these match how a BSP and RTEMS are
> installed.
> The layout needs to be followed or applications will not be able to find
> the
> header or the library.
>
> - The `%install` section installs the package. The install process is to a
> staging area `${SB_BUILD_ROOT}`. Nothing is installed unless all parts
> build so
> we do not have an inconsistent build in the install prefix.
>
> Chris
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190817/f2be9814/attachment-0002.html>


More information about the devel mailing list