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

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