File : s-bbbopa-leon3.ads


   1 ------------------------------------------------------------------------------
   2 --                                                                          --
   3 --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
   4 --                                                                          --
   5 --            S Y S T E M . B B . B O A R D _ P A R A M E T E R S           --
   6 --                                                                          --
   7 --                                  S p e c                                 --
   8 --                                                                          --
   9 --                      Copyright (C) 2016, AdaCore                         --
  10 --                                                                          --
  11 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  12 -- terms of the  GNU General Public License as published  by the Free Soft- --
  13 -- ware  Foundation;  either version 3,  or (at your option) any later ver- --
  14 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
  15 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
  16 -- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
  17 --                                                                          --
  18 --                                                                          --
  19 --                                                                          --
  20 --                                                                          --
  21 --                                                                          --
  22 -- You should have received a copy of the GNU General Public License and    --
  23 -- a copy of the GCC Runtime Library Exception along with this program;     --
  24 -- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
  25 -- <http://www.gnu.org/licenses/>.                                          --
  26 --                                                                          --
  27 -- GNAT was originally developed  by the GNAT team at  New York University. --
  28 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  29 --                                                                          --
  30 -- The port of GNARL to bare board targets was initially developed by the   --
  31 -- Real-Time Systems Group at the Technical University of Madrid.           --
  32 --                                                                          --
  33 ------------------------------------------------------------------------------
  34 
  35 --  This package defines board parameters for the leon3 boards
  36 
  37 package System.BB.Board_Parameters is
  38    pragma Pure;
  39 
  40    --------------------
  41    -- Hardware clock --
  42    --------------------
  43 
  44    Clock_Frequency : constant Positive := 40_000_000;
  45    --  Frequency of the system clock
  46 
  47    Prescaler_Min : constant := 4;
  48    --  In order to obtain the highest granularity of the clock we set the
  49    --  minimum allowed prescaler division factor, which is 5, corresponding
  50    --  to a prescaler reload register value of 4. According to GRLIB manual,
  51    --  the minimum allowed prescalar division fact is the number of
  52    --  implemented timers (usually 4) + 1.
  53 
  54    ---------------------------
  55    -- Peripheral addressess --
  56    ---------------------------
  57 
  58    APB_Base   : constant := 16#8000_0000#;
  59 
  60    Irqmp_Base : constant := APB_Base + 16#200#;
  61    --  Address of the interrupt controler
  62 
  63    Timer_Base : constant := APB_Base + 16#300#;
  64    --  Address of the general purpose timer unit
  65 
  66    UART_Base  : constant := APB_Base + 16#100#;
  67    --  Address of the UART for the console
  68 
  69    Timer_1_Interrupt : constant := 6;
  70    --  IRQ line of the timer
  71 
  72    ----------
  73    -- CPUS --
  74    ----------
  75 
  76    Max_Number_Of_CPUs : constant := 2;
  77    --  Maximum number of CPUs
  78 
  79 end System.BB.Board_Parameters;