User Tools

Site Tools


gsoc:2020-gsoc-sound-open-firmware

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
gsoc:2020-gsoc-sound-open-firmware [2020/01/14 12:46]
dbaluta created
gsoc:2020-gsoc-sound-open-firmware [2020/03/04 08:59] (current)
dbaluta [Join #sof channel on IRC]
Line 3: Line 3:
 [[:​gsoc:​google-summer-code-2020|Main GSoC Linux Foundation page: How to apply, deadlines, other workgroups, ...]] [[:​gsoc:​google-summer-code-2020|Main GSoC Linux Foundation page: How to apply, deadlines, other workgroups, ...]]
  
-===== Proposal ​=====+====== Sound Open Firmware ======
  
 +Sound Open Firmware is an open source audio DSP firmware and SDK that provides
 +audio firmware infrastructure and development tools for developers who are interested
 +in audio or signal processing on modern DSPs
  
-Code licenseGPL +==== ProposalEnhance SOF Linux kernel debugging support for i.MX8 platforms ====
  
-The project is considered successful if the code is accepted into Linux kernel ASoC maintainer'​s ​tree.+Sound Open Firmware has multiple components but in order to understand the proposal one needs to firstly have a look at these two components:​ 
 +   * SOF Linux kernel driver, this runs on the ARM core and it's the link between ALSA kernel layer and DSP. 
 +   * SOF firmware, this runs on the DSP and it is responsible for audio processing, etc. 
 + 
 +The goal of this project is to enahance the Linux kernel driver debugging support. This includes: 
 +   * add functionality to retrieve DSP traces when DSP panics. 
 +   * add functionality to filter logs from DSP based on various parameters. 
 +   * enhance and update documentation 
 +   * add a serial console driver on DSP (this is optional) 
 + 
 +Github issues: 
 +  * [[https://​github.com/​thesofproject/​sof/​issues/​2172 | Refactor trace system]] 
 + 
 +Code license: GPL-2.0 OR BSD-3-Clause 
 + 
 +The project is considered successful if the code is accepted into SOF github ​tree.
  
 ===== Where to start? ===== ===== Where to start? =====
Line 14: Line 32:
 Have a look at: Have a look at:
    * [[https://​www.youtube.com/​watch?​v=vwDoEumA1Mo | Sound Open Firmware introduction]]    * [[https://​www.youtube.com/​watch?​v=vwDoEumA1Mo | Sound Open Firmware introduction]]
-   * [[https://​thesofproject.github.io/​latest/​index.html | Sound Open Firmware docs]]+   * [[https://​thesofproject.github.io/​latest/​introduction/​index.html| Sound Open Firmware docs]]
    * [[https://​github.com/​thesofproject/​sof/​ | Sound Open Firmware github]]    * [[https://​github.com/​thesofproject/​sof/​ | Sound Open Firmware github]]
  
-===== Things ​to consider ​=====+===== Small ideas to work on to get familiar with the project ​===== 
 + 
 +All the ideas below are just ways of exploring the project.  
 +==== Get SOF binaries ==== 
 +   * Follow tutorial here [[https://​thesofproject.github.io/​latest/​getting_started/​build-guide/​build-from-scratch.html | Getting started]] in order to compile Linux kernel, SOF firmware, SOF topologies. 
 + 
 +==== Create one Pull Request for the SOF repo ===== 
 +   * Fork https://​github.com/​thesofproject/​sof.git repo into your github account 
 +   * Follow instructions here [[https://​help.github.com/​en/​github/​collaborating-with-issues-and-pull-requests/​creating-a-pull-request | Create a Pull Request]] and learn how to create a PR. 
 +   * Use checkpatch.pl to find small issues to fix 
 +   * e.g ./​scripts/​checkpatch.pl --no-tree --strict -f src/​lib/​alloc.c 
 +   * Keep in mind, a commit should fix only one type of error/​warnings. If you need to fix multiple problems create multiple commits. 
 +   * Learn [[https://​chris.beams.io/​posts/​git-commit/​ | how to create a good commit message]] 
 + 
 +==== Create one patch for the Linux kernel ==== 
 + 
 +Watch this [[https://​www.youtube.com/​watch?​v=LLBrBBImJt4 | Write and Submit your first Linux kernel Patch]]. 
 + 
 +Before sending the patch to community please send it to daniel.baluta@nxp.com for review. Make sure you only look into drivers/​staging directory. 
 + 
 +==== Use Qemu to get a feel of how things are working ==== 
 + 
 +  * Qemu repo is at https://​github.com/​thesofproject/​qemu/​ we use branch sof-v4.2 
 +  * Build qemu by looking at [[https://​www.alsa-project.org/​wiki/​Firmware | Firmware ]]. Look at chapter 'Build the Qemu DSP emulator from source.'​ 
 +  * Try to boot sof-imx8.ri SOF binary with qemu 
 +    * Use the following command ./​xtensa-softmmu/​qemu-system-xtensa -cpu imx8 -M adsp_imx8 -nographic -kernel ../​sof.git/​build_imx8_gcc/​src/​arch/​xtensa/​sof-imx8.ri 
 +  * Look at [[https://​www.alsa-project.org/​wiki/​Firmware#​Using_the_Qemu_DSP_emulator | Using the Qemu DSP emulator]] and try to run a full system with Linux kernel and SOF firmware. ​
  
-   * Send at least one patch to Linux kernel. See [[https://​kernelnewbies.org/​FirstKernelPatch | First kernel patch]].+==== Join #sof channel on IRC ====
  
 +Use an IRC client like pidgin to join #sof channel on  irc.freenode.net. There you can find support and quick answers.
  
 ===== Contact ===== ===== Contact =====
Line 26: Line 71:
 If you are interested about this project please drop me an email at: Daniel Baluta <​daniel.baluta@nxp.com>​ If you are interested about this project please drop me an email at: Daniel Baluta <​daniel.baluta@nxp.com>​
  
-You can also find me on IRC: _daniel_ on #alsa-soc channel, on irc.freenode.net server [[http://​webchat.freenode.net/​ | Web IRC]]+You can also find me on IRC: _daniel_ on #​alsa-soc ​OR #sof channel, on irc.freenode.net server [[http://​webchat.freenode.net/​ | Web IRC]]
  
gsoc/2020-gsoc-sound-open-firmware.1579006016.txt.gz · Last modified: 2020/01/14 12:46 by dbaluta