9
0
Fork 0
barebox/Documentation/board.dox

95 lines
2.6 KiB
Plaintext
Raw Normal View History

2007-11-05 13:39:07 +00:00
/** @page dev_board Adapting a new Board
2007-10-19 11:19:43 +00:00
To add a new board to @a barebox a few steps must be done, to extend and modify
the @a barebox source tree.
2007-11-05 13:39:07 +00:00
@section board_add_files Files/Directories to be added
- arch/\<architecture\>/boards/\<boardname\>
- arch/\<architecture\>/boards/\<boardname\>/Makefile
- arch/\<architecture\>/boards/\<boardname\>/\<boardname\>.c
- arch/\<architecture\>/boards/\<boardname\>/\<boardname\>.dox
2007-11-08 11:01:52 +00:00
- include/configs/\<boardname\>.h
- arch/\<architecture\>/configs/\<boardname\>_defconfig
2007-11-05 13:39:07 +00:00
@subsection board_makefile arch/\<architecture\>/boards/\<boardname\>Makefile
2007-11-05 13:39:07 +00:00
2007-11-08 11:01:52 +00:00
@verbatim
2007-11-05 13:39:07 +00:00
obj-y += all files that builds the BSP (Assembler and/or C files)
2007-11-08 11:01:52 +00:00
@endverbatim
2007-11-05 13:39:07 +00:00
@subsection board_basefile arch/\<architecture\>/boards/\<boardname\>\<boardname\>.c
2007-11-08 11:01:52 +00:00
TBD
@subsection board_doxygen arch/\<architecture\>/boards/\<boardname\>/\<boardname\>.dox
2007-11-05 13:39:07 +00:00
This file should describe in short words your new board, what CPU
it uses, what resources are provided and features it supports.
Use the doxygen style for this kind of documentation. Below you find a
2007-11-08 11:01:52 +00:00
template for this kind of file:
2007-11-05 13:39:07 +00:00
2007-11-08 11:01:52 +00:00
@verbatim
/** @page <boardname> <Manufacturer> <Board's Name>
2007-11-05 13:39:07 +00:00
This board uses an <architecture> based CPU. The board is shipped with:
- many MiB NOR type Flash Memory
- many MiB SDRAM
- a very special network controller
and so on.
2007-11-08 11:01:52 +00:00
*/
@endverbatim
2007-11-05 13:39:07 +00:00
To make your new shiny file visible in the automatically generated
documentation you must sort in the used page lable ("<boardname>" in the
2007-11-08 11:01:52 +00:00
template above) into Documentation/boards.dox as:
2007-11-05 13:39:07 +00:00
2007-11-08 11:01:52 +00:00
@verbatim
2007-11-05 13:39:07 +00:00
...
2007-11-08 11:01:52 +00:00
@subpage <boardname>
2007-11-05 13:39:07 +00:00
...
2007-11-08 11:01:52 +00:00
@endverbatim
2007-11-05 13:39:07 +00:00
at the right architecture.
@note Consider to use an unique page lable.
@subsection board_lscript arch/\<architecture\>/boards/\<boardname\>/barebox.lds.S
2007-11-05 13:39:07 +00:00
If your board needs a special binary @a barebox layout, you can provide a local
2007-11-05 13:39:07 +00:00
board linker script file. This will replace the generic one provided by your
architecture or CPU support.
Add this file with
2007-11-08 11:01:52 +00:00
@verbatim
extra-y += <board_linker_script>
@endverbatim
in your local \b Makefile to the list of files, forwarded to the last linking step.
@section board_defconfig arch/\<architecture\>/configs/\<boardname\>_defconfig
2007-11-05 13:39:07 +00:00
2007-11-08 11:01:52 +00:00
TBD
2007-11-05 13:39:07 +00:00
@section board_mod_files These files needs to be modified:
- modify Documentation/board.dox
2007-11-08 11:01:52 +00:00
- modify arch/\<architecture\>/Kconfig
2007-11-05 13:39:07 +00:00
- add your board (MACH_*) to the list
- add your default text base address for this architecture (ARCH_TEXT_BASE)
2007-11-08 11:01:52 +00:00
- modify arch/\<architecture\>/Makefile:
- add board-$(MACH_*) = \<your board_dir\>
2007-11-05 13:39:07 +00:00
First, the new board should be visible in the menu.
2007-10-19 11:19:43 +00:00
@section board_specific_cpu Porting hints for specific CPUs
@li @subpage dev_s3c24xx_mach
2007-10-19 11:19:43 +00:00
*/