source: trunk/softs/tsar_boot/include/defs.h @ 789

Last change on this file since 789 was 758, checked in by cfuguet, 10 years ago

tsar_boot: improving configuration infrastructure

  • Using hard_config.h which respects the same sintax that the hard_config.h file of all TSAR platforms. This file can be then generated by the GIET-VM genmap tool or written manually.
  • All peripheral drivers have been moved to a drivers directory and they are compiled as a static library. This allows GCC to only include in the final .ELF the object files of used peripherals and not all of them.
  • Example hard_config.h and ldscripts have been introduced in the conf directory.
  • Improving comments in all files
File size: 1.6 KB
Line 
1#include <hard_config.h>
2
3#define RESET_VERSION         0x00010003
4#define RESET_STACK_SIZE      0x2000
5#define RESET_LOADER_LBA      2
6#define RESET_PHDR_ARRAY_SIZE 16
7
8#ifndef RESET_DEBUG
9#   define RESET_DEBUG        0
10#endif
11
12#ifndef RESET_HARD_CC
13#   define RESET_HARD_CC      0
14#endif
15
16/**
17 * Default clock frequency (by default is 25 MHz for FPGA dev card DE2-115)
18 */
19#ifndef RESET_SYSTEM_CLK
20#   define RESET_SYSTEM_CLK   25000 /* KHz   */
21#endif
22
23/*
24 * TSAR platform independent hardware parameters
25 */
26
27#define BLOCK_SIZE            512   /* bytes */
28#define CACHE_LINE_SIZE       64    /* bytes */
29
30/*
31 * Verify that all used constants have been defined in the hard_config.h file
32 */
33
34#ifndef NB_PROCS_MAX
35#   error "NB_PROCS_MAX constant must be defined in hard_config.h"
36#endif
37
38#ifndef IRQ_PER_PROCESSOR
39#   error "IRQ_PER_PROCESSOR constant must be defined in hard_config.h file"
40#endif
41
42#ifndef SEG_XCU_BASE
43#   error "SEG_XCU_BASE constant must be defined in the hard_config.h file"
44#endif
45
46#ifndef SEG_ROM_BASE
47#   error "SEG_ROM_BASE constant must be defined in the hard_config.h file"
48#endif
49
50/*
51 * IO cluster constants
52 */
53
54#ifndef USE_IOB
55#   error "USE_IOB constant must be defined in the hard_config.h file"
56#endif
57
58#if !defined(X_IO) || !defined(Y_IO)
59#   error "X_IO and Y_IO constants must be defined in the hard_config.h file"
60#endif
61
62#if !defined(X_WIDTH) || !defined(Y_WIDTH)
63#   error "X_WIDTH and Y_WIDTH constants must be defined in the hard_config.h "
64          "file"
65#endif
66
67#define CLUSTER_IO  ((X_IO << Y_WIDTH) | Y_IO)
68
69/*
70 * vim: tabstop=4 : softtabstop=4 : shiftwidth=4 : expandtab
71 */
Note: See TracBrowser for help on using the repository browser.