This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
gsoc:2024-gsoc-iio-driver [2024/02/08 05:54] marcelosc Better formatting, proposal tips, example of previous projects |
gsoc:2024-gsoc-iio-driver [2024/03/20 04:52] (current) marcelosc Add FAQ |
||
---|---|---|---|
Line 54: | Line 54: | ||
* [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/adc/ad7292.c|drivers/iio/adc/ad7292.c]] | * [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/iio/adc/ad7292.c|drivers/iio/adc/ad7292.c]] | ||
+ | |||
+ | ===== Frequently Asked Questions (FAQ) ===== | ||
+ | |||
+ | **Question:** Will I have to buy the hardware (Raspberry Pi, evaluation board) for this project? | ||
+ | |||
+ | **Answer**: No, the hardware will be provided by Analog Devices. You don’t have to worry about this aspect. | ||
+ | |||
+ | **Question:** Are there any prerequisites for this project? | ||
+ | |||
+ | **Answer:** No, there are no hard prerequisites for participating in this project. However, it is expected that applicants be familiar with | ||
+ | the C programming language, know how to use Linux shell command line interfaces, and understand elementary concepts of operating systems such as | ||
+ | files, processes, and system call interface. Previous experience with Linux kernel development is not required although it is a plus for | ||
+ | applicants who have it. | ||
+ | |||
+ | **Question:** I don`t know much about IIO. Where can I learn more about IIO? How can I get started with Linux kernel development for the IIO subsystem? | ||
+ | |||
+ | **Answer:** Aside from the presentations about IIO, you can follow the ADI instructions on the | ||
+ | [[https://wiki.analog.com/resources/tools-software/linux-build/generic/raspberrypi|Building for Raspberry PI]] page or the [[https://www.raspberrypi.com/documentation/computers/linux_kernel.html#cross-compiling-the-kernel|official Raspberry Pi]] ones (using ADI repository and defconfig file). | ||
+ | |||
+ | The Linux Foundation offers a free introductory course for kernel development: | ||
+ | [[https://training.linuxfoundation.org/training/a-beginners-guide-to-linux-kernel-development-lfd103/|A Beginner’s Guide to Linux Kernel Development (LFD103)]] | ||
+ | |||
+ | The [[https://kernelnewbies.org/Linux_Kernel_Newbies|Kernel Newbies]] website contains extensive material about Linux kernel development, including an | ||
+ | [[https://kernelnewbies.org/IIO_tasks|IIO task]] page. | ||
+ | |||
+ | One can also find many kernel development tutorials on the Internet. | ||
+ | For IIO development, I suggest some of FLUSP's tutorials [[https://flusp.ime.usp.br/kernel/qemu-libvirt-setup/|1]], [[https://flusp.ime.usp.br/kernel/build-linux-for-arm/|2]], [[https://flusp.ime.usp.br/kernel/modules-intro/|3]], [[https://flusp.ime.usp.br/iio/iio-dummy-anatomy/|4]], [[https://flusp.ime.usp.br/iio/experiment-one-iio-dummy/|5]]. | ||
+ | |||
+ | **Question:** Is there any specific Linux distribution or patch to use for Linux kernel IIO development? | ||
+ | |||
+ | **Answer:** No, there is no specific distro or kernel version required for IIO development. Any distro should work. | ||
+ | However, for testing on Raspberry Pi, one often uses a kernel that includes patches for the Raspberry Pi platform | ||
+ | (such as the ADI kernel or the Raspberry Pi kernel). Kernels that don`t include those patches might not | ||
+ | run on a Raspberry Pi board although may be used for testing in emulated environments. | ||
+ | |||
+ | |||
+ | **Question:** Is previous contributing to the Linux kernel a requirement for accepting a candidate? | ||
+ | |||
+ | **Answer:** No, although having a history of contribution often provides more visibility to a candidate. | ||
===== Contact ===== | ===== Contact ===== |