TSAR BOOT LOADER

Files:
===============================================================================
src/        Source files
            The entry point of this boot loader is the file reset.S

include/    Header files

conf/       Platform specific files and ldscript.
             For each platform, we must define a new directory.

      --->  defs_platform.h:

             This file is mandatory. This file defines the
             NB_PROCS per cluster, the NB_CLUSTERS and the base address of
             the TTY, IOC and XICU devices.
             It also defines the IRQ_PER_PROC constant. This constant is used
             to know how many XICU irq outputs are connected to each processor.

      --->  platform_soclib.dts:

             Device tree file. It is mandatory if compiling
             for a SOCLIB platform. If the application to execute does not use
             a device tree file, create an empty one.

      --->  platform_fpga.dts:
             Device tree file. It is mandatory if compiling
             for a FPGA platform. If the application to execute does not use
             a device tree file, create an empty one.

      --->  ldscript:
             LD script defining the segments of this boot loader.
             We define two segments:
                seg_stack_base: Base address of the stack used by processor 0
                during the boot process.

                seg_boot_base: Base address of the code and data defined for
                this loader
            
Makefile    Makefile for compile the boot loader.
            Arguments to pass:

             ---> PLATFORM_DIR=conf/<platform_dir>
    
                   Defines the directory where to find the plateform specific
                   files

             ---> SOCLIB=1

                   If using SOCLIB, define this flag to use the SOCLIB device
                   drivers

             ---> SYSCLK_FREQ=<value hz>

                   If not SOCLIB platform, this flag allows us to choose the
                   CLK frequency used in the hardware platform (i.e. FPGA).
                   This information is used to configurate the SPI device
                   which allow us to drive a SD card device.

              i.e. make PLATFORM_DIR=conf/<platform_dir> SYSCLK_FREQ=50000000
                   make PLATFORM_DIR=conf/<platform_dir> SOCLIB=1
