[RTEMS Project] #3892: RTEMS Python Standardisation

RTEMS trac trac at rtems.org
Sat Feb 29 01:30:06 UTC 2020


#3892: RTEMS Python Standardisation
--------------------------+------------------------------------------
  Reporter:  Amar Takhar  |      Owner:  Amar Takhar
      Type:  project      |     Status:  assigned
  Priority:  normal       |  Milestone:  Indefinite
 Component:  admin        |    Version:
  Severity:  normal       |   Keywords:  gsoc, python, tools, testing
Blocked By:               |   Blocking:
--------------------------+------------------------------------------
 [[PageOutline(1-5, Contents, inline)]]

 = Mentors =
 Amar Takhar

 = Status =

 GSoC project or looking for funding.

 = Introduction =

 A qualified developer for this project does not need to know anything
 about RTEMS or an RTOS in general.


 = Project =

 RTEMS currently has several Python tools that need to be brought under the
 same ecosystem and several tools that are missing that need to be written.

 This task also includes the creation of a beginners tutorial with ASCII
 screen-capture on using the new tools created for testing code on real
 hardware.


 == Goal ==

  * Runs under Python 2.x and 3.x.
  * A general RTEMS tool library with a standard API to handle common
 tasks.
  * All utilities callable as a function within the API with the tool
 itself being a thin layer.
  * Testing on all API commands under both Python 2.x and 3.x.
  * In-source documentation.
  * Tutorial using new Python utility for running code on hardware.


 == Prerequisite ==

  * Medium knowledge of Python.
  * Knowledge of how to write well-written Python following PEPs,
  * Understanding of how libraries and APis work.
  * A Beaglebone Black with an FTDI cable.


 == Good to Have ==

 None of these are required but having them will strengthen a candidates
 chances of being accepted.

  * Cross-platform programming experience.
  * Knowledge of debugging and profiling Python code
  * Experience with writing documents.


 == Current Tools ==


 == New Tools ==

 Currently, low-level tools exist that help with running binaries on real
 hardware.  However RTEMS lacks a high level management utility for
 configuring `tftp-proxy`, `rtems-test`, `rtems-run` and `ser2net`.

 Further to this there are other tasks that need to be completed such as
 creating a usable `u-boot` image with the correct `FDT` files.  `mkimage`
 must be used over test binaries to create a flashable image to be sent to
 the hardware for execution.


 == Tutorial ==

 RTEMS lacks a general tutorial for new users to the project.  Part of
 writing a new tool for handling running code on real hardware is to lower
 the burden of new users to test RTEMS for their requirements.

 A new tutorial describing this process and the usage of the new tool is
 required for successful completion.


 == Testing ==

 The entire API will need to be tested using `pytest`.  This will include
 running under Python 2.x and 3.x for compatibility purposes on our main
 platforms.  `FreeBSD`, `Linux`, `Windows`, and `OS X`.

 Code coverage should be at or near 100% upon the completion of this
 project.

--
Ticket URL: <http://devel.rtems.org/ticket/3892>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list