summaryrefslogtreecommitdiffstats
path: root/bsps/arm/atsam/start/bspstart.c
blob: 8876e4a0305abf9fbb6614fa4c74e682948e64b8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
 * Copyright (c) 2016 embedded brains GmbH.  All rights reserved.
 *
 * The license and distribution terms for this file may be
 * found in the file LICENSE in this distribution or at
 * http://www.rtems.org/license/LICENSE.
 */

#include <bsp.h>
#include <bsp/bootcard.h>
#include <bsp/irq.h>
#include <bsp/irq-generic.h>
#include <bsp/linker-symbols.h>

#include <chip.h>

RTEMS_STATIC_ASSERT(
  PERIPH_COUNT_IRQn <= BSP_INTERRUPT_VECTOR_COUNT,
  PERIPH_COUNT_IRQn
);

void bsp_start(void)
{
  bsp_interrupt_initialize();
  SCB_CleanDCache();
  SCB_InvalidateICache();
  rtems_cache_coherent_add_area(
    bsp_section_nocacheheap_begin,
    (uintptr_t) bsp_section_nocacheheap_size
  );
}