Student: Vedant Paranjape
Mentors: Kumar Abhishek, Zubeen Tolani
This project is currently just a proposal.
School: Veermata Jijabai Technological Institute (VJTI)
Primary language : English, Hindi, Marathi
Typical work hours : 10AM - 7PM Indian Standard Time
Previous GSoC participation: I find embedded pretty interesting, given I have experience with ESP32, I think I will be able to excel in this project. This is the first time i am participating in GSoC
About your project
Project name: Port am335x_pru_package to remoteproc
- This project will enable the control of the Beaglebone's PRUs using remoteproc and rpmsg driver rather than using uio drivers. The PRU is a dual core micro-controller system present on the AM335x SoC which powers the BeagleBone. It is meant to be used for high speed jitter free IO control. Being independent from the linux scheduler and having direct access to the IO pins of the BeagleBone Black, the PRU is ideal for offloading IO intensive tasks. Now, regarding the project:
|Apr 27||Proposal accepted or rejected||Community Bonding Period and discussion on the project and resources available.|
|May 18||Pre-work complete||Coding officially begins!|
|May 25||Milestone #1||
|June 1||Milestone #2|
|June 8||Milestone #3|
|June 15 18:00 UTC||Milestone #4 (Phase 1 evaluations)|
|June 19 18:00 UTC||Phase 1 Evaluation deadline|
|June 22||Milestone #5|
|June 29||Milestone #6|
|July 6||Milestone #7|
|July 13 18:00 UTC||Milestone #8 (Phase 2 evaluations)|
|July 17 18:00 UTC||Phase 2 Evaluation deadline|
|July 20||Milestone #9|
|July 27||Milestone #10|
|August 3||Milestone #11, Completion YouTube video|
|August 10 - 17 18:00 UTC||Final week|
|August 17 - 24 18:00 UTC||End of Session|
Experience and approach
I have decent experience in C++, C and Python. I have done several projects involving embedded systems like ESP32, I well-versed with freeRTOS. I recently did a project on ESP32, in which I used ESP to control and plot PID loop running on the embedded device, plotting the values on a python GUI. Other than that I have developed firmware for a 3 DOF arm based on a ESP32 custom board. I did a internship with a embedded deviced startup, where I built:
- Built TCP network stack for embedded IoT Devices
- Implemented Synchronous TCP server using Boost.Asio(C++) and Boost.Thread(C++)
- Implemented a tool to calculate round trip time(RTT) of tcp packets
I actively contribute to open source and do a lot of mini projects throughout the year, you can find my several more interesting projects at my github page
I believe that if I get stuck on my project and my mentor isn’t around, I will use the resources that are available to me. Some of those information portals are listed below.
- https://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs PRU Guide
- https://markayoder.github.io/PRUCookbook/ Mark Yoder's cookbook is a excellent guide
- Derek Molly's beagle bone guide provides all the information needed for getting up and running with my beagle.
- The technical reference manuals provided by TI on am3358 and am5729 are the best source
- Processor SDK Linux Software Guide is a good reference material
- sysfs remoteproc class documentation
If successfully completed, what will its impact be on the BeagleBoard.org community? Include quotes from BeagleBoard.org community members who can be found on http://beagleboard.org/discuss and http://bbb.io/gsocchat.
Please complete the requirements listed on the ideas page. Provide link to pull request.
Is there anything else we should have asked you?