OSDN Git Service

(none)
authorryuz <ryuz>
Thu, 26 Apr 2007 15:17:22 +0000 (15:17 +0000)
committerryuz <ryuz>
Thu, 26 Apr 2007 15:17:22 +0000 (15:17 +0000)
aplfw/driver/serial/renesas/scifile.c
aplfw/driver/serial/renesas/scifile.h
aplfw/sample/sh/cq7144a/ostimer.c
aplfw/sample/sh/cq7144a/sample.c
aplfw/sample/sh/cq7144a/shc/gmake.mak
sample/arm/aduc7000/armcc/gmake.mak
sample/sh/sh7144/ostimer.c
sample/sh/sh7144/shc/gmake.mak

index 6c9093d..954e65e 100755 (executable)
@@ -28,10 +28,10 @@ const T_FILEOBJ_METHODS SciFile_FileObjMethods =
 
 
 /** コンストラクタ */
-FILE_ERR SciFile_Create(HANDLE hFile, void *pParam)
+FILE_ERR SciFile_Create(HANDLE hFile, void *pParam, int iMode)
 {
        C_SCIFILE *self;
-
+       
        self = (C_SCIFILE *)hFile;
        
        /* 親クラスコンストラクタ呼び出し */
index 2c7b43c..54a2c82 100755 (executable)
@@ -32,7 +32,7 @@ extern "C" {
 #endif
 
 /* SCI用デバイスドライバ */
-FILE_ERR SciFile_Create(HANDLE hFile, void *pParam);                   /**< コンストラクタ */
+FILE_ERR SciFile_Create(HANDLE hFile, void *pParam, int iMode);                        /**< コンストラクタ */
 
 #ifdef __cplusplus
 }
index 85c63fc..8b5f77e 100755 (executable)
@@ -25,6 +25,7 @@ static void OsTimer_IrqHandler(void);                                         /**< %jp{タイマ割り込みハン
 void OsTimer_Initialize(VP_INT exinf)
 {
        T_DINH dfinh;
+       return;
        
        /* %jp{割り込みハンドラ定義} */
        dfinh.inthdr = (FP)OsTimer_IrqHandler;
index e989a25..d0cdb3a 100755 (executable)
@@ -1,4 +1,4 @@
-/** 
+/**
  *  Sample program for Hyper Operating System V4 Advance
  *
  * @file  sample.c
 #include <stdlib.h>
 #include "kernel.h"
 #include "kernel_id.h"
+#include "hosaplfw.h"
 #include "system/sysapi/sysapi.h"
-#include "system/file/filesys.h"
+#include "system/file/file.h"
 #include "system/file/confile.h"
-#include "system/sysapi/sysapi.h"
 #include "system/process/process.h"
 #include "system/command/command.h"
 #include "system/shell/shell.h"
@@ -35,7 +35,7 @@ int System_Boot(VPARAM Param);
 
 void Sample_Task(VP_INT exinf)
 {
-       T_SYSFILE_DEVINF DevInf;
+       T_FILE_DEVINF    DevInf;
        T_PROCESS_INFO   ProcInfo;
        HANDLE           hTty;
        HANDLE           hCon;
@@ -55,6 +55,9 @@ void Sample_Task(VP_INT exinf)
        
        /* システム初期化 */
        System_Initialize(g_SystemHeap, sizeof(g_SystemHeap));
+       File_Initialize();
+       Command_Initialize();
+       
        
        /* SCIデバドラ生成 */
        SciDrv_Create(&g_SciDrv[0], (void *)REG_SCI0_SMR, 128, 24000000L, 64);  /* SCI0 */
@@ -67,19 +70,19 @@ void Sample_Task(VP_INT exinf)
        DevInf.pfncCreate = SciFile_Create;
        DevInf.ObjSize    = sizeof(C_SCIFILE);
        DevInf.pParam     = &g_SciDrv[0];
-       SysFile_AddDevice("/dev", &DevInf);
+       File_AddDevice(&DevInf);
        
        /* SCI1 を /dev/com1 に登録 */
        strcpy(DevInf.szName, "com1");
        DevInf.pfncCreate = SciFile_Create;
        DevInf.ObjSize    = sizeof(C_SCIFILE);
        DevInf.pParam     = &g_SciDrv[1];
-       SysFile_AddDevice("/dev", &DevInf);
+       File_AddDevice(&DevInf);
+       
        
        /*************************/
        /*     コマンド登録      */
        /*************************/
-       Command_Initialize();
        Command_AddCommand("hsh",   Shell_Main);
        Command_AddCommand("hello", Hello_Main);
        
@@ -88,11 +91,12 @@ void Sample_Task(VP_INT exinf)
        /*************************/
        hTty = File_Open("/dev/com1", FILE_MODE_READ | FILE_MODE_WRITE);
        
+       
        strcpy(DevInf.szName, "con1");
        DevInf.pfncCreate = ConsoleFile_Create;
        DevInf.ObjSize    = sizeof(C_CONSOLEFILE);
        DevInf.pParam     = hTty;
-       SysFile_AddDevice("/dev", &DevInf);
+       File_AddDevice(&DevInf);
        hCon = File_Open("/dev/con1", FILE_MODE_READ | FILE_MODE_WRITE);
        
        ProcInfo.hTty    = hTty;
@@ -108,6 +112,14 @@ void Sample_Task(VP_INT exinf)
 /* システムプロセス */
 int System_Boot(VPARAM Param)
 {
+       StdIo_PutString("\n\n"
+               "-------------------------------------------------------------\n"
+               " HOS-V4 Advance\n"
+               "  HOS Application Framework\n"
+               "\n"
+               "                      Copyright (C) 1996-2007 by Project HOS \n"
+               "-------------------------------------------------------------\n");
+       
        /* シェル起動 */
        return Command_Execute("hsh", NULL);
 }
index 19cbf6d..c445ad0 100755 (executable)
+# ----------------------------------------------------------------------------
+# Hyper Operating System V4 Advance
+#
+# Copyright (C) 1998-2007 by Project HOS
+# http://sourceforge.jp/projects/hos/
+# ----------------------------------------------------------------------------
 
 
+# %jp{ターゲット名}
 TARGET ?= sample
 
-ifeq ($(ROM),Yes)
-TARGET := $(TARGET)_rom
-ADDR_VECT ?= 000000000
-ADDR_ROM  ?= 000000400
-ADDR_RAM  ?= 000400000
-else
-ADDR_VECT ?= 000400000
-ADDR_ROM  ?= 000400400
-ADDR_RAM  ?= 000410000
-endif
+# %jp{ディレクトリ}
+OS_DIR            = ../../../../..
+KERNEL_DIR        = $(OS_DIR)/kernel
+KERNEL_CFGRTR_DIR = $(OS_DIR)/cfgrtr/build/gcc
+KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
+KERNEL_BUILD_DIR  = $(KERNEL_DIR)/build/sh/sh2/shc
+APLFW_DIR         = $(OS_DIR)/aplfw
+APLFW_INC_DIR     = $(APLFW_DIR)
+APLFW_BUILD_DIR   = $(APLFW_DIR)/build/sh/sh2/shc
+OBJS_DIR          = objs_$(TARGET)
+
+
+# %jp{共通定義読込み}
+include $(KERNEL_MAKINC_DIR)/common.inc
+
+
+# %jp{コンフィギュレータ定義}
+KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-sh2
 
-# ディレクトリ
-OS_DIR      = ../../../../..
-KERNEL_DIR = $(OS_DIR)/kernel
-APLFW_DIR  = $(OS_DIR)/aplfw
 
-KERNEL_INC_DIR  = $(KERNEL_DIR)/include
-APLFW_INC_DIR   = $(APLFW_DIR)
+# %jp{ライブラリ定義}
+APLFW_LIB = $(APLFW_BUILD_DIR)/hosaplfw.$(EXT_LIB)
+STD_LIBS  = stdlib.lib
 
-KERNEL_BUILD_DIR = $(KERNEL_DIR)/build/sh/sh2/shc
-APLFW_BUILD_DIR  = $(APLFW_DIR)/build/sh/sh2/shc
+# %jp{メモリマップ}
+ifeq ($(MEMMAP),ext)
+# %jp{外部メモリ}
+TARGET       := $(TARGET)ext
+SECTION_VECT ?= 00400000
+SECTION_ROM  ?= 00400400
+SECTION_RAM  ?= 00410000
+else
+# %jp{内蔵ROMメモリ}
+SECTION_VECT ?= 00000000
+SECTION_ROM  ?= 00000400
+SECTION_RAM  ?= 00400000
+endif
 
-KERNEL_CFG  = $(OS_DIR)/cfgrtr/build/gcc/h4acfg-sh2.exe
-KERNEL_LIB  = $(KERNEL_BUILD_DIR)/libhosv4a.lib
-APLFW_LIB   = $(APLFW_BUILD_DIR)/hosaplfw.lib
 
+# %jp{デバッグ版の定義変更}
 ifeq ($(DEBUG),Yes)
-KERNEL_LIB  = $(KERNEL_BUILD_DIR)/libhosv4adbg.lib
-APLFW_LIB   = $(APLFW_BUILD_DIR)/hosaplfwdbg.lib
+TARGET := $(TARGET)dbg
+APLFW_LIB = $(APLFW_BUILD_DIR)/hosaplfwdbg.$(EXT_LIB)
 endif
 
 
-# Tools
-CC     = shc
-ASM    = asmsh
-LINK   = optlnk
+# %jp{フラグ設定}
+CFLAGS  = -CP=sh2 -DEBug -NOLOGO
+AFLAGS  = -CP=sh2 -DEBug -NOLOGO
+LNFLAGS = 
 
-CFLAGS = -CP=sh2 -DEBug -NOLOGO -I=$(KERNEL_INC_DIR),$(APLFW_INC_DIR)
-AFLAGS = -CP=sh2 -DEBug -NOLOGO
-LFLAGS = 
 
-OBJS_DIR = objs
+# %jp{出力ファイル名}
+TARGET_EXE = $(TARGET).$(EXT_EXE)
+TARGET_MOT = $(TARGET).$(EXT_MOT)
 
-OBJS = $(OBJS_DIR)/vcttbl.obj          \
-       $(OBJS_DIR)/startup.obj         \
-       $(OBJS_DIR)/dbsct.obj           \
-       $(OBJS_DIR)/main.obj                    \
-       $(OBJS_DIR)/kernel_cfg.obj      \
-       $(OBJS_DIR)/sample.obj          \
-       $(OBJS_DIR)/ostimer.obj         \
 
+# %jp{shc用の設定読込み}
+include $(KERNEL_MAKINC_DIR)/shc_d.inc
 
-STD_LIBS = stdlib.lib
 
-VPATH = .:..:$(SRC_DIR)/driver/renesas
+# %jp{インクルードディレクトリ}
+INC_DIRS += $(APLFW_INC_DIR)
 
+# %jp{ソースディレクトリ}
+SRC_DIRS += . ..
 
-all: mkdir_objs mk_kernel mk_aplfw $(TARGET).abs
 
+# %jp{アセンブラファイルの追加}
+ASRCS += ./vcttbl.src          \
+         ./startup.src         \
 
-$(TARGET).abs: $(OBJS) $(STD_LIBS) $(OS_LIBS)
-       echo rom D=R                                      > $(OBJS_DIR)/subcmd.txt
-       echo -OPtimize                                   >> $(OBJS_DIR)/subcmd.txt
-       echo list $(TARGET).map                          >> $(OBJS_DIR)/subcmd.txt
-       echo -Input=$(OBJS) | sed "s/ /,/g"              >> $(OBJS_DIR)/subcmd.txt
-       echo -LIB=$(KERNEL_LIB),$(APLFW_LIB),$(STD_LIBS) >> $(OBJS_DIR)/subcmd.txt
-       echo "-start=VECTTBL/$(ADDR_VECT),P,C,C\$$BSEC,C\$$DSEC,D/$(ADDR_ROM),B,R,S/$(ADDR_RAM)" >> $(OBJS_DIR)/subcmd.txt
-       echo -output=$(TARGET).abs                       >> $(OBJS_DIR)/subcmd.txt
-       echo end                                         >> $(OBJS_DIR)/subcmd.txt
-       echo -input=$(TARGET).abs                        >> $(OBJS_DIR)/subcmd.txt
-       echo form stype                                  >> $(OBJS_DIR)/subcmd.txt
-       echo output $(TARGET).mot                        >> $(OBJS_DIR)/subcmd.txt
-       echo -exit                                       >> $(OBJS_DIR)/subcmd.txt
-       $(LINK) -SU=$(OBJS_DIR)/subcmd.txt
 
-$(STD_LIBS):
-       lbgsh -OUTPut=$(STD_LIBS) -CP=sh2 -REent 
+# %jp{C言語ファイルの追加}
+CSRCS += ./dbsct.c                     \
+         ../kernel_cfg.c       \
+         ../main.c                     \
+         ../sample.c           \
+         ../ostimer.c          \
+         ../debug.c
 
-mk_kernel:
-       make -C $(KERNEL_BUILD_DIR) -f gmake.mak
 
-mk_aplfw:
-       make -C $(APLFW_BUILD_DIR) -f gmake.mak
+# %jp{ライブラリファイルの追加}
+LIBS += $(APLFW_LIB) $(STD_LIBS)
 
-mkdir_objs:
-       @mkdir -p $(OBJS_DIR)
 
-clean:
-       rm -f $(OBJS) $(TARGET) ../kernel_cfg.c ../kernel_id.h
 
-clean-all: clean
-       make -C $(KERNEL_BUILD_DIR) -f gmake.mak clean
-       make -C $(APLFW_BUILD_DIR) -f gmake.mak clean
+# --------------------------------------
+#  %jp{ルール}
+# --------------------------------------
 
+.PHONY : all
+all: make_aplfw makeexe_all $(TARGET_EXE) $(TARGET_MOT)
 
-$(OBJS_DIR)/sample.obj: sample.c ../kernel_id.h
+
+.PHONY : make_aplfw
+make_aplfw:
+       make -C $(APLFW_BUILD_DIR) -f gmake.mak
+
+
+.PHONY : clean
+clean: makeexe_clean
+       rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h
+
+
+$(STD_LIBS):
+       lbgsh -OUTPut=$(STD_LIBS) -CP=sh2 -REent 
 
 ../kernel_cfg.c ../kernel_id.h: ../system.cfg
        cpp -E ../system.cfg ../system.i
-       $(KERNEL_CFG) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
+       $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
+
+
+
+# %jp{ライブラリ生成用設定読込み}
+include $(KERNEL_MAKINC_DIR)/makeexe.inc
+
+# %jp{shc用のルール定義読込み}
+include $(KERNEL_MAKINC_DIR)/shc_r.inc
 
 
 
-$(OBJS_DIR)/%.obj :: %.c
-       $(CC) $(CFLAGS) $< -OB=$@ -List=$(@:%.obj=%.lst)
+# --------------------------------------
+#  %jp{依存関係}
+# --------------------------------------
 
-$(OBJS_DIR)/%.obj :: %.src
-       $(ASM) $(AFLAGS) $< -OB=$@
+$(OBJS_DIR)/sample.obj: ../sample.c ../kernel_id.h
 
 
+# end of file
index 09f226f..ad1c154 100755 (executable)
@@ -21,7 +21,7 @@ OBJS_DIR          = objs_$(TARGET)
 include $(KERNEL_MAKINC_DIR)/common.inc
 
 
-# デバッグ版のターゲット名変更
+# %jp{デバッグ版のターゲット名変更}
 ifeq ($(DEBUG),Yes)
 TARGET := $(TARGET)dbg
 endif
@@ -41,7 +41,7 @@ LNFLAGS = --ro_base=$(SECTION_ROM) --rw_base=$(SECTION_RAM) --first=vectors.o --
 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-aduc7000
 
 
-# 出力ファイル名
+# %jp{出力ファイル名}
 TARGET_EXE = $(TARGET).axf
 TARGET_MOT = $(TARGET).mot
 TARGET_HEX = $(TARGET).hex
@@ -50,15 +50,16 @@ TARGET_HEX = $(TARGET).hex
 # %jp{armcc用の設定読込み}
 include $(KERNEL_MAKINC_DIR)/armcc_d.inc
 
-# ソースディレクトリ
+
+# %jp{ソースディレクトリ}
 SRC_DIRS += . ..
 
-# アセンブラファイルの追加
+
+# %jp{アセンブラファイルの追加}
 ASRCS += ./vectors.s           \
          ./startup.s           \
          ./uish.s
 
-
 # %jp{C言語ファイルの追加}
 CSRCS += ../kernel_cfg.c       \
          ../main.c                     \
index 1665d2c..85c63fc 100755 (executable)
@@ -25,7 +25,6 @@ static void OsTimer_IrqHandler(void);                                         /**< %jp{タイマ割り込みハン
 void OsTimer_Initialize(VP_INT exinf)
 {
        T_DINH dfinh;
-       return 0;
        
        /* %jp{割り込みハンドラ定義} */
        dfinh.inthdr = (FP)OsTimer_IrqHandler;
index 79ada87..15b1e38 100755 (executable)
@@ -2,14 +2,14 @@
 # Hyper Operating System V4 Advance
 #  makefile for sh2-sample
 #
-# Copyright (C) 1998-2006 by Project HOS
+# Copyright (C) 1998-2007 by Project HOS
 # http://sourceforge.jp/projects/hos/
 # ----------------------------------------------------------------------------
 
-# %jp{ターゲット名}
+# %jp{ターゲット名}%en{Target name}
 TARGET ?= sample
 
-# %jp{ディレクトリ定義}
+# %jp{ディレクトリ定義}%en{Directorys}
 OS_DIR            = ../../../..
 KERNEL_DIR        = $(OS_DIR)/kernel
 KERNEL_CFGRTR_DIR = $(OS_DIR)/cfgrtr/build/gcc
@@ -17,23 +17,24 @@ KERNEL_MAKINC_DIR = $(KERNEL_DIR)/build/common/gmake
 KERNEL_BUILD_DIR  = $(KERNEL_DIR)/build/sh/sh2/shc
 OBJS_DIR          = objs_$(TARGET)
 
-# %jp{共通定義読込み}
+# %jp{共通定義読込み}%en{common definition}
 include $(KERNEL_MAKINC_DIR)/common.inc
 
 
-# デバッグ版のターゲット名変更
+# %jp{デバッグ版のターゲット名変更}%en{Debug mode}
 ifeq ($(DEBUG),Yes)
 TARGET := $(TARGET)dbg
 endif
 
+
 ifeq ($(RAM),Yes)
-# %jp{RAM実行(モニタプログラム利用を想定)}
-TARGET := $(TARGET)_ram
+# %jp{RAM実行(モニタプログラム利用を想定)}%en{execute on RAM}
+TARGET := $(TARGET)ram
 SECTION_VECT ?= 000400000
 SECTION_ROM  ?= 000400400
 SECTION_RAM  ?= 000410000
 else
-# %jp{ROM焼きする場合}
+# %jp{ROM焼きする場合}%en{execute on ROM}
 TARGET := $(TARGET)
 SECTION_VECT ?= 000000000
 SECTION_ROM  ?= 000000400
@@ -41,36 +42,37 @@ SECTION_RAM  ?= 0FFFFE000
 endif
 
 
-# %jp{フラグ設定}
+# %jp{フラグ設定}%en{compile options}
 CFLAGS  = -CPu=sh2
 AFLAGS  = -CPu=sh2
 LNFLAGS = 
 
 
-# %jp{コンフィギュレータ定義}
+# %jp{コンフィギュレータ定義}%en{configulator}
 KERNEL_CFGRTR = $(KERNEL_CFGRTR_DIR)/h4acfg-sh2
 
-# Cライブラリ名の指定
+# %jp{Cライブラリ名の指定}%en{std library}
 STD_LIBS = stdlib.lib
 
-# 出力ファイル名
+# %jp{出力ファイル名}%en{output file}
 TARGET_EXE = $(TARGET).abs
 TARGET_MOT = $(TARGET).mot
 
 
-# %jp{shc用の設定読込み}
+# %jp{shc用の設定読込み}%en{definition for shc}
 include $(KERNEL_MAKINC_DIR)/shc_d.inc
 
-# ソースディレクトリ
+
+# %jp{ソースディレクトリ}%en{source directorys}
 SRC_DIRS += . ..
 
-# アセンブラファイルの追加
+
+# %jp{アセンブラファイルの追加}%en{assembry sources}
 ASRCS += ./vcttbl.src          \
-         ./startup.src         \
+         ./startup.src
 
-#         ./sim_io.src
 
-# %jp{C言語ファイルの追加}
+# %jp{C言語ファイルの追加}%en{C sources}
 CSRCS += ./dbsct.c                     \
          ../kernel_cfg.c       \
          ../main.c                     \
@@ -78,18 +80,20 @@ CSRCS += ./dbsct.c                  \
          ../ostimer.c          \
          ../sci1.c
 
+
 # %jp{ライブラリの追加}
 LIBS  += $(STD_LIBS)
 
 
 
 # --------------------------------------
-#  %jp{ルール}
+#  %jp{ルール}%en{rule}
 # --------------------------------------
 
 .PHONY : all
 all: makeexe_all $(TARGET_EXE) $(TARGET_MOT)
 
+.PHONY : clean
 clean: makeexe_clean
        rm -f $(TARGET_EXE) $(TARGET_EXE) $(OBJS) ../kernel_cfg.c ../kernel_id.h
 
@@ -101,7 +105,7 @@ $(STD_LIBS):
        $(KERNEL_CFGRTR) ../system.i -c ../kernel_cfg.c -i ../kernel_id.h
 
 
-# %jp{ライブラリ生成用設定読込み}
+# %jp{実行ファイル生成用設定読込み}%en{setting for execute file}
 include $(KERNEL_MAKINC_DIR)/makeexe.inc
 
 # %jp{shc用のルール定義読込み}
@@ -110,7 +114,7 @@ include $(KERNEL_MAKINC_DIR)/shc_r.inc
 
 
 # --------------------------------------
-#  %jp{依存関係}
+#  %jp{依存関係}%en{dependency}
 # --------------------------------------
 
 $(OBJS_DIR)/sample.obj: ../sample.c ../kernel_id.h