source: trunk/softs/tsar_boot/README @ 876

Last change on this file since 876 was 761, checked in by cfuguet, 10 years ago

tsar_boot: adding hard_config.h dependency in makefile

  • This is to force Makefile to recompile all sources every time hard_config.h is modified.
File size: 2.5 KB
RevLine 
[758]1\author: Cesar Fuguet
2\date  : July 24, 2014
[292]3
[758]4TSAR BOOT-LOADER
5
[292]6Files:
7src/        Source files
[302]8            The entry point of this boot loader is the file reset.S
[292]9
10include/    Header files
11
[758]12driver/     Drivers source files and headers
13
[759]14conf/       Platform specific files
[761]15
[347]16            For each platform, we must define a new directory.
[758]17            Mandatory files:
[292]18
[758]19              - hard_config.h (can be generated using giet-vm genmap tool)
[292]20
[761]21                This file contains all physical segments addresses and sizes of
22                the hardware platform. It also contains other configuration
23                definitions as the disk controller type, mesh size, etc.
24                Examples can be found in the conf/ directory.
[425]25
[758]26            Optional files:
[568]27
[758]28              - platform.dts (platform device tree)
[292]29
[758]30Makefile    Makefile to compile the boot loader.
31            Mandatory arguments:
[347]32
[759]33              - HARD_CONFIG_PATH=<platform_dir>
[425]34
[759]35                Defines the directory where to find the hard_config.h file
[347]36
[758]37           Optional arguments:
[292]38
[758]39              - USE_DT=<value>
[292]40
[761]41                Value can be 1 or 0. If a device tree file is not used, set
42                this flag to 0. It is set by default to 1.
[388]43
[758]44              - SYSTEM_CLK=<platform clock frequency>
[292]45
[758]46                Platform clock frequency in KHz
[388]47
[758]48              - DTS=<file.dts>
[292]49
[758]50                Platform device tree (by default is platform.dts)
[702]51
[759]52Important characteristics of this preloader:
53
54  - Processor 0 performs loading of Operating System Boot Loader which must
55    be an ELF file located at the third block of the disk.
56
57  - Other processors wait to be waken up through an interruption generated
58    from a XICU mailbox. Each processor other than 0 has its own mailbox
59    in the local XICU.
60
61  - Stack allocation is only made for processor 0. The loaded Operating System
62    boot loader or kernel must perform stack allocation for other processors.
63
[761]64  - Stack for processor 0 is allocated at the end of RAM segment in the cluster
65    (0,0).
[759]66
[758]67Examples:
[702]68
[759]69    make HARD_CONFIG_PATH=<platform_dir> USE_DT=0
[702]70
[758]71        Compile for <platform_dir> and do not compile device tree file
[702]72
[759]73    make HARD_CONFIG_PATH=<platform_dir> DTS=platform_fpga.dts SYSTEM_CLK=25000
[702]74
[758]75        Compile for <platform_dir> and compile the 'platform_dpga.dts'
76        device tree file. System clock frequency is 25 MHz
[702]77
[759]78    make HARD_CONFIG_PATH=<platform_conf> SYSTEM_CLK=25000
[292]79
[758]80        Compile for <platform_dir> and compile the 'platform.dts'
81        device tree file (default name). System clock frequency is 25 MHz
[292]82
Note: See TracBrowser for help on using the repository browser.