Complete this task as part of your GSoC 2020 application if you are applying for any QEMU related task.
This challenge is mandatory if you apply for T724.
---
Please choose at least one of the following tasks and make sure to adhere to the QEMU coding style.
**Task 1:**
Create a simple SPI device driver for a custom PWM LED controller of your design.
Make sure that the device gives some debug output when accessed.
Ideally, it should also have some graphical display showing the LED with variable brightness, and a small demo program.
**Task 2:**
Create a memory mapped (MMIO) interface for generating a checksum. The resulting checksum should be present in the memory mapped range.
Possible inputs (as 32-bit MMIO registers) - just an example:
- start address of the memory block for which a checksum will be computed
- size of the memory block
- a register to validate the start/size registers and start the computation
Possible outputs (as 32-bit MMIO registers) - just an example:
- resulting checksum
- status register (assuming the computation takes some CPU cycles)
---
**Useful Links:**
- https://en.wikipedia.org/wiki/QEMU
- https://en.wikipedia.org/wiki/Serial_Peripheral_Interface
- https://en.wikipedia.org/wiki/MMIO
- MMIO: https://jsandler18.github.io/extra/peripheral.html
- https://web.archive.org/web/http://nairobi-embedded.org/category/qemu.html
- https://stackoverflow.com/questions/28315265/how-to-add-a-new-device-in-qemu-source-code
To get in touch with any mentor check the [[ https://www.apertus.org/GSoC-2019-Mentor-Contact-List | Mentor Contact List]].