We hope to participate in Google Code-in 2010 (basically Google Summer of code for 13-18 year old students)
Please note that the task list is not finished, and we will add more tasks once we know how long individual tasks are supposed to take.
- 1 Code: Tasks related to writing or refactoring code
- 1.1 Add all chips listed in flashchips.h to flashchips.c
- 1.2 Add all chips supported by the Linux MTD layer to flashchips.c
- 1.3 Compare Ezoflash support list with flashrom support list, add missing chips to flashchips.c
- 1.4 Compare Willem/... support list with flashrom support list, add missing chips to flashchips.c
- 1.5 Finish the flashrom Qt GUI
- 1.6 Convert the flashrom Qt GUI to use libflashrom
- 1.7 Create a Windows GUI for flashrom
- 1.8 Add comments before each function
- 1.9 Finish libflashrom
- 2 Documentation: Tasks related to creating/editing documents
- 3 Outreach: Tasks related to community management and outreach/marketing
- 4 Quality Assurance: Tasks related to testing and ensuring code is of high quality
- 5 Research: Tasks related to studying a problem and recommending solutions
- 6 Training: Tasks related to helping others learn more
- 7 Translation: Tasks related to localization
- 8 User Interface: Tasks related to user experience research or user interface design and interaction
Add all chips listed in flashchips.h to flashchips.c
This means you have to find the datasheet for each chip (ask us, we have a huge datasheet archive), compare it with some already supported chip, then add struct flashchip for the new chip to flashchips.c.
Estimated time depends on your datasheet reading skills, and is between 5 minutes and 2 hours per chip.
Add all chips supported by the Linux MTD layer to flashchips.c
Given that the Linux MTD code and flashrom are GPLv2, copy-paste is OK, but keep in mind that the data structures differ and that the Linux MTD chip definitions have less info about erase methods than flashrom. OTOH, some info in Linux MTD chip defintions is not (yet) present in flashrom, so you may have to carry some useful info forward as comments. You will have to look up the datasheet for each chip as with the task above.
Compare Ezoflash support list with flashrom support list, add missing chips to flashchips.c
Find the datasheets, etc. For more info, see the tasks above.
Compare Willem/... support list with flashrom support list, add missing chips to flashchips.c
Finish the flashrom Qt GUI
Sean Nelson wrote a Qt GUI for the flashrom executable, but it needs to be finished and extended to take advantage of all flashrom features.
Convert the flashrom Qt GUI to use libflashrom
For some applications libflashrom is preferable to a flashrom executable. Investigate which variant makes more sense.
Create a Windows GUI for flashrom
Check if the existing Qt GUI can be reused or if flashrom needs a totally separate native Windows GUI.
Add comments before each function
Document the parameters taken by the function, the return value and what the function does.
This task is REALLY hard. Help us find a good and maintainable library interface for flashrom which is still usable 2 years from now. It is strongly suggested that you have some experience with library programming and/or creating stable interfaces.