• R/O
  • HTTP
  • SSH
  • HTTPS

hos-v4a: コミット

HOS-V4 Advance の開発リポジトリ


コミットメタ情報

リビジョン20b26c6460a582ab07054b4658c4919f7927902a (tree)
日時2012-07-24 00:47:58
作者ryuz <QZF06013@nift...>
コミッターryuz

ログメッセージ

debug sdcc

変更サマリ

差分

--- a/kernel/build/common/gmake/sdcc_d.inc
+++ b/kernel/build/common/gmake/sdcc_d.inc
@@ -1,7 +1,7 @@
11 # ----------------------------------------------------------------------------
22 # Hyper Operating System V4 Advance
33 #
4-# Copyright (C) 1998-2006 by Project HOS
4+# Copyright (C) 1998-2012 by Project HOS
55 # http://sourceforge.jp/projects/hos/
66 # ----------------------------------------------------------------------------
77
@@ -13,62 +13,58 @@ CMD_LIBR ?= sdcclib
1313 CMD_LINK ?= sdcc
1414 CMD_OBJCNV ?= sdcc
1515
16-# %jp{拡張子定義}
16+
17+# %jp{拡張子定義}%en{file extensions}
1718 EXT_C ?= c
1819 EXT_CPP ?= cpp
1920 EXT_ASM ?= S
20-EXT_OBJ ?= o
21-EXT_LIB ?= lib
22-EXT_EXE ?= elf
21+EXT_OBJ ?= rel
22+EXT_LIB ?= a
23+EXT_EXE ?= out
2324 EXT_MOT ?= mot
2425 EXT_HEX ?= hex
2526 EXT_BIN ?= bin
2627
2728
29+
2830 # ----------------------------------
2931 # C-compiler
3032 # ----------------------------------
3133
32-# %jp{共通オプションの設定}
34+# %jp{共通オプションの設定}%en{common options}
3335 CFLAGS +=
3436
35-# %jp{インクルードパスオプションの定義}
36-CFLAGS_INC ?= $(patsubst %,-I%,$(INC_DIRS))
3737
38-# %jp{マクロ定義オプションの定義}
39-CFLAGS_DEF ?= $(patsubst %,-D%,$(C_DEFS))
38+# %jp{デバッグオプションの定義}%en{debug options}
39+CFLAGS_DBG ?=
4040
41-# %jp{デバッグオプションの定義}
42-CFLAGS_DBG ?= --debug
4341
44-# %jp{最適化オプションの定義}
45-CFLAGS_OPT_NONE ?=
46-CFLAGS_OPT_NORMAL ?=
42+# %jp{最適化オプションの定義}%en{optimize options}
43+CFLAGS_OPT_NONE ?=
44+CFLAGS_OPT_NORMAL ?=
4745 CFLAGS_OPT_SIZE ?= --opt-code-size
4846 CFLAGS_OPT_SPEED ?= --opt-code-speed
4947
5048
49+
5150 # ----------------------------------
5251 # Assembler
5352 # ----------------------------------
5453
55-# %jp{共通オプションの設定}
54+# %jp{共通オプションの設定}%en{common options}
5655 AFLAGS +=
5756
58-# %jp{インクルードパスオプションの定義}
59-AFLAGS_INC ?= $(patsubst %,-I%,$(INC_DIRS))
6057
61-# %jp{マクロ定義オプションの定義}
62-AFLAGS_DEF ?=
63-
64-# %jp{デバッグオプションの定義}
58+# %jp{デバッグオプションの定義}%en{debug options}
6559 AFLAGS_DBG ?= --debug
6660
67-# %jp{最適化オプションの定義}
61+
62+# %jp{最適化オプションの定義}%en{optimize options}
6863 AFLAGS_OPT_NONE ?=
6964 AFLAGS_OPT_NORMAL ?=
7065 AFLAGS_OPT_SIZE ?=
7166 AFLAGS_OPT_SPEED ?=
7267
7368
69+
7470 # end of file
--- a/kernel/build/common/gmake/sdcc_r.inc
+++ b/kernel/build/common/gmake/sdcc_r.inc
@@ -5,31 +5,94 @@
55 # http://sourceforge.jp/projects/hos/
66 # ----------------------------------------------------------------------------
77
8-define NEW-LINES
98
10-
11-endef
129
10+# --------------------------------------
11+# %jp{オプション展開}%en{options}
12+# --------------------------------------
1313
14+
15+# %jp{C言語インクルードパスオプションの定義}%en{C-compiler include path}
16+ifneq ($(INC_DIRS),)
17+CFLAGS_INC ?= $(patsubst %,-I%,$(INC_DIRS))
18+endif
19+
20+
21+# %jp{C言語マクロ定義オプションの定義}%en{C-compiler define macros}
22+ifneq ($(C_DEFS),)
23+CFLAGS_DEF ?= $(patsubst %,-D%,$(C_DEFS))
24+endif
25+
26+
27+# %jp{アセンブリ言語インクルードパスオプションの定義}%en{Assembler include path}
28+ifneq ($(INC_DIRS),)
29+AFLAGS_INC ?= $(patsubst %,-I%,$(INC_DIRS))
30+endif
31+
32+
33+# %jp{アセンブリ言語マクロ定義オプションの定義}%en{Assembler define macros}
34+ifneq ($(A_DEFS),)
35+AFLAGS_DEF ?= $(patsubst %,-D%,$(A_DEFS))
36+endif
37+
38+
39+# %jp{オプション統合}{Options marged}
40+CFLAGS += $(CFLAGS_INC) $(CFLAGS_DEF)
41+AFLAGS += $(AFLAGS_INC) $(AFLAGS_DEF)
42+
43+
44+
45+# --------------------------------------
46+# %jpルール定義}%en{Rules}
47+# --------------------------------------
48+
49+
50+# %jp{実行ファイル生成}%en{Executable file}
1451 $(TARGET_EXE): $(OBJS) $(LIBS)
15- $(CMD_LINK) $(LNFLAGS) $(OBJS) $(LIBS) -o $(TARGET_EXE)
52+ $(CMD_LINK) $(LNFLAGS) $(OBJS) $(LIBS) $(LNFLAGS2) -o $(TARGET_EXE)
1653
1754
55+# %jp{モトローラS形式ファイル生成}%en{Motorola S format file}
1856 $(TARGET_MOT): $(TARGET_EXE)
1957 $(CMD_OBJCNV) -O srec $(TARGET_EXE) $(TARGET_MOT)
2058
2159
22-# %jp{ライブラリ生成}
60+# %jp{インテルHEX形式ファイル生成}%en{Intel HEX format file}
61+$(TARGET_HEX): $(TARGET_EXE)
62+ $(CMD_OBJCNV) -O ihex $(TARGET_EXE) $(TARGET_HEX)
63+
64+
65+# %jp{プレーンバイナリ形式ファイル生成}%en{Plain Binary}
66+$(TARGET_BIN): $(TARGET_EXE)
67+ $(CMD_OBJCNV) -O binary $(TARGET_EXE) $(TARGET_BIN)
68+
69+
70+# %jp{ライブラリ生成}%en{Library}
2371 $(TARGET_LIB): $(OBJS)
24- $(foreach obj,$(OBJS),$(CMD_LIBR) -a $(TARGET_LIB) $(obj)$(NEW-LINES))
72+ $(CMD_LIBR) $(ARFLAGS) -r $(TARGET_LIB) $(OBJS)
73+
2574
26-# %jp{Cコンパイル}
75+# %jp{Cコンパイル}%en{C Compile}
2776 $(OBJS_DIR)/%.$(EXT_OBJ) :: %.$(EXT_C)
2877 $(CMD_CC) $(CFLAGS) -c $< -o $@
2978
30-# %jp{アセンブル}
79+
80+# %jp{アセンブル}%en{Assemble}
3181 $(OBJS_DIR)/%.$(EXT_OBJ) :: %.$(EXT_ASM)
3282 $(CMD_ASM) $(AFLAGS) -c $< -o $@
3383
3484
85+# %jp{一括コンパイル}%en{batch cmpile}
86+batch_c:
87+ $(CMD_CC) $(CFLAGS) -c $(CSRCS)
88+ $(CMD_MV) -f $(addsuffix .$(EXT_OBJ), $(basename $(notdir $(CSRCS)))) $(OBJS_DIR)
89+
90+
91+# %jp{一括アセンブル}%en{batch cmpile}
92+batch_asm:
93+ $(CMD_CC) $(CFLAGS) -c $(ASRCS)
94+ $(CMD_MV) -f $(addsuffix .$(EXT_OBJ), $(basename $(notdir $(ASRCS)))) $(OBJS_DIR)
95+
96+
97+
3598 # end of file
--- a/kernel/source/object/tsk/ref_tsk.c
+++ b/kernel/source/object/tsk/ref_tsk.c
@@ -82,7 +82,7 @@ ER ref_tsk(ID tskid, T_RTSK *p_rtsk)
8282 #endif
8383
8484 #if _KERNEL_SPT_RTSK_TASK
85- p_rtsk->task = _KERNEL_TSK_GET_TASK(tcb_ro); /* %jp{タスクの起動番地(HOS独自拡張)} */
85+ p_rtsk->task = (FP)_KERNEL_TSK_GET_TASK(tcb_ro); /* %jp{タスクの起動番地(HOS独自拡張)} */
8686 #endif
8787 #if _KERNEL_SPT_RTSK_ITSKPRI
8888 p_rtsk->itskpri = _KERNEL_TSK_GET_ITSKPRI(tcb_ro); /* %jp{タスクの起動時優先度(HOS独自拡張)} */
旧リポジトリブラウザで表示