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

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

Changing directory structure of the TSAR boot loader.
A README.txt file has been included to explain the new structure
and the MAKEFILE parameters.

Erasing the heap segment for the boot elf loader. All the work space
is allocated in the stack.

The stack size is defined in the include/defs.h.

Important modification in the reset.S file. The non-boot
processors (processor id != 0) wait in a low comsumption energy
mode to be wake up by processor 0 using an IPI. Each processor
has a private mailbox in the local XICU. The value written in
the mailbox will be used as address to jump by the processors.

The waking up of non-boot processors is not done in this boot loader
so it must be done in the application loaded.

The boot_loader_elf function loads into memory an executable .elf file
which must be placed in the BOOT_LOADER_LBA block of the disk. This
constant can be defined in the include/defs.h file.

File size: 2.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.
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 and XICU devices.
18
19      --->  platform_soclib.dts:
20
21                         Device tree file. It is mandatory if compiling
22                         for a SOCLIB platform. If the application to execute does not use
23                         a device tree file, create an empty one.
24
25      --->  platform_fpga.dts:
26                         Device tree file. It is mandatory if compiling
27                         for a FPGA platform. If the application to execute does not use
28                         a device tree file, create an empty one.
29
30      --->  ldscript:
31                         LD script defining the segments of this boot loader.
32             We define two segments:
33                seg_stack_base: Base address of the stack used by processor 0
34                during the boot process.
35
36                seg_boot_base: Base address of the code and data defined for
37                this loader
38           
39Makefile    Makefile for compile the boot loader.
40            Arguments to pass:
41
42             ---> PLATFORM_DIR=conf/<platform_dir>
43   
44                   Defines the directory where to find the plateform specific
45                   files
46
47             ---> SOCLIB=1
48
49                   If using SOCLIB, define this flag to use the SOCLIB device
50                   drivers
51
52             ---> SYSCLK_FREQ=<value hz>
53
54                   If not SOCLIB platform, this flag allows us to choose the
55                   CLK frequency used in the hardware platform (i.e. FPGA).
56                   This information is used to configurate the SPI device
57                   which allow us to drive a SD card device.
58
59              i.e. make PLATFORM_DIR=conf/<platform_dir> SYSCLK_FREQ=50000000
60                   make PLATFORM_DIR=conf/<platform_dir> SOCLIB=1
Note: See TracBrowser for help on using the repository browser.