diff -x .git -uprN ssp_2/arch/arm_m_gcc/Makefile.prc ssp_3/arch/arm_m_gcc/Makefile.prc --- ssp_2/arch/arm_m_gcc/Makefile.prc 2014-03-18 09:28:35.000000000 +0900 +++ ssp_3/arch/arm_m_gcc/Makefile.prc 2017-04-28 16:40:20.000000000 +0900 @@ -18,17 +18,17 @@ LIBS := $(LIBS) -lgcc # # カーネルに関する定義 # -KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/$(PRC)_$(TOOL) +KERNEL_DIRS := $(KERNEL_DIRS) $(SRCDIR)/arch/$(PRC)_$(TOOL) KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) prc_support.o KERNEL_COBJS := $(KERNEL_COBJS) prc_config.o prc_timer.o # # コンフィギュレータ関係の変数の定義 # -CFG_TABS := $(CFG_TABS) --cfg1-def-table $(SRCDIR)/arch/$(PRC)_$(TOOL)/prc_def.csv +CFG_TABS := $(CFG_TABS) --symval-table $(SRCDIR)/arch/$(PRC)_$(TOOL)/prc_sym.def # # 依存関係の定義 # -cfg1_out.c: $(SRCDIR)/arch/$(PRC)_$(TOOL)/prc_def.csv +cfg1_out.c: $(SRCDIR)/arch/$(PRC)_$(TOOL)/prc_sym.def kernel_cfg.timestamp: $(SRCDIR)/arch/$(PRC)_$(TOOL)/prc.tf diff -x .git -uprN ssp_2/sample/Makefile ssp_3/sample/Makefile --- ssp_2/sample/Makefile 2017-05-01 19:47:04.000000000 +0900 +++ ssp_3/sample/Makefile 2017-05-02 13:53:32.000000000 +0900 @@ -1,5 +1,5 @@ # -# TOPPERS/ASP Kernel +# TOPPERS/SSP Kernel # Toyohashi Open Platform for Embedded Real-Time Systems/ # Advanced Standard Profile Kernel # @@ -7,6 +7,8 @@ # Toyohashi Univ. of Technology, JAPAN # Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory # Graduate School of Information Science, Nagoya Univ., JAPAN +# Copyright (C) 2017 by Naoki Saito +# Nagoya Municipal Industrial Research Institute, JAPAN # # 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ # ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 @@ -108,7 +110,7 @@ TECSGEN = @(TECSGEN) # # オブジェクトファイル名の定義 # -OBJNAME = asp +OBJNAME = ssp ifdef OBJEXT OBJFILE = $(OBJNAME).$(OBJEXT) CFG1_OUT = cfg1_out.$(OBJEXT) @@ -163,7 +165,7 @@ ifdef OMIT_TECS CDEFS := -DTOPPERS_OMIT_TECS $(CDEFS) endif CDEFS := $(CDEFS) @(CDEFS) -INCLUDES := -I. -I$(SRCDIR)/include $(INCLUDES) -I$(SRCDIR) +INCLUDES := -I. -I$(SRCDIR)/include -I$(SRCDIR)/arch $(INCLUDES) -I$(SRCDIR) LDFLAGS := $(LDFLAGS) @(LDFLAGS) LIBS := $(LIBS) $(CXXLIBS) CFLAGS = $(COPTS) $(CDEFS) $(INCLUDES) @@ -184,7 +186,7 @@ ifdef USE_CXX else APPL_COBJS := @(APPLOBJS) endif -APPL_COBJS := $(APPL_COBJS) log_output.o vasyslog.o t_perror.o strerror.o +APPL_COBJS := $(APPL_COBJS) log_output.o vasyslog.o APPL_CFLAGS := $(APPL_CFLAGS) ifdef APPLDIRS INCLUDES := $(INCLUDES) $(foreach dir,$(APPLDIRS),-I$(dir)) @@ -197,11 +199,18 @@ SYSSVC_DIRS := $(TECSGENDIR) $(SRCDIR)/t $(SYSSVC_DIRS) $(SRCDIR)/syssvc SYSSVC_ASMOBJS := $(SYSSVC_ASMOBJS) SYSSVC_COBJS := $(INIT_TECS_COBJ) $(TECS_COBJS) $(SYSSVC_COBJS) \ - @(SYSSVCOBJS) $(CXXRTS) + @(SYSSVCOBJS) $(CXXRTS) banner.o serial.o syslog.o logtask.o SYSSVC_CFLAGS := $(SYSSVC_CFLAGS) INCLUDES := $(INCLUDES) -I$(TECSGENDIR) -I$(SRCDIR)/tecs_kernel # +# 拡張パッケージに関する定義 +# + +EXTPKG_DIR := $(EXTPKG_DIR) $(SRCDIR)/extension + + +# # ターゲットファイル # .PHONY: all @@ -219,17 +228,6 @@ endif ##### 以下は編集しないこと ##### # -# コンフィギュレータに関する定義 -# -CFG_TABS := --api-table $(SRCDIR)/kernel/kernel_api.def \ - --symval-table $(SRCDIR)/kernel/kernel_sym.def $(CFG_TABS) -CFG_ASMOBJS := $(CFG_ASMOBJS) -CFG_COBJS := kernel_cfg.o $(CFG_COBJS) -CFG_OBJS := $(CFG_ASMOBJS) $(CFG_COBJS) -CFG2_OUT_SRCS := kernel_cfg.h kernel_cfg.c $(CFG2_OUT_SRCS) -CFG_CFLAGS := -DTOPPERS_CB_TYPE_ONLY $(CFG_CFLAGS) - -# # カーネルに関する定義 # # KERNEL_ASMOBJS: カーネルライブラリに含める,ソースがアセンブリ言語の @@ -244,7 +242,7 @@ CFG_CFLAGS := -DTOPPERS_CB_TYPE_ONLY $(C KERNEL_DIRS := $(KERNEL_DIRS) $(SRCDIR)/kernel KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) KERNEL_COBJS := $(KERNEL_COBJS) -KERNEL_CFLAGS := $(KERNEL_CFLAGS) -I$(SRCDIR)/kernel +KERNEL_CFLAGS := $(KERNEL_CFLAGS) -I$(SRCDIR)/kernel -I$(EXTPKG_DIR) # # カーネルのファイル構成の定義 @@ -277,12 +275,24 @@ ifndef TARGET_KERNEL_CFG endif # +# コンフィギュレータに関する定義 +# +CFG_TABS := --api-table $(SRCDIR)/kernel/kernel_api.def \ + --symval-table $(SRCDIR)/kernel/kernel_sym.def \ + --symval-table $(SRCDIR)/syssvc/syssvc_sym.def $(CFG_TABS) +CFG_ASMOBJS := $(CFG_ASMOBJS) +CFG_COBJS := kernel_cfg.o $(CFG_COBJS) +CFG_OBJS := $(CFG_ASMOBJS) $(CFG_COBJS) +CFG2_OUT_SRCS := kernel_cfg.h kernel_cfg.c $(CFG2_OUT_SRCS) +CFG_CFLAGS := -DTOPPERS_CB_TYPE_ONLY $(SYSSVC_CFLAGS) $(KERNEL_CFLAGS) $(CFG_CFLAGS) + +# # ソースファイルのあるディレクトリに関する定義 # -vpath %.c $(KERNEL_DIRS) $(SYSSVC_DIRS) $(APPL_DIRS) -vpath %.S $(KERNEL_DIRS) $(SYSSVC_DIRS) $(APPL_DIRS) -vpath %.cfg $(APPL_DIRS) -vpath %.cdl $(APPL_DIRS) +vpath %.c $(KERNEL_DIRS) $(SYSSVC_DIRS) $(APPL_DIRS) $(EXTPKG_DIR) +vpath %.S $(KERNEL_DIRS) $(SYSSVC_DIRS) $(APPL_DIRS) $(EXTPKG_DIR) +vpath %.cfg $(APPL_DIRS) $(EXTPKG_DIR) +vpath %.cdl $(APPL_DIRS) $(EXTPKG_DIR) # # コンパイルのための変数の定義 @@ -330,7 +340,7 @@ $(TECSGEN_TIMESTAMP): $(APPL_CDL) $(TECS # cfg1_out.c cfg1_out.db: cfg1_out.timestamp ; cfg1_out.timestamp: $(APPL_CFG) $(TECSGEN_TIMESTAMP) - $(CFG) --pass 1 --kernel asp $(INCLUDES) $(CFG_TABS) \ + $(CFG) --pass 1 --kernel ssp $(INCLUDES) $(CFG_TABS) \ -M $(DEPDIR)/cfg1_out_c.d $(TARGET_KERNEL_CFG) $< $(CFG1_OUT): $(START_OBJS) cfg1_out.o $(END_OBJS) $(HIDDEN_OBJS) @@ -345,14 +355,14 @@ cfg1_out.srec: $(CFG1_OUT) $(CFG2_OUT_SRCS) cfg2_out.db: kernel_cfg.timestamp ; kernel_cfg.timestamp: cfg1_out.db cfg1_out.syms cfg1_out.srec - $(CFG) --pass 2 --kernel asp $(INCLUDES) -T $(TARGET_KERNEL_TRB) + $(CFG) --pass 2 --kernel ssp $(INCLUDES) -T $(TARGET_KERNEL_TRB) # # オフセットファイル(offset.h)の生成規則 # $(OFFSET_H): offset.timestamp ; offset.timestamp: cfg1_out.db cfg1_out.syms cfg1_out.srec - $(CFG) --pass 2 -O --kernel asp $(INCLUDES) -T $(TARGET_OFFSET_TRB) \ + $(CFG) --pass 2 -O --kernel ssp $(INCLUDES) -T $(TARGET_OFFSET_TRB) \ --rom-symbol cfg1_out.syms --rom-image cfg1_out.srec # @@ -400,7 +410,7 @@ $(OBJNAME).srec: $(OBJFILE) .PHONY: check check: check.timestamp ; check.timestamp: cfg2_out.db $(OBJNAME).syms $(OBJNAME).srec - $(CFG) --pass 3 --kernel asp -O $(INCLUDES) -T $(TARGET_CHECK_TRB) \ + $(CFG) --pass 3 --kernel ssp -O $(INCLUDES) -T $(TARGET_CHECK_TRB) \ --rom-symbol $(OBJNAME).syms --rom-image $(OBJNAME).srec @echo "configuration check passed" diff -x .git -uprN ssp_2/sample/sample1.cfg ssp_3/sample/sample1.cfg --- ssp_2/sample/sample1.cfg 2014-03-18 09:28:35.000000000 +0900 +++ ssp_3/sample/sample1.cfg 2017-05-01 17:35:31.000000000 +0900 @@ -4,7 +4,6 @@ #include "sample1.h" -INCLUDE("target_timer.cfg"); INCLUDE("syssvc/serial.cfg"); INCLUDE("syssvc/banner.cfg"); INCLUDE("syssvc/syslog.cfg"); diff -x .git -uprN ssp_2/target/cq_frk_fm3_gcc/Makefile.target ssp_3/target/cq_frk_fm3_gcc/Makefile.target --- ssp_2/target/cq_frk_fm3_gcc/Makefile.target 2014-05-08 11:47:23.000000000 +0900 +++ ssp_3/target/cq_frk_fm3_gcc/Makefile.target 2017-05-01 19:32:34.000000000 +0900 @@ -1,6 +1,7 @@ # # Makefile のターゲット依存部(CQ-FRM-FM3用) # +OMIT_OFFSET_H = true # # ボード名,プロセッサ名,開発環境名の定義 @@ -39,7 +40,7 @@ COPTS := $(COPTS) -mcpu=cortex-m3 -mthum # # カーネルに関する定義 # -KERNEL_DIR := $(KERNEL_DIR) $(TARGETDIR) +KERNEL_DIRS := $(KERNEL_DIRS) $(TARGETDIR) KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) target_support.o KERNEL_COBJS := $(KERNEL_COBJS) target_config.o target_serial.o KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fno-strict-aliasing -mcpu=cortex-m3 -mthumb @@ -47,21 +48,21 @@ KERNEL_CFLAGS := $(KERNEL_CFLAGS) -fno-s # # システムサービスに関する定義 # -SYSSVC_DIR := $(SYSSVC_DIR) +SYSSVC_DIRS := $(SYSSVC_DIRS) SYSSVC_COBJS := $(SYSSVC_COBJS) SYSSVC_CFLAGS := $(SYSSVC_CFLAGS) -mcpu=cortex-m3 -mthumb # # コンフィギュレータ関係の変数の定義 # -CFG_TABS := $(CFG_TABS) --cfg1-def-table $(TARGETDIR)/target_def.csv +CFG_TABS := $(CFG_TABS) # # トレースログに関する設定 # ifeq ($(ENABLE_TRACE),true) COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE - KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/arch/logtrace + KERNEL_DIRS := $(KERNEL_DIRS) $(SRCDIR)/arch/logtrace KERNEL_COBJS := $(KERNEL_COBJS) trace_config.o trace_dump.o endif @@ -95,18 +96,13 @@ HIDDEN_OBJS = start.o $(HIDDEN_OBJS): %.o: %.S $(CC) -c $(CFLAGS) $(KERNEL_CFLAGS) $< -$(HIDDEN_OBJS:.o=.d): %.d: %.S - @$(PERL) $(SRCDIR)/utils/makedep -C $(CC) \ - -O "$(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend - LDFLAGS := -nostdlib $(LDFLAGS) --entry _start # # 依存関係の定義 # -cfg1_out.c: $(TARGETDIR)/target_def.csv -kernel_cfg.timestamp: $(TARGETDIR)/target.tf -$(OBJFILE): $(TARGETDIR)/target_check.tf +kernel_cfg.timestamp: $(TARGETDIR)/target_kernel.trb +check.timestamp: $(TARGETDIR)/target_check.trb # # プロセッサ依存部のインクルード