To add a new board to
barebox a few steps must be done, to extend and modify the
barebox source tree.
- board/<boardname>
- board/<boardname>/Makefile
- board/<boardname>/<boardname>.c
- board/<boardname>/<boardname>.dox
- include/configs/<boardname>.h
- arch/<architecture>/configs/<boardname>_defconfig
obj-y += all files that builds the BSP (Assembler and/or C files)
TBD
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 template for this kind of file:
/** @page <boardname> <Manufacturer> <Board's Name>
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.
*/
To make your new shiny file visible in the automatically generated documentation you must sort in the used page lable ("<boardname>" in the template above) into Documentation/boards.dox as:
...
@subpage <boardname>
...
at the right architecture.
- Note:
- Consider to use an unique page lable.
If your board needs a special binary
barebox layout, you can provide a local board linker script file. This will replace the generic one provided by your architecture or CPU support.
Add this file with
extra-y += <board_linker_script>
in your local Makefile to the list of files, forwarded to the last linking step.
TBD
- modify board/board.dox
- modify arch/<architecture>/Kconfig
- add your board (MACH_*) to the list
- add your default text base address for this architecture (ARCH_TEXT_BASE)
- add BOARDINFO with valueable info for your board
- modify arch/<architecture>/Makefile:
- add board-$(MACH_*) = <your board_dir>
First, the new board should be visible in the menu.