Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
soc:2010:andreif:project_plan:start [2010/05/03 08:36] 127.0.0.1 external edit |
soc:2010:andreif:project_plan:start [2010/05/13 03:46] (current) andreif |
||
---|---|---|---|
Line 5: | Line 5: | ||
==== Summary ==== | ==== Summary ==== | ||
- | ==== Outline ==== | + | The aim of this project is to implement a driver for a currently unsupported NIC either by writing one from scratch or by porting an already existing open-source implementation. |
==== Milestones and Timeline ==== | ==== Milestones and Timeline ==== | ||
+ | |||
+ | * Week 1 | ||
+ | * Figure out NIC's control / state registers. | ||
+ | * Create driver skeleton by defining interfaces, registers. | ||
+ | |||
+ | * Weeks 2 - 5 | ||
+ | * Implement functionality by writing code for the interfaces. Define subroutines as necessary. | ||
+ | * Start with open / close / irq as these usually require setting different control registers. This is good for an early stage when data structures are set up and incomplete | ||
+ | * Finally poll / transmit which make full use of previously defined data structures | ||
+ | |||
+ | * Week 6 | ||
+ | * Refactoring / debugging. Try to create as many scenarios as possible so any of the NIC's bugs will surface. | ||
+ | |||
+ | * Week 7 - 12 | ||
+ | * Depending on how things evolved up to this point, this stage either requires fixing bugs and implementing missing functionality or perhaps tackling a new driver or some other contribution to the project. | ||
+ | * Finish documentation | ||