OSDN Git Service

(none)
authorryuz <ryuz>
Fri, 18 Aug 2006 08:43:31 +0000 (08:43 +0000)
committerryuz <ryuz>
Fri, 18 Aug 2006 08:43:31 +0000 (08:43 +0000)
cfgrtr/source/creflg.cpp
cfgrtr/source/definh.cpp
cfgrtr/source/idlstk.cpp
cfgrtr/source/knlheap.cpp
kernel/source/object/tim/isig_tim.c

index 70f9a49..9d5c4f5 100755 (executable)
@@ -135,7 +135,7 @@ void  CApiCreFlg::WriteCfgDef(FILE* fp)
                        }
                        else
                        {
-                               fprintf(fp, "\t\t{0},\n");
+                               fprintf(fp, "\t\t{{0}, },\n");
                        }
                }
                fprintf(fp, "\t};\n");
index 60a67c3..4af3288 100755 (executable)
@@ -75,7 +75,7 @@ void  CApiDefInh::WriteCfgDef(FILE* fp)
                "const "
 #endif
                "_KERNEL_T_INHINF _kernel_inh_tbl[%d] =\n"
-               "{\n",
+               "\t{\n",
                KERNEL_TMAX_INH_INHNO - KERNEL_TMIN_INH_INHNO + 1);
        
        for ( i = KERNEL_TMIN_INH_INHNO; i <= KERNEL_TMAX_INH_INHNO; i++ )
@@ -89,20 +89,20 @@ void  CApiDefInh::WriteCfgDef(FILE* fp)
                }
                if ( j < m_iObjs )
                {
-                       fprintf(fp, "\t(FP)(%s),\n", m_pParamPacks[j]->GetParam(DEFINH_INTHDR));
+                       fprintf(fp, "\t\t{(FP)(%s)},\n", m_pParamPacks[j]->GetParam(DEFINH_INTHDR));
                }
 #if _KERNEL_SPT_ISR
                else if ( i >= _KERNEL_IRCATR_TMIN_INHNO && i <= _KERNEL_IRCATR_TMAX_INHNO )
                {
-                       fprintf(fp, "\t(FP)_KERNEL_EXE_IRC,\n");
+                       fprintf(fp, "\t\t{(FP)_KERNEL_EXE_IRC},\n");
                }
 #endif
                else
                {
-                       fprintf(fp, "\tNULL,\n");
+                       fprintf(fp, "\t\t{(FP)NULL},\n");
                }
        }
-       fprintf(fp, "};\n\n");
+       fprintf(fp, "\t};\n\n");
 }
 
 
index 7cb9de9..122a620 100755 (executable)
@@ -2,7 +2,7 @@
 //  Hyper Operating System V4  コンフィギュレーター                           
 //    HOS_IDL_STK API の処理                                                  
 //                                                                            
-//                                    Copyright (C) 1998-2003 by Project HOS  
+//                                    Copyright (C) 1998-2006 by Project HOS  
 //                                    http://sourceforge.jp/projects/hos/     
 // ---------------------------------------------------------------------------
 
index 0a1082f..3663ec5 100755 (executable)
@@ -104,5 +104,5 @@ void  CApiKernelHeap::WriteCfgIni(FILE* fp)
 
 
 // ---------------------------------------------------------------------------
-//  Copyright (C) 1998-2003 by Project HOS                                    
+//  Copyright (C) 1998-2006 by Project HOS                                    
 // ---------------------------------------------------------------------------
index 946955c..b3cef82 100755 (executable)
@@ -4,7 +4,7 @@
  * @file  isig_tim.c
  * @brief %jp{タイムティックの供給}%en{Supply Time Tick}
  *
- * @version $Id: isig_tim.c,v 1.1 2006-08-16 16:27:04 ryuz Exp $
+ * @version $Id: isig_tim.c,v 1.2 2006-08-18 08:43:31 ryuz Exp $
  *
  * Copyright (C) 1998-2006 by Project HOS
  * http://sourceforge.jp/projects/hos/
 ER isig_tim(void)
 {
        RELTIM tictim;
-
-       tictim = 1;
        
+       /* %jp{加算するタイムティックを算出} */
+#if _KERNEL_SPT_TIC_NUME
+       _kernel_tic_cnt--;
+       if ( _kernel_tic_cnt < _kernel_tic_mod )
+       {
+               tictim = _kernel_tic_div + 1;   /* %jp{割り切れない分を補正} */
+       }
+       else
+       {
+               tictim = _kernel_tic_div;
+       }
+       if ( _kernel_tic_cnt == 0 )
+       {
+               _kernel_tic_cnt = kernel_tic_deno;
+       }
+#else
+       tictim = 1;
+#endif
+
+       _KERNEL_ENTER_SVC();            /* %jp{サービスコールに入る}%en{enter service-call} */
+
 /*     _kernel_sig_tmq(tictim);        */
 
        _kernel_sig_toq(tictim);
-       
+
+       _KERNEL_LEAVE_SVC();            /* %jp{サービスコールから出る}%en{leave service-call} */
+
        return E_OK;
 }