wiki:Projects/GSoC/ApplicationConfigurationGUI
Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Version 5 (modified by C Rempel, on 02/09/13 at 10:00:10) (diff)

ApplicationConfigurationGUI

Mentors: = Joel Sherrill, Cynthia Rempel

Students: = Help Wanted

Status: = Designed, not implemented.

Introduction: = Introduce the main concepts around the project:

Below is a list of requirements for the application GUI # The GUI generating script runs on Fedora # The GUI generating script (although the language may, or may not be critical) can be run from a Makefile. # The GUI generating script and resulting GUI are written in open languages. # the GUI is automatically generated from http://git.rtems.org/rtems/tree/doc/user/conf.t, a file for the top, and a file for the bottom. # the GUI runs on Fedora, and it would be really nice if it ran on either Ubuntu/Debian? or OpenSuse?, and Windows #

A key requirement for the application GUI is that minimal maintenance is required problems/needs the project will try to solve/satisfy.

Goal: The goal is to have a graphical tool to configure RTEMS for a certain Application e.g. max number of tasks, semaphores etc. It could generate a userconf.h which includes confdefs.h. The complete list of RTEMS configuration parameters for version 4.9.1 of RTEMS are documented in the Configuring a System chapter in the User's Guide.

There are a variety of ways to approach this project.

  • One solution is to write a GUI in Python. This should be cross-platform.
  • Another solution could be a Wizard/Editor? for Eclipse.
  • Another solution is to use the config infrastructure used by the GNU/Linux kernel.
  • Another approach would be to use the configuration GUI from eCos and NutOS: http://www.ethernut.de/en/software/nutconf.html

There is NO consensus on how best to approach this project and you must convince the community that your approach will be the right one.

JoelSherrill has used the GNU/Linux kernel config infrastructure for similar projects in the past and things it is likely the best alternative as a baseline. This would certainly provide multiple interfaces on GNU/Linux hosts (e.g. X11, menu, command line). But we would like a solution that also addresses MS-Windows users.

A better possibility is to write a GUI program in Python which reads an XML format file describing the RTEMS configuration parameters. As the user set values, the program would store this information in another XML format file. When it was time to write the C code to use with the RTEMS application, the GUI application would write that. So we would have:

  • XML file describing RTEMS configuration parameters
  • XML save file with user settings
  • C/H file output for use with RTEMS application= References =

# Some Design work