[457] | 1 | #
|
---|
| 2 | # Makefile のターゲット依存部(stm32f767_nucleo144用)
|
---|
| 3 | #
|
---|
| 4 |
|
---|
| 5 | #
|
---|
| 6 | # ボード名,プロセッサ名,開発環境名の定義
|
---|
| 7 | #
|
---|
| 8 | BOARD = stm32f767nucleo144_gcc
|
---|
| 9 | CHIP = stm32f7xx
|
---|
| 10 | PRC = arm_m
|
---|
| 11 | TOOL = gcc
|
---|
| 12 |
|
---|
| 13 | #
|
---|
| 14 | # 実行環境の定義
|
---|
| 15 | #
|
---|
| 16 | ifeq ($(DBGENV),)
|
---|
| 17 | DBGENV = RAM
|
---|
| 18 | endif
|
---|
| 19 |
|
---|
| 20 | #
|
---|
| 21 | # FPUの方式
|
---|
| 22 | #
|
---|
| 23 | #FPU_USAGE := FPU_NO_PRESERV
|
---|
| 24 | #FPU_USAGE := FPU_NO_LAZYSTACKING
|
---|
| 25 | FPU_USAGE := FPU_LAZYSTACKING
|
---|
| 26 | FPU_ARCH_MACRO := __TARGET_FPU_FPV5_DP
|
---|
| 27 | FPU_ABI := hard
|
---|
| 28 |
|
---|
| 29 | #
|
---|
| 30 | # 最適化したくない場合はtrueに定義
|
---|
| 31 | #
|
---|
| 32 | #OMIT_OPTIMIZATION = true
|
---|
| 33 |
|
---|
| 34 | #
|
---|
| 35 | # コンパイルオプション
|
---|
| 36 | #
|
---|
| 37 | INCLUDES := $(INCLUDES) -I$(TARGETDIR)
|
---|
| 38 | COPTS := $(COPTS)
|
---|
| 39 | LDFLAGS := $(LDFLAGS)
|
---|
| 40 |
|
---|
| 41 | #
|
---|
| 42 | # カーネルに関する定義
|
---|
| 43 | #
|
---|
| 44 | KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR)
|
---|
| 45 | KERNEL_ASMOBJS := $(KERNEL_ASMOBJS)
|
---|
| 46 | KERNEL_COBJS := $(KERNEL_COBJS)
|
---|
| 47 |
|
---|
| 48 | #
|
---|
| 49 | # システムサービスに関する定義
|
---|
| 50 | #
|
---|
| 51 | SYSSVC_DIR := $(SYSSVC_DIR) $(TARGETDIR)
|
---|
| 52 | SYSSVC_COBJS := $(SYSSVC_COBJS) target_inithook.o
|
---|
| 53 |
|
---|
| 54 | #
|
---|
| 55 | # トレースログに関する設定
|
---|
| 56 | #
|
---|
| 57 | ifeq ($(ENABLE_TRACE),true)
|
---|
| 58 | COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
|
---|
| 59 | KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/logtrace
|
---|
| 60 | KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o
|
---|
| 61 | endif
|
---|
| 62 |
|
---|
| 63 | #
|
---|
| 64 | # GNU開発環境のターゲットアーキテクチャの定義
|
---|
| 65 | #
|
---|
| 66 | GCC_TARGET = arm-none-eabi
|
---|
| 67 |
|
---|
| 68 | #
|
---|
| 69 | # シリアルポートの定義
|
---|
| 70 | #
|
---|
| 71 | COPTS := $(COPTS) -DSIO_PORTID=1
|
---|
| 72 |
|
---|
| 73 | #
|
---|
| 74 | # 依存関係の定義
|
---|
| 75 | #
|
---|
| 76 | kernel_cfg.timestamp: $(TARGETDIR)/target.tf
|
---|
| 77 | $(OBJFILE): $(TARGETDIR)/target_check.tf
|
---|
| 78 |
|
---|
| 79 | #
|
---|
| 80 | # オフセットファイル生成のための定義
|
---|
| 81 | #
|
---|
| 82 | OFFSET_TF := $(TARGETDIR)/target_offset.tf
|
---|
| 83 |
|
---|
| 84 | #
|
---|
| 85 | # チップ依存部のインクルード
|
---|
| 86 | #
|
---|
| 87 | include $(SRCDIR)/arch/$(PRC)_$(TOOL)/$(CHIP)/Makefile.chip
|
---|
| 88 |
|
---|
| 89 | #
|
---|
| 90 | # フラッシュへの書き込み
|
---|
| 91 | #
|
---|
| 92 | UNAME_TARGET = Cygwin
|
---|
| 93 | OPENOCD_PATH = /cygdrive/c/pleiades/OpenOCD/0.10.0-201510281129-dev/bin/openocd.exe
|
---|
| 94 | OPENOCD_SCRIPT_PATH = c:/pleiades/OpenOCD/0.10.0-201510281129-dev/scripts
|
---|
| 95 | OPENOCD_SCRIPT = c:/pleiades/OpenOCD/0.10.0-201510281129-dev/scripts/board/stm32f4discovery.cfg
|
---|
| 96 |
|
---|
| 97 | ifeq ($(UNAME_TARGET), Cygwin)
|
---|
| 98 | GDB = arm-gdb_m0.exe
|
---|
| 99 | else
|
---|
| 100 | GDB = $(ARDUINO_BASE_DIR_WIN)\hardware\tools\gcc-arm-none-eabi-4.8.3-2014q1\bin\arm-none-eabi-gdb
|
---|
| 101 | endif
|
---|
| 102 |
|
---|
| 103 | run: $(OBJNAME).bin
|
---|
| 104 | ifeq ($(UNAME_TARGET), Cygwin)
|
---|
| 105 | "`cygpath -u "$(OPENOCD_PATH)"`" -s "$(OPENOCD_SCRIPT_PATH)" -f "$(OPENOCD_SCRIPT)" -c "program ./$(OBJNAME).bin verify 0x08000000 reset exit"
|
---|
| 106 | #-c "flash probe 0; flash write_image erase ./$(OBJNAME).axf 0x08000000 reset exit"
|
---|
| 107 | else
|
---|
| 108 | "$(OPENOCD_PATH)" -s "$(OPENOCD_SCRIPT_PATH)" -f "$(OPENOCD_SCRIPT)" -c "program ./$(OBJNAME).bin verify 0x4000 reset exit"
|
---|
| 109 | endif
|
---|
| 110 |
|
---|
| 111 | ocd: $(OBJNAME).bin
|
---|
| 112 | ifeq ($(UNAME_TARGET), Cygwin)
|
---|
| 113 | cygstart "$(OPENOCD_PATH)" '-s "$(OPENOCD_SCRIPT_PATH)"' '-f "$(OPENOCD_SCRIPT)"'
|
---|
| 114 | else
|
---|
| 115 | start /MIN "" "$(OPENOCD_PATH)" -s "$(OPENOCD_SCRIPT_PATH)" -f "$(OPENOCD_SCRIPT)"
|
---|
| 116 | endif
|
---|
| 117 |
|
---|
| 118 | db: $(OBJNAME).bin
|
---|
| 119 | ifeq ($(UNAME_TARGET), Cygwin)
|
---|
| 120 | $(GDB) $(OBJFILE) -x $(TARGETDIR)/gdb.ini
|
---|
| 121 | else
|
---|
| 122 | $(GDB) $(OBJFILE) -x $(TARGETDIR)/gdb.ini
|
---|
| 123 | endif
|
---|
| 124 |
|
---|
| 125 | d: $(OBJNAME).bin
|
---|
| 126 | ifeq ($(UNAME_TARGET), Cygwin)
|
---|
| 127 | $(GDB) $(OBJFILE) -x $(TARGETDIR)/gdb_noflash.ini
|
---|
| 128 | else
|
---|
| 129 |
|
---|
| 130 | endif
|
---|
| 131 |
|
---|