# # TOPPERS ATK2 # Toyohashi Open Platform for Embedded Real-Time Systems # Automotive Kernel Version 2 # # Copyright (C) 2012-2014 by Center for Embedded Computing Systems # Graduate School of Information Science, Nagoya Univ., JAPAN # # 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ # ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 # 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. # (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 # 権表示,この利用条件および下記の無保証規定が,そのままの形でソー # スコード中に含まれていること. # (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 # 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 # 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 # の無保証規定を掲載すること. # (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 # 用できない形で再配布する場合には,次のいずれかの条件を満たすこ # と. # (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 # 作権表示,この利用条件および下記の無保証規定を掲載すること. # (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに # 報告すること. # (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 # 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. # また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 # 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを # 免責すること. # # 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕 # 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので # はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利 # 用する者に対して,AUTOSARパートナーになることを求めている. # # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お # よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 # に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ # アの利用により直接的または間接的に生じたいかなる損害に関しても,そ # の責任を負わない. # # $Id: Makefile.target 46 2014-07-19 15:40:08Z ertl-honda $ # # # Makefile のターゲット依存部(FL-850/FL4用) # # # ボード名の定義 # BOARD = rh850f1h_pb # # GCC用のファイルのディレクトリ # TARGETDIR_GCC := $(SRCDIR)/target/$(BOARD)_gcc # # アーキテクチャ指定 # ARCH = V850E3V5 # # コアタイプ指定 # CORETYPE = RH850G3M # # ハードフロートを使用するか # USE_HARD_FLOAT = true # # ボード毎に設定が異なる項目 # CDEFS := $(CDEFS) -DTOPPERS_LABEL_ASM PE_CONFIG = PE1_ONLY ifeq ($(PE_CONFIG),PE1_ONLY) CFG1_OUT_LDSCRIPT = $(SRCDIR)/arch/v850_ghs/rh850_f1h_6m_pe1only.ld CDEFS := $(CDEFS) -DPE1_ONLY CDEFS := $(CDEFS) -DHWC_USE_UNIT0 CDEFS := $(CDEFS) -DRLIN3x_USE_PORT0 CFGNAME := $(CFGNAME) target_mem_pe1only endif ifeq ($(PE_CONFIG),PE2_ONLY) CFG1_OUT_LDSCRIPT = $(SRCDIR)/arch/v850_ghs/rh850_f1h_6m_pe2only.ld CDEFS := $(CDEFS) -DPE2_ONLY CDEFS := $(CDEFS) -DHWC_USE_UNIT1 CDEFS := $(CDEFS) -DRLIN3x_USE_PORT1 CFGNAME := $(CFGNAME) target_mem_pe2only endif ifeq ($(PE_CONFIG),DUAL_PE1) CFG1_OUT_LDSCRIPT = $(SRCDIR)/arch/v850_ghs/rh850_f1h_6m_pe1only.ld CDEFS := $(CDEFS) -DDUAL_PE1 CDEFS := $(CDEFS) -DHWC_USE_UNIT0 CDEFS := $(CDEFS) -DRLIN3x_USE_PORT0 CDEFS := $(CDEFS) -DINIT_IBD_FOR_PE2 endif ifeq ($(PE_CONFIG),DUAL_PE2) CFG1_OUT_LDSCRIPT = $(SRCDIR)/arch/v850_ghs/rh850_f1h_6m_pe2only.ld CDEFS := $(CDEFS) -DDUAL_PE2 CDEFS := $(CDEFS) -DHWC_USE_UNIT1 CDEFS := $(CDEFS) -DRLIN3x_USE_PORT1 CDEFS := $(CDEFS) -DOMIT_CLOCK_INIT endif # # PE1でネイティブマシンとして動作させる # ifeq ($(PE_CONFIG),PE1_NM) CFG1_OUT_LDSCRIPT = $(SRCDIR)/target/rh850f1h_pb_ghs/rh850_f1h_6m_pe1_nm.ld CDEFS := $(CDEFS) -DPE1_NM CDEFS := $(CDEFS) -DHWC_USE_UNIT0 CDEFS := $(CDEFS) -DRLIN3x_USE_PORT0 endif # # PE1でネイティブマシンとして動作させる # ifeq ($(PE_CONFIG),PE1_NM_PRI) CFG1_OUT_LDSCRIPT = $(SRCDIR)/target/rh850f1h_pb_ghs/rh850_f1h_6m_pe1_nm.ld CDEFS := $(CDEFS) -DPE1_NM_PRI CDEFS := $(CDEFS) -DHWC_USE_UNIT0 CDEFS := $(CDEFS) -DRLIN3x_USE_PORT0 endif # # PE1でVM上で動作させる # ifeq ($(PE_CONFIG),PE1_VM) CFG1_OUT_LDSCRIPT = $(SRCDIR)/target/rh850f1h_pb_ghs/rh850_f1h_6m_pe1_vm.ld CDEFS := $(CDEFS) -DPE1_VM CDEFS := $(CDEFS) -DHWC_USE_UNIT1 CDEFS := $(CDEFS) -DRLIN3x_USE_PORT1 CDEFS := $(CDEFS) -DOMIT_CLOCK_INIT endif # # 使用するUARTのポート # #CDEFS := $(CDEFS) -DRLIN3x_USE_PORT0 #CDEFS := $(CDEFS) -DRLIN3x_USE_PORT1 # # 同じファイルがあった場合にARMCC依存部のファイルを使用するようにするに, # GCC依存部のファイルを後で指定する. # INCLUDES := $(INCLUDES) -I$(TARGETDIR) -I$(TARGETDIR_GCC) # # サポート命令毎のコンパイルオプション # # ノーマル COPTS := $(COPTS) # # カーネルに関する定義 # KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR) $(TARGETDIR_GCC) KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) KERNEL_COBJS := $(KERNEL_COBJS) target_config.o tauj_hw_counter.o rh850_f1h.o # # システムタイマに関する設定 # ifeq ($(ENABLE_SYS_TIMER),true) CDEFS := $(CDEFS) -DTOPPERS_ENABLE_SYS_TIMER KERNEL_COBJS := $(KERNEL_COBJS) taua_timer.o endif # # システムサービスに関する定義 # SYSMOD_DIR := $(SYSMOD_DIR) $(TARGETDIR) $(TARGETDIR_GCC) SYSMOD_COBJS := $(SYSMOD_COBJS) uart_rlin.o # # コンフィギュレーション設定 # ifeq ($(findstring target_timer,$(CFGNAME)),target_timer) CFGNAME := $(CFGNAME) taua_timer endif ifeq ($(findstring target_serial,$(CFGNAME)),target_serial) CFGNAME := $(CFGNAME) uart endif # # 依存関係の定義 # Os_Lcfg.timestamp: $(TARGETDIR_GCC)/target.tf $(OBJFILE): $(TARGETDIR_GCC)/target_mem.tf offset.h: $(TARGETDIR_GCC)/target_offset.tf # # オフセットファイル生成のための定義 # OFFSET_TF := $(TARGETDIR_GCC)/target_offset.tf # # プロセッサ依存部のインクルード # include $(SRCDIR)/arch/v850_ghs/Makefile.prc # # 実行モジュールのロード&実行 # run: $(OBJNAME).exe @sh $(SRCDIR)/arch/v850_gcc/autorun/exe.sh $(SRCDIR) $(TARGET) urun: $(OBJNAME).exe @sh $(SRCDIR)/arch/v850_gcc/autorun/exe.sh $(SRCDIR) $(TARGET) & @ruby $(SRCDIR)/arch/v850_gcc/autorun/com_port.rb