Raspberry Pi Rtems-Graphical-Toolkit

Kirspel, Kevin Kevin-Kirspel at idexx.com
Mon May 21 16:48:56 UTC 2018


I think that is doable for the frame buffer and non-USB touch screen, mouse, and keyboard drivers.  The main problem would be the USB mouse, keyboard, and touch screen drivers.  RTEMS uses LIBBSD for the USB stack.

Kevin Kirspel
Electrical Engineer - Sr. Staff
Idexx Roswell
235 Hembree Park Drive
Roswell GA 30076
Tel: (770)-510-4444 ext. 81642
Direct: (770)-688-1642
Fax: (770)-510-4445

From: users [mailto:users-bounces at rtems.org] On Behalf Of Mikhail Svetkin
Sent: Monday, May 21, 2018 12:35 PM
To: Kirspel, Kevin <Kevin-Kirspel at idexx.com>
Cc: users at rtems.org; Emre Cetin <hsnemrecetin at gmail.com>
Subject: Re: Raspberry Pi Rtems-Graphical-Toolkit

So the minimal example of Qt Widgets + RTEMS LIBBSD + EVDEV will be ~24MB.
It is pretty big. If RTEMS has support of EVDEV or libinput it will be only ~9MB.

Qt does not require MMAP, only LinuxFB plugin. I wrote my own QPA plugin and it does not need MMAP.




Best regards,
Mikhail

On 21 May 2018 at 17:42, Kirspel, Kevin <Kevin-Kirspel at idexx.com<mailto:Kevin-Kirspel at idexx.com>> wrote:
To give a little background on this subject, the current support in RTEMS LIBBSD for the EVDEV input system was motivated by the following:

- Add a “rtems-arm-4.12-gcc” platform to QT.  This allows you to configure QT with RTEMS compilers and libraries.
- Use QT LinuxFB plugin as is for graphics output and system input.

The QT LinuxFB plugin supports the following input systems: libinput, tslib, and EVDEV.  I choose EVDEV because it is supported by LIBBSD.

--------
As a quick indication of footprint, the EVDEV test in the RTEMS LIBBSD test suite is ~4 times the size of the hello world test.  I compiled against the xilinx_zynq_a9_qemu BSP but the results were similar to my custom LPC3250 BSP.  The hello world test is ~4MB.  The EVDEV test is ~15MB.  The EVDEV test pulls in the USB keyboard and mouse drivers.  This is where most of the footprint increase comes from.  The EVDEV code itself is pretty small.  The frame buffer and touch drivers are also small.

--------
The frame buffer device in RTEMS is not compatible with QT but it is not far off.  QT expects the following Linux headers: “linux/fb.h”, “linux/kd.h”, and “sys/kd.h”.  I had ported the Linux headers and placed them under the “dev/include/linux” and “dev/include/linux/sys” directories in the RTEMS source tree (not currently in the tree because the patches were rejected).  QT also expects the frame buffer device to support the MMAP device handler.  This was added to Gedare’s MMAP work but as Sebastian pointed out it does not follow the design module.  This probably needs to be dealt with at some point.

--------
Right now, the only example on how to use EVDEV is in the LIBBSD test suite (evdev01).  I guess the QT source can also be used as an example.

Kevin Kirspel
Electrical Engineer - Sr. Staff
Idexx Roswell
235 Hembree Park Drive<https://urldefense.proofpoint.com/v2/url?u=https-3A__maps.google.com_-3Fq-3D235-2BHembree-2BPark-2BDrive-2B-250D-250A-2BRoswell-2BGA-2B30076-26entry-3Dgmail-26source-3Dg&d=DwMFaQ&c=2do6VJGs3LvEOe4OFFM1bA&r=dbavT-WIJ4nBfQFKYnKdAD52Vyq3ZXSzrL9TAm21lZI&m=pNtc9XwM_Um_y7szn11M51nwp2ESm43_FnaEfLoDrVE&s=4DbjexY91IzNSksLounr94j_irJaI8pnAqf29Wc2q6g&e=>
Roswell GA 30076<https://urldefense.proofpoint.com/v2/url?u=https-3A__maps.google.com_-3Fq-3D235-2BHembree-2BPark-2BDrive-2B-250D-250A-2BRoswell-2BGA-2B30076-26entry-3Dgmail-26source-3Dg&d=DwMFaQ&c=2do6VJGs3LvEOe4OFFM1bA&r=dbavT-WIJ4nBfQFKYnKdAD52Vyq3ZXSzrL9TAm21lZI&m=pNtc9XwM_Um_y7szn11M51nwp2ESm43_FnaEfLoDrVE&s=4DbjexY91IzNSksLounr94j_irJaI8pnAqf29Wc2q6g&e=>
Tel: (770)-510-4444 ext. 81642
Direct: (770)-688-1642
Fax: (770)-510-4445

