OpenModem/bertos/cpu/cortex-m3/info/cm3.common

82 lines
2.9 KiB
Plaintext

#
#-*- coding: utf-8 -*-
#
# \file
# <!--
# This file is part of BeRTOS.
#
# Bertos is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# As a special exception, you may use this file as part of a free software
# library without restriction. Specifically, if other files instantiate
# templates or use macros or inline functions from this file, or you compile
# this file and link it with other files to produce an executable, this
# file does not by itself cause the resulting executable to be covered by
# the GNU General Public License. This exception does not however
# invalidate any other reasons why the executable file might be covered by
# the GNU General Public License.
#
# Copyright 2010 Develer S.r.l. (http://www.develer.com/)
#
# -->
#
# General CPU info denfinition for Cortex-M3-based boards.
#
# This file contain all info for the BeRTOS wizard.
#
# \author Andrea Righi <arighi@develer.com>
#
#
# Import the common settings for the path.
include("../../path.common")
# Short description of the cpu.
CPU_DESC = ["ARM Cortex-M3",
"ARMv7-M Thumb-2 ISA",
"16-bit and 32-bit RISC Architecture"]
# Type of the toolchain we should use to compile the source for this CPU.
TOOLCHAIN = "arm"
# If we use the GCC compiler we should pass some flags.
CORE_CPU = "cortex-m3"
# Name of the flag used by the build system to pass to the compiler the CPU type.
MK_CPU = CORE_CPU
# Special CPU related tags.
CPU_TAGS = ["cm3"]
# Where are locate the bertos directories
SCRIPT_DIR = CPU_DIR + "cortex-m3/scripts/"
HW_DIR = CPU_DIR + "cortex-m3/hw/"
DRV_DIR = CPU_DIR + "cortex-m3/drv/"
MK_STOPFLASH_SCRIPT = PRG_SCRIPTS_DIR + "arm/stopopenocd.sh"
MK_DEBUG_SCRIPT = PRG_SCRIPTS_DIR + "arm/debug.sh"
MK_STOPDEBUG_SCRIPT = PRG_SCRIPTS_DIR + "arm/stopopenocd.sh"
GDB_INIT_SCRIPT = PRG_SCRIPTS_DIR + "arm/openocd/gdbinit-sam7"
# Common GCC flags.
MK_CPU_CPPAFLAGS = "-g -gdwarf-2 -mthumb -mno-thumb-interwork"
MK_CPU_CPPFLAGS = "-O0 -g3 -gdwarf-2 -mthumb -mno-thumb-interwork -fno-strict-aliasing -fwrapv -fverbose-asm -I" + CPU_DIR + "cortex-m3/"
MK_CPU_LDFLAGS = "-mthumb -mno-thumb-interwork -nostartfiles -Wl,--no-warn-mismatch"
# CRT files.
MK_CPU_CPPASRC = HW_DIR + "crt_cm3.S " + HW_DIR + "vectors_cm3.S "
MK_CPU_CSRC = HW_DIR + "init_cm3.c " + DRV_DIR + "irq_cm3.c "