source: trunk/softs/tsar_boot/README.txt @ 672

Last change on this file since 672 was 653, checked in by cfuguet, 11 years ago

Introducing a RAMDISK driver in the preloader.

When using RAMDISK, execute the make command with the flags
SOCLIB=1 and RAMDISK=1. The RDK_PADDR_BASE variable must
also be set on the conf/<platform>/defs_platform.h

These modifications are backward compatibles. Therefore,
when no using RAMDISK, none modifications applied on the
platform configuration file.

File size: 3.1 KB
Line 
1TSAR BOOT LOADER
2
3Files:
4===============================================================================
5src/        Source files
6            The entry point of this boot loader is the file reset.S
7
8include/    Header files
9
10conf/       Platform specific files and ldscript examples.
11            For each platform, we must define a new directory.
12
13      --->  defs_platform.h:
14
15             This file is mandatory. This file defines the
16             NB_PROCS per cluster, the NB_CLUSTERS and the base address of
17             the TTY, IOC, XICU and MEMC (config) devices.
18             It defines also:
19
20              -> USE_IOB
21                 This constant is used by the boot_ioc_read function to know
22                 if the buffer used to store the blocks from the
23                 block_device must be invalidated in the memory cache after
24                 the transfert has finished.
25
26              -> CACHE_COHERENCE
27                 This constant is used by the boot_ioc_read function to know
28                 if the buffer used to store the blocks from the block_device
29                 must be invalidated in the dcache after the transfert has
30                 finished.
31
32              -> CACHE_LINE_SIZE
33                 This constant is mandatory if CACHE_COHERENCE=0 or USE_IOB=1
34                 This constant defines the size in bytes of a cache line.
35
36              -> RESET_DEBUG
37                 Set value to 1 to show some debug messages during loading
38
39              -> IRQ_PER_PROC
40                 This constant is used to know how many XICU irq outputs are
41                 connected to each processor.
42
43      --->  platform_soclib.dts:
44
45             Device tree file. It is mandatory if compiling for a SOCLIB
46             platform and USE_DT=1.
47
48      --->  platform_fpga.dts:
49
50             Device tree file. It is mandatory if compiling for a FPGA platform
51             and USE_DT=1.
52
53      --->  ldscript:
54
55             LD script defining the segments of this boot loader.
56             We define two segments:
57                seg_stack_base: Base address of the stack used by processor 0
58                during the boot process. read-write data and bss will also
59                be there.
60
61                seg_boot_base: Base address of the code and read-only data
62                defined for this loader
63           
64Makefile    Makefile for compile the boot loader.
65            Arguments to pass:
66
67             ---> PLATFORM_DIR=<platform_dir>
68   
69                   Defines the directory where to find the plateform specific
70                   files
71
72             ---> SOCLIB=1
73
74                   If using SOCLIB, define this flag to use the BLOCK DEVICE
75                   driver and to choose the platform_soclib device tree.
76
77             ---> RAMDISK=1
78
79                   If using SOCLIB, define this flag to use a RAMDISK instead
80                   of BLOCK DEVICE (Set this flag when the SOCLIB flag is also set)
81
82             ---> USE_DT=0
83
84                   If a device tree file is not used, set this flag to 0. It
85                   is set by default to 1.
86
87              e.g. make PLATFORM_DIR=conf/<platform_dir> SOCLIB=1 USE_DT=0
Note: See TracBrowser for help on using the repository browser.