Hello everyone,
My name is Ahmad Hisham and I am a 4th year student currently studying Computer Engineering who is interested in contributing to the RTEMs project. I have some brief experience with embedded systems, Linux, and software development in C/C++. I hope this opportunity could be a great chance for me to learn how open source software development works and possibly contribute to more projects in the future.
The project I propose to work for the upcoming GSoC is “pysimCoder Support for RTEMS” which was suggested to me by a professor in my University. I estimate the scale of the project to be medium (175 hours).
pysimCoder is useful for performing dynamic systems modeling, simulation, control, and real-time code generation as an alternative to expensive licensed programs such as Simulink. Since this program is open source, it makes it great for educational and commercial purposes. It has already found use in some University classes as shown here:
Commande Vectorielle de la Machine Synchrone – Vincent Kerhoas.
Similar to Simulink, the software components are building blocks that can be assembled as block diagrams to design schematics for code generation. The code is written on a host Linux computer, generated to C, and deployed to a target where it runs in real-time. Python scripts can be attached to the block diagram, allowing the user to import and use numerous Python libraries and APIs. Making it quite a capable tool for rapid control prototyping. A demonstration by the creator of the program is shown here:
https://www.youtube.com/watch?v=iX_hfb6ZoR4
The goal of the possible GSoC project would be to add templates and basic support for RTEMS into pysimCoder. Leveraging RTEMs POSIX compliant durable RTOS base and scheduler. Code will be developed for x86 and Zynq targets in QEMU and then it would be tested on the MZ_APO kits in my University. Possibly expanding to the kit’s peripherals.
I am currently drafting a GSoC proposal for this project and have made progress on it but for now I also want to submit proof of my eligibility of the program:
Hello world Modification:
Git Patch:
I would welcome any feedback on this idea, especially suggestions for changes that might help align the project more closely with the goals of RTEMS.

