source: trunk/softs/tsar_boot/README @ 847

Last change on this file since 847 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
Line 
1\author: Cesar Fuguet
2\date  : July 24, 2014
3
4TSAR BOOT-LOADER
5
6Files:
7src/        Source files
8            The entry point of this boot loader is the file reset.S
9
10include/    Header files
11
12driver/     Drivers source files and headers
13
14conf/       Platform specific files
15
16            For each platform, we must define a new directory.
17            Mandatory files:
18
19              - hard_config.h (can be generated using giet-vm genmap tool)
20
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.
25
26            Optional files:
27
28              - platform.dts (platform device tree)
29
30Makefile    Makefile to compile the boot loader.
31            Mandatory arguments:
32
33              - HARD_CONFIG_PATH=<platform_dir>
34
35                Defines the directory where to find the hard_config.h file
36
37           Optional arguments:
38
39              - USE_DT=<value>
40
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.
43
44              - SYSTEM_CLK=<platform clock frequency>
45
46                Platform clock frequency in KHz
47
48              - DTS=<file.dts>
49
50                Platform device tree (by default is platform.dts)
51
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
64  - Stack for processor 0 is allocated at the end of RAM segment in the cluster
65    (0,0).
66
67Examples:
68
69    make HARD_CONFIG_PATH=<platform_dir> USE_DT=0
70
71        Compile for <platform_dir> and do not compile device tree file
72
73    make HARD_CONFIG_PATH=<platform_dir> DTS=platform_fpga.dts SYSTEM_CLK=25000
74
75        Compile for <platform_dir> and compile the 'platform_dpga.dts'
76        device tree file. System clock frequency is 25 MHz
77
78    make HARD_CONFIG_PATH=<platform_conf> SYSTEM_CLK=25000
79
80        Compile for <platform_dir> and compile the 'platform.dts'
81        device tree file (default name). System clock frequency is 25 MHz
82
Note: See TracBrowser for help on using the repository browser.