<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 21, 2018 at 11:48 AM, Kirspel, Kevin <span dir="ltr"><<a href="mailto:Kevin-Kirspel@idexx.com" target="_blank">Kevin-Kirspel@idexx.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div class="m_-6043682729047356513WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">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.</span></p></div></div></blockquote><div><br></div><div>Posting inline below<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div class="m_-6043682729047356513WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><u></u><u></u></span></p><span class="">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Kevin Kirspel<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Electrical Engineer - Sr. Staff<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Idexx Roswell<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">235 Hembree Park Drive<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Roswell GA 30076<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Tel: (770)-510-4444 ext. 81642<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Direct: (770)-688-1642<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Fax: (770)-510-4445<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><u></u> <u></u></span></p>
</span><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> users [mailto:<a href="mailto:users-bounces@rtems.org" target="_blank">users-bounces@rtems.<wbr>org</a>]
<b>On Behalf Of </b>Mikhail Svetkin<br>
<b>Sent:</b> Monday, May 21, 2018 12:35 PM<br>
<b>To:</b> Kirspel, Kevin <<a href="mailto:Kevin-Kirspel@idexx.com" target="_blank">Kevin-Kirspel@idexx.com</a>><br>
<b>Cc:</b> <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a>; Emre Cetin <<a href="mailto:hsnemrecetin@gmail.com" target="_blank">hsnemrecetin@gmail.com</a>></span></p><div><div class="h5"><br>
<b>Subject:</b> Re: Raspberry Pi Rtems-Graphical-Toolkit<u></u><u></u></div></div><p></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">So the minimal example of Qt Widgets + RTEMS LIBBSD + EVDEV will be ~24MB.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">It is pretty big. If RTEMS has support of EVDEV or libinput it will be only ~9MB.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Qt does not require MMAP, only LinuxFB plugin. I wrote my own QPA plugin and it does not need MMAP.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><br clear="all">
<u></u><u></u></p>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:9.5pt">Best regards,<br>
Mikhail</span><u></u><u></u></p>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On 21 May 2018 at 17:42, Kirspel, Kevin <<a href="mailto:Kevin-Kirspel@idexx.com" target="_blank">Kevin-Kirspel@idexx.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">To give a little background on this subject, the current support in RTEMS LIBBSD for the EVDEV input system was motivated
 by the following:</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">- Add a “rtems-arm-4.12-gcc” platform to QT.  This allows you to configure QT with RTEMS compilers and libraries.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">- Use QT LinuxFB plugin as is for graphics output and system input.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">The QT LinuxFB plugin supports the following input systems: libinput, tslib, and EVDEV.  I choose EVDEV because it
 is supported by LIBBSD.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">--------
</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">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.</span></p></div></div></blockquote></div></div></div></div></div></div></blockquote><div>That seems large for the normal hello world. Is that the file size or size reported by "arm-rtems5-size"? I would expect something under 256K no matter how complex the BSP is. It is often under 48K.</div><div><br></div><div>Again is the EVDEV size, file size or real code size?</div><div><br></div><div>I agree that having a USB keyboard and mouse requires the FreeBSD stack and that has code but that much?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div class="m_-6043682729047356513WordSection1"><div><div class="h5"><div><div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in"><div><div><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">--------
</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">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.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">--------
</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">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.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Kevin Kirspel</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Electrical Engineer - Sr. Staff</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Idexx Roswell</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><a href="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=" target="_blank">235
 Hembree Park Drive</a></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><a href="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=" target="_blank">Roswell
 GA 30076</a></span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Tel: (770)-510-4444 ext. 81642</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Direct: (770)-688-1642</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Fax: (770)-510-4445</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><u></u><u></u></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Joel Sherrill [mailto:<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>]
<br>
<b>Sent:</b> Monday, May 21, 2018 9:10 AM<br>
<b>To:</b> Kirspel, Kevin <<a href="mailto:Kevin-Kirspel@idexx.com" target="_blank">Kevin-Kirspel@idexx.com</a>><br>
<b>Cc:</b> Chris Johns <<a href="mailto:chrisj@rtems.org" target="_blank">chrisj@rtems.org</a>>; Mikhail Svetkin <<a href="mailto:mikhail.svetkin@gmail.com" target="_blank">mikhail.svetkin@gmail.com</a>>;
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a>; Emre Cetin <<a href="mailto:hsnemrecetin@gmail.com" target="_blank">hsnemrecetin@gmail.com</a>></span><u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><br>
<b>Subject:</b> Re: Raspberry Pi Rtems-Graphical-Toolkit<u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"> <u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">On Mon, May 21, 2018, 7:52 AM Kirspel, Kevin <<a href="mailto:Kevin-Kirspel@idexx.com" target="_blank">Kevin-Kirspel@idexx.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal">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?".<u></u><u></u></p>
</blockquote>
</div>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">That's the question.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">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.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">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.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">But footprint is important. Any idea how large a simple non-networked example would be with the FreeBSD code as a base?<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">And we need examples and howtos. If I didn't know about it, it isn't reasonable to expect someone new to find it. :(<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">--joel<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
<div>
<div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
<p class="MsoNormal"><br>
Kevin Kirspel<br>
Electrical Engineer - Sr. Staff<br>
Idexx Roswell<br>
<a href="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=" target="_blank">235
 Hembree Park Drive</a><br>
Roswell GA 30076<br>
Tel: (770)-510-4444 ext. 81642<br>
Direct: (770)-688-1642<br>
Fax: (770)-510-4445<br>
<br>
-----Original Message-----<br>
From: Chris Johns [mailto:<a href="mailto:chrisj@rtems.org" target="_blank">chrisj@rtems.org</a>]
<br>
Sent: Sunday, May 20, 2018 5:51 PM<br>
To: Mikhail Svetkin <<a href="mailto:mikhail.svetkin@gmail.com" target="_blank">mikhail.svetkin@gmail.com</a>>; Kirspel, Kevin <<a href="mailto:Kevin-Kirspel@idexx.com" target="_blank">Kevin-Kirspel@idexx.com</a>><br>
Cc: <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a>; Emre Cetin <<a href="mailto:hsnemrecetin@gmail.com" target="_blank">hsnemrecetin@gmail.com</a>><br>
Subject: Re: Raspberry Pi Rtems-Graphical-Toolkit<br>
<br>
On 16/5/18 9:39 pm, Mikhail Svetkin wrote:<br>
> <br>
> I think it will be very good if RTEMS has some kind of input subsystem <br>
> (keyboards,  mouse, touchscreen) with standard API.<br>
> <br>
<br>
Do you have an example standard API what would be suitable?<br>
<br>
Chris<br>
______________________________<wbr>_________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
<a href="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=" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div>
</div>

<br>______________________________<wbr>_________________<br>
users mailing list<br>
<a href="mailto:users@rtems.org">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a><br></blockquote></div><br></div></div>