From: Joel Sherrill [mailto:joel at rtems.org<mailto:joel at rtems.org>]
Sent: Monday, May 21, 2018 9:10 AM
To: Kirspel, Kevin <Kevin-Kirspel at idexx.com<mailto:Kevin-Kirspel at idexx.com>>
Cc: Chris Johns <chrisj at rtems.org<mailto:chrisj at rtems.org>>; Mikhail Svetkin <mikhail.svetkin at gmail.com<mailto:mikhail.svetkin at gmail.com>>; users at rtems.org<mailto:users at rtems.org>; Emre Cetin <hsnemrecetin at gmail.com<mailto:hsnemrecetin at gmail.com>>

Subject: Re: Raspberry Pi Rtems-Graphical-Toolkit


On Mon, May 21, 2018, 7:52 AM Kirspel, Kevin <Kevin-Kirspel at idexx.com<mailto:Kevin-Kirspel at idexx.com>> wrote:
RTEMS LIBBSD has support for EVDEV which is a standard API for keyboard, mouse, and touchscreen.  Is it the best choice, I don't know.  Maybe a better question is "What standard input system should RTEMS support?".

That's the question.

Using the FreeBSD support has a number of advantages but I admit that I didn't know that support was in place. I have no idea what minimum footprint using that implies even if you don't use the TCP IP stack.

In the cpukit there has long been support for a frame buffer device framework and a mouse input parsing library. I expect the FreeBSD support comes with specific device support that this is weak on.

But footprint is important. Any idea how large a simple non-networked example would be with the FreeBSD code as a base?

And we need examples and howtos. If I didn't know about it, it isn't reasonable to expect someone new to find it. :(

--joel




Kevin Kirspel
Electrical Engineer - Sr. Staff
Idexx Roswell
235 Hembree Park Drive<https://urldefense.proofpoint.com/v2/url?u=https-3A__maps.google.com_-3Fq-3D235-2BHembree-2BPark-2BDrive-2B-250D-250ARoswell-2BGA-2B30076-26entry-3Dgmail-26source-3Dg&d=DwMFaQ&c=2do6VJGs3LvEOe4OFFM1bA&r=dbavT-WIJ4nBfQFKYnKdAD52Vyq3ZXSzrL9TAm21lZI&m=pNtc9XwM_Um_y7szn11M51nwp2ESm43_FnaEfLoDrVE&s=kmmgT8zilp8a-ibdkTczWMS4Xv4e9XPymmkZcbMl88A&e=>
Roswell GA 30076
Tel: (770)-510-4444 ext. 81642
Direct: (770)-688-1642
Fax: (770)-510-4445

-----Original Message-----
From: Chris Johns [mailto:chrisj at rtems.org<mailto:chrisj at rtems.org>]
Sent: Sunday, May 20, 2018 5:51 PM
To: Mikhail Svetkin <mikhail.svetkin at gmail.com<mailto:mikhail.svetkin at gmail.com>>; Kirspel, Kevin <Kevin-Kirspel at idexx.com<mailto:Kevin-Kirspel at idexx.com>>
Cc: users at rtems.org<mailto:users at rtems.org>; Emre Cetin <hsnemrecetin at gmail.com<mailto:hsnemrecetin at gmail.com>>
Subject: Re: Raspberry Pi Rtems-Graphical-Toolkit

On 16/5/18 9:39 pm, Mikhail Svetkin wrote:
>
> I think it will be very good if RTEMS has some kind of input subsystem
> (keyboards,  mouse, touchscreen) with standard API.
>

Do you have an example standard API what would be suitable?

Chris
_______________________________________________
users mailing list
users at rtems.org<mailto:users at rtems.org>
http://lists.rtems.org/mailman/listinfo/users<https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.rtems.org_mailman_listinfo_users&d=DwMFaQ&c=2do6VJGs3LvEOe4OFFM1bA&r=HDiJ93ANMEQ32G5JGdpyUxbdebuwKHBbeiHMr3RbR74&m=jEekgiYvWnHgpNcfJlW6X1x8cM7ASFHxgW29on-cOD8&s=fUSHJbQR5SY1RqkgGuU3VIaH-gUdvMJCG2Pr-VhNXNQ&e=>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20180521/c3509604/attachment-0002.html>


More information about the users mailing list