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

Last change on this file since 453 was 425, checked in by cfuguet, 11 years ago

Modifications in tsar_boot:

  • Creating new files boot_utils.[c h] containing the memcpy, memset and some ELF format debug functions
  • Introducing assert in the boot_elf_loader to show an error when some of segments to load conflicts with some of the pre-loader segments
  • Cosmetic changes in boot_elf_loader to improve code readibility
  • Fixing bug in dcache_buf_invalidate function used by boot_ioc_read when cache coherence not supported. The condition in the for loop was erroneous.
  • Modification in Makefile: The SYSCLK_FREQ parameter is not passed anymore

as a Makefile parameter but it is definesd in the defs_platform.h file

File size: 2.6 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
56                during the boot process.
57
58                seg_boot_base: Base address of the code and data defined for
59                this loader
60           
61Makefile    Makefile for compile the boot loader.
62            Arguments to pass:
63
[388]64             ---> PLATFORM_DIR=<platform_dir>
[292]65   
66                   Defines the directory where to find the plateform specific
67                   files
68
69             ---> SOCLIB=1
70
71                   If using SOCLIB, define this flag to use the SOCLIB device
72                   drivers
73
[425]74             ---> USE_DT=0
[292]75
[425]76                   If a device tree file is not used, set this flag to 0. It
77                   is set by default to 1.
[292]78
[425]79              e.g. make PLATFORM_DIR=conf/<platform_dir> SOCLIB=1 USE_DT=0
Note: See TracBrowser for help on using the repository browser.