Difference between revisions of "BeagleBoard/GSoC/2020 Projects/Cape Compatibility"

From eLinux.org
Jump to: navigation, search
(Contingency)
(Timeline)
Line 62: Line 62:
 
|-
 
|-
 
| June 8 || Milestone #3 ||
 
| June 8 || Milestone #3 ||
*  
+
* Reading and understanding the [https://github.com/beagleboard/beaglebone-ai/wiki/System-Reference-Manual System Reference Manual] for Beagle bone Ai.
 +
* Start working on the "Linux/arch/arm/boot/dts/am335x-bone-common-univ.dtsi" and related device tree files.
 +
* Detailed discussion on the work done till now.
 
|-
 
|-
| June 15 18:00 UTC || Milestone #4 ||  
+
| June 15 18:00 UTC || Milestone #4 <br> (Phase 1 Evaluation) ||  
 +
* Demonstrating the work through examples.
 +
* Documenting everything and submitting the report for evaluation.
 
|-
 
|-
 
| June 22 || Milestone #5 ||
 
| June 22 || Milestone #5 ||
 +
* Taking notes and feedback from my mentor on the quality of code.
 +
* Testing the pin control using libgpiod.
 +
* Writing new examples & running available examples that demonstrate the proper working of pin control using libgpiod.
 
|-
 
|-
 
| June 29 || Milestone #6 ||
 
| June 29 || Milestone #6 ||
 +
* Start learning about how to create device tree aliases.
 +
* Writing aliases for the Ai board pins with compatibility with Black.
 +
* Writing examples for the work in progress.
 
|-
 
|-
 
| July 6 || Milestone #7 ||
 
| July 6 || Milestone #7 ||
 +
* Running userspace examples provided for Black on Ai.
 +
* Start testing example code for capes on Ai.
 +
* Detailed discussion on the work done till now.
 
|-
 
|-
| July 13 18:00 UTC || Milestone #8 ||
+
| July 13 18:00 UTC || Milestone #8 <br> (Phase 1 Evaluation) ||
 +
* Demonstrating the cape compatibility.
 +
* Documenting everything and submitting the report for evaluation.
 
|-
 
|-
 
| July 20 || Milestone #9 ||
 
| July 20 || Milestone #9 ||

Revision as of 14:36, 16 March 2020


Proposal for Cape compatibility layer for BeagleBone Black and BeagleBone AI

Student: Deepak Khatri
Mentors: Jason Kridner
Code: https://github.com/deepaklorkhatri007/linux/tree/4.14
Wiki: https://elinux.org/User:Lorforlinux
GSoC: [N/A]

Status

This project is currently just a proposal.

Proposal

Completed all the requirements listed on the ideas page. the code for the cross-compilation task can be found here submitted through the pull request #130.

About you

IRC: lorforlinux
Github: Deepak Khatri
School: Netaji Subhas Univerity of Technology (NSUT) formely NSIT
Country: India
Primary language(s): Hindi,English
Typical work hours: 9AM - 7PM IST
Previous GSoC participation: I participated in GSoC2019 but i was not selected for the project. The project was to make a jekyll website for AIMA organization, Discussion on the project can be found here and the prototype i made can be found here. From the GSoC2019 i learned the importance of communication.

About your project

Project name: Cape compatibility layer for BeagleBone Black and BeagleBone AI

Description

The idea of this project is to make the same userspace examples work, to use the same references to drivers for peripherals assigned to the same pins between Black and AI. For making the boards pin to pin compatible as in pin names, we are required to create new device tree sources include files. The file "am335x-bone-common-univ.dtsi" defines the pin names for P8 and P9 header of Black and we are required to implement a similar file for am5729 like "am5729-beagleboneai-common-univ.dtsi". To use serial ports and userspace I2cdev/spidev, aliases provided by the device trees would match. For GPIOs, examples would work using pin names under libgpiod.

Timeline

Apr 27 Pre-work Community Bonding Period and discussion on the project and resources available.
May 18 Pre-work complete Coding officially begins!
May 25 Milestone #1
  • Introductory YouTube video.
  • Environment setup for coding i.e installing the OS on both Black and Ai boards.
  • Compiling and running example codes on Black.
June 1 Milestone #2
  • Analysing the full process of naming GPIO, P8 and P9 header pins on Black.
  • Getting more information on how to create a device tree source and include file.
  • Learning the process of creating device tree overlays and running some examples on the Black
June 8 Milestone #3
  • Reading and understanding the System Reference Manual for Beagle bone Ai.
  • Start working on the "Linux/arch/arm/boot/dts/am335x-bone-common-univ.dtsi" and related device tree files.
  • Detailed discussion on the work done till now.
June 15 18:00 UTC Milestone #4
(Phase 1 Evaluation)
  • Demonstrating the work through examples.
  • Documenting everything and submitting the report for evaluation.
June 22 Milestone #5
  • Taking notes and feedback from my mentor on the quality of code.
  • Testing the pin control using libgpiod.
  • Writing new examples & running available examples that demonstrate the proper working of pin control using libgpiod.
June 29 Milestone #6
  • Start learning about how to create device tree aliases.
  • Writing aliases for the Ai board pins with compatibility with Black.
  • Writing examples for the work in progress.
July 6 Milestone #7
  • Running userspace examples provided for Black on Ai.
  • Start testing example code for capes on Ai.
  • Detailed discussion on the work done till now.
July 13 18:00 UTC Milestone #8
(Phase 1 Evaluation)
  • Demonstrating the cape compatibility.
  • Documenting everything and submitting the report for evaluation.
July 20 Milestone #9
July 27 Milestone #10
August 3 Milestone #11 Completion YouTube video
August 10 - 17 18:00 UTC Final week Students submit their final work product and their final mentor evaluation
August 17 - 24 18:00 UTC End of competition Mentors submit final student evaluations

Experience and approach

I have done an internship on Embedded Electronics using BeagleBoneBlack. I completed this project called "Mausam national" during my internship. Mausam national is an air quality cum multiple gases ppm level acquisition system. The interesting part of the project is that it can connect to the internet and fetch the air quality data from my university's pollution center that they provide for everyone to use. we used that data for the calibration of the MQ sensors on-board. I was one of the quarter-finalists in IICDC2017 and during that period I worked with ARM-M4 based MSP432. I participated in Electronics Maker contest '17 there I presented a low-cost biopotential amplifier based on TL074 and won Ti's C2000 DSP for the project. I have worked on both hardware and software-based projects, hardware projects can be found on my youtube channel here and software projects can be found on my GitHub here.

Contingency

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.

  1. Derek Molly's beagle bone guide provides all the information needed for getting up and running with my beagle.
  2. Content on e-ALE.org is very useful for information that ranges from tutorials and walkthroughs to the level of very advanced stuff.
  3. BeagleBone cookbook from Mark A. Yoder & Jason Kridner is the best source for test projects during the prototyping period.
  4. The technical reference manuals provided by TI on am3358 and am5729 are the best source for getting the insights on the SoC used in Black and Ai.

Benefit

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.

Suggestions

Is there anything else we should have asked you?