# #-*- coding: utf-8 -*- # # \file # # # General CPU info denfinition for Cortex-M3-based boards. # # This file contain all info for the BeRTOS wizard. # # \author Andrea Righi # # # 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 "