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

Last change on this file since 564 was 554, checked in by bouyer, 11 years ago

Make sure the boot loader won't try to write to the ROM.
Store read-write data in BSS along with the stack at seg_stack_base.

File size: 2.7 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
17             the TTY, IOC and XICU devices.
[347]18             It defines also:
[425]19
[347]20              -> CACHE_COHERENCE
21                 This constant is used by the boot_ioc_read function to know
22                 if the buffer used to store the blocks from the block_device
23                 must be invalidated in the dcache after the transfert has
24                 finished.
[292]25
[347]26              -> CACHE_LINE_SIZE
[425]27                 This constant is mandatory if CACHE_COHERENCE=0
[347]28                 This constant defines the size in bytes of a cache line.
29
[425]30              -> BOOT_DEBUG
31                 Set value to 1 to show some debug messages during loading
32
33              -> BOOT_DEBUG_IOC
34                 Set value to 1 to show some debug messages during loading
35                 concerning the disk accesses.
36
[347]37              -> IRQ_PER_PROC
38                 This constant is used to know how many XICU irq outputs are
39                 connected to each processor.
40
[292]41      --->  platform_soclib.dts:
42
[425]43             Device tree file. It is mandatory if compiling for a SOCLIB
44             platform and USE_DT=1.
[292]45
46      --->  platform_fpga.dts:
[388]47
[425]48             Device tree file. It is mandatory if compiling for a FPGA platform
49             and USE_DT=1.
[292]50
51      --->  ldscript:
[388]52
[302]53             LD script defining the segments of this boot loader.
[292]54             We define two segments:
55                seg_stack_base: Base address of the stack used by processor 0
[554]56                during the boot process. read-write data and bss will also
57                be there.
[292]58
[554]59                seg_boot_base: Base address of the code and read-only data
60                defined for this loader
[292]61           
62Makefile    Makefile for compile the boot loader.
63            Arguments to pass:
64
[388]65             ---> PLATFORM_DIR=<platform_dir>
[292]66   
67                   Defines the directory where to find the plateform specific
68                   files
69
70             ---> SOCLIB=1
71
72                   If using SOCLIB, define this flag to use the SOCLIB device
73                   drivers
74
[425]75             ---> USE_DT=0
[292]76
[425]77                   If a device tree file is not used, set this flag to 0. It
78                   is set by default to 1.
[292]79
[425]80              e.g. make PLATFORM_DIR=conf/<platform_dir> SOCLIB=1 USE_DT=0
Note: See TracBrowser for help on using the repository browser.