[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