/** @page developers_manual Developer's Manual

This part of the documentation is intended for developers of @a barebox.

@section devel_backgrounds Some background knowledge for some frameworks barebox

@li @subpage driver_model
@li @subpage dev_params

@section devel_hints Hints and tips for simply adapting barebox

@li @subpage dev_architecture
@li @subpage dev_cpu
@li @subpage dev_board

@section devel_themes Various themes about barebox

@li @subpage how_mount_works
@li @subpage boot_preparation
@li @subpage barebox_simul
@li @subpage io_access_functions
@li @subpage mcfv4e_MCDlib

*/
