OSDN Git Service

(none)
authorryuz <ryuz>
Sun, 30 Nov 2008 09:20:50 +0000 (09:20 +0000)
committerryuz <ryuz>
Sun, 30 Nov 2008 09:20:50 +0000 (09:20 +0000)
aplfw/driver/serial/jelly/jellyuartdrv_isr.c
aplfw/driver/serial/jelly/jellyuartdrv_open.c
aplfw/driver/serial/jelly/jellyuartdrv_read.c
aplfw/sample/mips/jelly/boot.c
aplfw/sample/mips/jelly/system.cfg [new file with mode: 0755]
kernel/source/arch/irc/mips/jelly/dis_int.c
kernel/source/arch/irc/mips/jelly/ena_int.c
kernel/source/arch/irc/mips/jelly/vclr_int.c

index e16d228..b2d2ed3 100755 (executable)
@@ -19,7 +19,7 @@ void JellyUartDrv_IsrRx(VPARAM Param)
        int                     c;
        
        self = (C_JELLYUARTDRV *)Param;
-       
+               
        /* 受信 */    
        if ( (JELLYUART_REG_READ(self, JELLYUART_STATUS) & 0x01) )
        {
@@ -47,8 +47,6 @@ void JellyUartDrv_IsrTx(VPARAM Param)
        C_JELLYUARTDRV  *self;
        
        self = (C_JELLYUARTDRV *)Param;
-
-       Uart_PutString("TX");
        
        /* 送信 */    
        if ( (JELLYUART_REG_READ(self, JELLYUART_STATUS) & 0x02) )
index 7ba8b12..60fdbc2 100755 (executable)
@@ -31,7 +31,7 @@ HANDLE JellyUartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode)
        if ( self->iOpenCount++ == 0 )
        {
                /* 受信割込みを許可 */
-               SysInt_Enable(self->iIntNumRx);
+/*             SysInt_Enable(self->iIntNumRx);         */
        }
        
        return hFile;
index 96f845d..23c80b5 100755 (executable)
@@ -41,6 +41,7 @@ FILE_SIZE JellyUartDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf,
        for ( i = 0; i < Size; i++ )
        {
                /* 読み出し */
+#if 0
                while ( (c = StreamBuf_RecvChar(&self->StmBufRecv)) < 0 )
                {
                        /* ブロッキングモードでなければ抜ける */
@@ -56,6 +57,11 @@ FILE_SIZE JellyUartDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf,
                        /* 読込みシグナルをクリアしてリトライ */
                        SyncFile_ClearSignal(pFile, SYNCDRV_FACTOR_READ);
                }
+#else
+               while ( !(JELLYUART_REG_READ(self, JELLYUART_STATUS) & 0x01) )
+                       ;
+               c = JELLYUART_REG_READ(self, JELLYUART_DATA);
+#endif
                
                /* 読み出せた文字を格納 */    
                *pubBuf++ = (unsigned char)c;
index bc41f78..f3c34b2 100755 (executable)
@@ -35,7 +35,7 @@
 #include "uart.h"
 
 
-long   g_SystemHeap[64 * 1024 / sizeof(long)];
+long   g_SystemHeap[128 * 1024 / sizeof(long)];
 
 
 int Boot_Process(VPARAM Param);
diff --git a/aplfw/sample/mips/jelly/system.cfg b/aplfw/sample/mips/jelly/system.cfg
new file mode 100755 (executable)
index 0000000..102204e
--- /dev/null
@@ -0,0 +1,28 @@
+/** 
+ *  Sample program for Hyper Operating System V4 Advance
+ *
+ * @file  system.cfg
+ * @brief %jp{サンプルのコンフィギュレーション}
+ *
+ * Copyright (C) 1998-2006 by Project HOS
+ * http://sourceforge.jp/projects/hos/
+ */
+
+
+/* %jp{カーネル独自の設定}%en{kernel} */
+KERNEL_HEP_MEM(65536, NULL);
+KERNEL_INT_STK(1024, NULL);
+KERNEL_MAX_TSKID(32);
+KERNEL_MAX_SEMID(32);
+KERNEL_MAX_FLGID(32);
+KERNEL_MAX_MBXID(32);
+KERNEL_MAX_MPFID(32);
+KERNEL_MAX_ISRID(32);
+
+
+/* %jp{ブートタスク}%en{Boot task} */
+INCLUDE("\"boot.h\"");
+CRE_TSK(TSKID_BOOT, {TA_HLNG | TA_ACT, 0, Boot_Task, 2, 1024, NULL});
+
+
+/* end of file */
index 2612254..6d27c83 100755 (executable)
@@ -23,7 +23,11 @@ ER dis_int(INTNO intno)
                return E_PAR;
        }
        
+       *_KERNEL_IRC_ENABLE = 0;
+
        *_KERNEL_IRC_FACTOR_ENABLE(intno) = 0;
+
+       *_KERNEL_IRC_ENABLE = 1;
        
        return E_OK;
 }
index 92c155c..930e9a0 100755 (executable)
@@ -22,7 +22,11 @@ ER ena_int(INTNO intno)
                return E_PAR;
        }
        
+       *_KERNEL_IRC_ENABLE = 0;
+       
        *_KERNEL_IRC_FACTOR_ENABLE(intno) = 1;
+
+       *_KERNEL_IRC_ENABLE = 1;
        
        return E_OK;
 }
index 29cd42e..c8f2d0c 100755 (executable)
@@ -22,8 +22,12 @@ ER vclr_int(INTNO intno)
                return E_PAR;
        }
        
+       *_KERNEL_IRC_ENABLE = 0;
+
        *_KERNEL_IRC_FACTOR_PENDING(intno) = 0;
 
+       *_KERNEL_IRC_ENABLE = 1;
+
        return E_OK;
 }