From: ryuz Date: Sun, 19 Aug 2007 04:36:14 +0000 (+0000) Subject: (none) X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=b020faebb5e537711d35df366daaaa19ba0e2153;p=hos%2Fhos-v4a.git (none) --- diff --git a/aplfw/driver/serial/at91/at91uartdrv_iocontrol.c b/aplfw/driver/serial/at91/at91uartdrv_iocontrol.c deleted file mode 100755 index d35ce8e..0000000 --- a/aplfw/driver/serial/at91/at91uartdrv_iocontrol.c +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Hyper Operating System Application Framework - * - * @file at91uartdrv_iocontrol.c - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} - * - * Copyright (C) 2006-2007 by Project HOS - * http://sourceforge.jp/projects/hos/ - */ - - -#include "at91uartdrv_local.h" - - -FILE_ERR At91UartDrv_IoControl(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize) -{ - C_AT91UARTDRV *self; - C_CHRFILE *pChrFile; - - /* upper cast */ - self = (C_AT91UARTDRV *)pDrvObj; - pChrFile = (C_CHRFILE *)pFileObj; - - return FILE_ERR_NG; -} - - -/* end of file */ diff --git a/aplfw/driver/serial/at91/at91uartdrv_local.h b/aplfw/driver/serial/at91/at91uartdrv_local.h deleted file mode 100755 index ab2f6b6..0000000 --- a/aplfw/driver/serial/at91/at91uartdrv_local.h +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Hyper Operating System Application Framework - * - * @file at91uartdrv_local.h - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} - * - * Copyright (C) 2006-2007 by Project HOS - * http://sourceforge.jp/projects/hos/ - */ - - -#ifndef __HOS__at91uartdrv_local_h__ -#define __HOS__at91uartdrv_local_h__ - - -#include "at91uartdrv.h" - - -#define AT91UART_US_CR 0x00 /* Control Register */ -#define AT91UART_US_MR 0x04 /* Mode Register */ -#define AT91UART_US_IER 0x08 /* Interrupt Enable Register */ -#define AT91UART_US_IDR 0x0c /* Interrupt Disable Register */ -#define AT91UART_US_IMR 0x10 /* Interrupt Mask Register */ -#define AT91UART_US_CSR 0x14 /* Channel Status Register */ -#define AT91UART_US_RHR 0x18 /* Receiver Holding Register */ -#define AT91UART_US_THR 0x1c /* Transmitter Holding Register */ -#define AT91UART_US_BRGR 0x20 /* Baud Rate Generator Register */ -#define AT91UART_US_RTOR 0x24 /* Receiver Time-out Register */ -#define AT91UART_US_TTGR 0x28 /* Transmitter Time-guard Register */ -#define AT91UART_US_RPR 0x30 /* Receive Pointer Register */ -#define AT91UART_US_RCR 0x34 /* Receive Counter Register */ -#define AT91UART_US_TPR 0x38 /* Transmit Pointer Register */ -#define AT91UART_US_TCR 0x3c /* Transmit Counter Register */ - -#define AT91UART_REG_WRITE(self, offset, val) do { *(unsigned long *)((char *)(self)->pRegBase + (offset)) = (val); } while(0) -#define AT91UART_REG_READ(self, offset) (*((unsigned long *)((char *)(self)->pRegBase + (offset)))) - - -#ifdef __cplusplus -extern "C" { -#endif - -HANDLE At91UartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode); -void At91UartDrv_Close(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj); -FILE_ERR At91UartDrv_IoControl(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize); -FILE_POS At91UartDrv_Seek(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, FILE_POS Offset, int iOrign); -FILE_SIZE At91UartDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf, FILE_SIZE Size); -FILE_SIZE At91UartDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void *pData, FILE_SIZE Size); -FILE_ERR At91UartDrv_Flush(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj); - -void At91UartDrv_Isr(VPARAM Param); /* 割込み処理 */ - - -#ifdef __cplusplus -} -#endif - - -#endif /* __HOS__armuartdrv_h__ */ - - -/* end of file */ diff --git a/aplfw/driver/serial/at91/at91uartdrv_seek.c b/aplfw/driver/serial/at91/at91uartdrv_seek.c deleted file mode 100755 index 109ab71..0000000 --- a/aplfw/driver/serial/at91/at91uartdrv_seek.c +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Hyper Operating System Application Framework - * - * @file at91uartdrv_seek.c - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} - * - * Copyright (C) 2006-2007 by Project HOS - * http://sourceforge.jp/projects/hos/ - */ - - -#include "at91uartdrv_local.h" - - -FILE_POS At91UartDrv_Seek(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, FILE_POS Offset, int iOrign) -{ - C_AT91UARTDRV *self; - C_CHRFILE *pChrFile; - - /* upper cast */ - self = (C_AT91UARTDRV *)pDrvObj; - pChrFile = (C_CHRFILE *)pFileObj; - - return FILE_ERR_NG; -} - - -/* end of file */ diff --git a/aplfw/driver/serial/at91/at91usartdrv.h b/aplfw/driver/serial/at91/at91usartdrv.h new file mode 100755 index 0000000..500ab3f --- /dev/null +++ b/aplfw/driver/serial/at91/at91usartdrv.h @@ -0,0 +1,55 @@ +/** + * Hyper Operating System Application Framework + * + * @file at91usartdrv.h + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} + * + * Copyright (C) 2006-2007 by Project HOS + * http://sourceforge.jp/projects/hos/ + */ + + +#ifndef __HOS__at91usartdrv_h__ +#define __HOS__at91usartdrv_h__ + + +#include "system/sysapi/sysapi.h" +#include "system/file/chrdrv.h" +#include "library/container/stmbuf/stmbuf.h" + + +/* UARTドライバ制御部 */ +typedef struct c_at91usartdrv +{ + C_CHRDRV ChrDrv; /* キャラクタ型デバイスドライバを継承 */ + + void *pRegBase; /* レジスタベースアドレス */ + unsigned long ulBaseClock; /* ベースクロック */ + int iIntNum; /* 割込み番号 */ + + int iOpenCount; /* オープンカウンタ */ + SYSEVT_HANDLE hEvtSend; /* 送信イベント */ + SYSEVT_HANDLE hEvtRecv; /* 受信イベント */ + SYSMTX_HANDLE hMtxSend; /* 送信排他制御ミューテックス */ + SYSMTX_HANDLE hMtxRecv; /* 受信排他制御ミューテックス */ + C_STREAMBUF StmBufRecv; /* 受信バッファ */ +} C_AT91USARTDRV; + + + +#ifdef __cplusplus +extern "C" { +#endif + +void At91UsartDrv_Create(C_AT91USARTDRV *self, void *pRegBase, int iIntNum, unsigned long ulBaseClock, int iBufSize); /**< コンストラクタ */ +void At91UsartDrv_Delete(C_DRVOBJ *pDrvObj); /**< デストラクタ */ + +#ifdef __cplusplus +} +#endif + + +#endif /* __HOS__at91usartdrv_h__ */ + + +/* end of file */ diff --git a/aplfw/driver/serial/at91/at91uartdrv_close.c b/aplfw/driver/serial/at91/at91usartdrv_close.c similarity index 65% rename from aplfw/driver/serial/at91/at91uartdrv_close.c rename to aplfw/driver/serial/at91/at91usartdrv_close.c index fe198d9..d191e32 100755 --- a/aplfw/driver/serial/at91/at91uartdrv_close.c +++ b/aplfw/driver/serial/at91/at91usartdrv_close.c @@ -1,25 +1,25 @@ /** * Hyper Operating System Application Framework * - * @file at91uartdrv_close.c - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} + * @file at91usartdrv_close.c + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} * * Copyright (C) 2006-2007 by Project HOS * http://sourceforge.jp/projects/hos/ */ -#include "at91uartdrv_local.h" +#include "at91usartdrv_local.h" /** クローズ */ -void At91UartDrv_Close(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj) +void At91UsartDrv_Close(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj) { - C_AT91UARTDRV *self; + C_AT91USARTDRV *self; C_CHRFILE *pChrFile; /* upper cast */ - self = (C_AT91UARTDRV *)pDrvObj; + self = (C_AT91USARTDRV *)pDrvObj; pChrFile = (C_CHRFILE *)pFileObj; /* クローズ処理 */ diff --git a/aplfw/driver/serial/at91/at91uartdrv_create.c b/aplfw/driver/serial/at91/at91usartdrv_create.c similarity index 58% rename from aplfw/driver/serial/at91/at91uartdrv_create.c rename to aplfw/driver/serial/at91/at91usartdrv_create.c index a646c8b..a421f67 100755 --- a/aplfw/driver/serial/at91/at91uartdrv_create.c +++ b/aplfw/driver/serial/at91/at91usartdrv_create.c @@ -1,38 +1,38 @@ /** * Hyper Operating System Application Framework * - * @file at91uartdrv_create.c - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} + * @file at91usartdrv_create.c + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} * * Copyright (C) 2006-2007 by Project HOS * http://sourceforge.jp/projects/hos/ */ -#include "at91uartdrv_local.h" +#include "at91usartdrv_local.h" /* 仮想関数テーブル */ -const T_DRVOBJ_METHODS At91UartDrv_Methods = +const T_DRVOBJ_METHODS At91UsartDrv_Methods = { - At91UartDrv_Delete, - At91UartDrv_Open, - At91UartDrv_Close, - At91UartDrv_IoControl, - At91UartDrv_Seek, - At91UartDrv_Read, - At91UartDrv_Write, - At91UartDrv_Flush, + At91UsartDrv_Delete, + At91UsartDrv_Open, + At91UsartDrv_Close, + At91UsartDrv_IoControl, + At91UsartDrv_Seek, + At91UsartDrv_Read, + At91UsartDrv_Write, + At91UsartDrv_Flush, }; /** コンストラクタ */ -void At91UartDrv_Create(C_AT91UARTDRV *self, void *pRegBase, int iIntNum, unsigned long ulBaseClock, int iBufSize) +void At91UsartDrv_Create(C_AT91USARTDRV *self, void *pRegBase, int iIntNum, unsigned long ulBaseClock, int iBufSize) { void *pMem; /* 親クラスコンストラクタ呼び出し */ - ChrDrv_Create(&self->ChrDrv, &At91UartDrv_Methods); + ChrDrv_Create(&self->ChrDrv, &At91UsartDrv_Methods); /* メンバ変数初期化 */ self->pRegBase = pRegBase; @@ -54,7 +54,7 @@ void At91UartDrv_Create(C_AT91UARTDRV *self, void *pRegBase, int iIntNum, unsign /* 割込み処理登録 */ self->iIntNum = iIntNum; - SysIsr_Create(iIntNum, At91UartDrv_Isr, (VPARAM)self); + SysIsr_Create(iIntNum, At91UsartDrv_Isr, (VPARAM)self); } diff --git a/aplfw/driver/serial/at91/at91uartdrv_delete.c b/aplfw/driver/serial/at91/at91usartdrv_delete.c similarity index 69% rename from aplfw/driver/serial/at91/at91uartdrv_delete.c rename to aplfw/driver/serial/at91/at91usartdrv_delete.c index 3423736..52b69ae 100755 --- a/aplfw/driver/serial/at91/at91uartdrv_delete.c +++ b/aplfw/driver/serial/at91/at91usartdrv_delete.c @@ -1,25 +1,25 @@ /** * Hyper Operating System Application Framework * - * @file at91uartdrv_delete.c - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} + * @file at91usartdrv_delete.c + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} * * Copyright (C) 2006-2007 by Project HOS * http://sourceforge.jp/projects/hos/ */ -#include "at91uartdrv_local.h" +#include "at91usartdrv_local.h" /** デストラクタ */ -void At91UartDrv_Delete(C_DRVOBJ *pDrvObj) +void At91UsartDrv_Delete(C_DRVOBJ *pDrvObj) { - C_AT91UARTDRV *self; + C_AT91USARTDRV *self; void *pMem; /* upper cast */ - self = (C_AT91UARTDRV *)pDrvObj; + self = (C_AT91USARTDRV *)pDrvObj; /* 同期オブジェクト削除 */ SysEvt_Delete(self->hEvtRecv); diff --git a/aplfw/driver/serial/at91/at91uartdrv_flush.c b/aplfw/driver/serial/at91/at91usartdrv_flush.c similarity index 51% rename from aplfw/driver/serial/at91/at91uartdrv_flush.c rename to aplfw/driver/serial/at91/at91usartdrv_flush.c index e39e01f..2eaf95c 100755 --- a/aplfw/driver/serial/at91/at91uartdrv_flush.c +++ b/aplfw/driver/serial/at91/at91usartdrv_flush.c @@ -1,24 +1,24 @@ /** * Hyper Operating System Application Framework * - * @file at91uartdrv_flash.c - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} + * @file at91usartdrv_flash.c + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} * * Copyright (C) 2006-2007 by Project HOS * http://sourceforge.jp/projects/hos/ */ -#include "at91uartdrv_local.h" +#include "at91usartdrv_local.h" -FILE_ERR At91UartDrv_Flush(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj) +FILE_ERR At91UsartDrv_Flush(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj) { - C_AT91UARTDRV *self; + C_AT91USARTDRV *self; C_CHRFILE *pChrFile; /* upper cast */ - self = (C_AT91UARTDRV *)pDrvObj; + self = (C_AT91USARTDRV *)pDrvObj; pChrFile = (C_CHRFILE *)pFileObj; return FILE_ERR_OK; diff --git a/aplfw/driver/serial/at91/at91usartdrv_iocontrol.c b/aplfw/driver/serial/at91/at91usartdrv_iocontrol.c new file mode 100755 index 0000000..0b86ce9 --- /dev/null +++ b/aplfw/driver/serial/at91/at91usartdrv_iocontrol.c @@ -0,0 +1,28 @@ +/** + * Hyper Operating System Application Framework + * + * @file at91usartdrv_iocontrol.c + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} + * + * Copyright (C) 2006-2007 by Project HOS + * http://sourceforge.jp/projects/hos/ + */ + + +#include "at91usartdrv_local.h" + + +FILE_ERR At91UsartDrv_IoControl(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize) +{ + C_AT91USARTDRV *self; + C_CHRFILE *pChrFile; + + /* upper cast */ + self = (C_AT91USARTDRV *)pDrvObj; + pChrFile = (C_CHRFILE *)pFileObj; + + return FILE_ERR_NG; +} + + +/* end of file */ diff --git a/aplfw/driver/serial/at91/at91uartdrv_isr.c b/aplfw/driver/serial/at91/at91usartdrv_isr.c similarity index 51% rename from aplfw/driver/serial/at91/at91uartdrv_isr.c rename to aplfw/driver/serial/at91/at91usartdrv_isr.c index 58fa490..2b36a3a 100755 --- a/aplfw/driver/serial/at91/at91uartdrv_isr.c +++ b/aplfw/driver/serial/at91/at91usartdrv_isr.c @@ -1,36 +1,36 @@ /** * Hyper Operating System Application Framework * - * @file at91uartdrv_isr.c - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} + * @file at91usartdrv_isr.c + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} * * Copyright (C) 2006-2007 by Project HOS * http://sourceforge.jp/projects/hos/ */ -#include "at91uartdrv_local.h" +#include "at91usartdrv_local.h" /* 受信割り込み */ -void At91UartDrv_Isr(VPARAM Param) +void At91UsartDrv_Isr(VPARAM Param) { - C_AT91UARTDRV *self; + C_AT91USARTDRV *self; unsigned long uwCsr; int c; - self = (C_AT91UARTDRV *)Param; + self = (C_AT91USARTDRV *)Param; - uwCsr = AT91UART_REG_READ(self, AT91UART_US_CSR); + uwCsr = AT91USART_REG_READ(self, AT91USART_US_CSR); /* 受信 */ if ( uwCsr & 0x00000001 ) { do { - c = AT91UART_REG_READ(self, AT91UART_US_RHR); + c = AT91USART_REG_READ(self, AT91USART_US_RHR); StreamBuf_SendChar(&self->StmBufRecv, c); - uwCsr = AT91UART_REG_READ(self, AT91UART_US_CSR); + uwCsr = AT91USART_REG_READ(self, AT91USART_US_CSR); } while ( uwCsr & 0x00000001 ); SysEvt_Set(self->hEvtRecv); @@ -39,7 +39,7 @@ void At91UartDrv_Isr(VPARAM Param) /* 送信チェック */ if ( uwCsr & 0x00000002 ) { - AT91UART_REG_WRITE(self, AT91UART_US_IDR, 0x00000002); /* 送信割り込み禁止 */ + AT91USART_REG_WRITE(self, AT91USART_US_IDR, 0x00000002); /* 送信割り込み禁止 */ SysEvt_Set(self->hEvtSend); } } diff --git a/aplfw/driver/serial/at91/at91usartdrv_local.h b/aplfw/driver/serial/at91/at91usartdrv_local.h new file mode 100755 index 0000000..b14bd03 --- /dev/null +++ b/aplfw/driver/serial/at91/at91usartdrv_local.h @@ -0,0 +1,62 @@ +/** + * Hyper Operating System Application Framework + * + * @file at91usartdrv_local.h + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} + * + * Copyright (C) 2006-2007 by Project HOS + * http://sourceforge.jp/projects/hos/ + */ + + +#ifndef __HOS__at91usartdrv_local_h__ +#define __HOS__at91usartdrv_local_h__ + + +#include "at91usartdrv.h" + + +#define AT91USART_US_CR 0x00 /* Control Register */ +#define AT91USART_US_MR 0x04 /* Mode Register */ +#define AT91USART_US_IER 0x08 /* Interrupt Enable Register */ +#define AT91USART_US_IDR 0x0c /* Interrupt Disable Register */ +#define AT91USART_US_IMR 0x10 /* Interrupt Mask Register */ +#define AT91USART_US_CSR 0x14 /* Channel Status Register */ +#define AT91USART_US_RHR 0x18 /* Receiver Holding Register */ +#define AT91USART_US_THR 0x1c /* Transmitter Holding Register */ +#define AT91USART_US_BRGR 0x20 /* Baud Rate Generator Register */ +#define AT91USART_US_RTOR 0x24 /* Receiver Time-out Register */ +#define AT91USART_US_TTGR 0x28 /* Transmitter Time-guard Register */ +#define AT91USART_US_RPR 0x30 /* Receive Pointer Register */ +#define AT91USART_US_RCR 0x34 /* Receive Counter Register */ +#define AT91USART_US_TPR 0x38 /* Transmit Pointer Register */ +#define AT91USART_US_TCR 0x3c /* Transmit Counter Register */ + +#define AT91USART_REG_WRITE(self, offset, val) do { *(unsigned long *)((char *)(self)->pRegBase + (offset)) = (val); } while(0) +#define AT91USART_REG_READ(self, offset) (*((unsigned long *)((char *)(self)->pRegBase + (offset)))) + + +#ifdef __cplusplus +extern "C" { +#endif + +HANDLE At91UsartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode); +void At91UsartDrv_Close(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj); +FILE_ERR At91UsartDrv_IoControl(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, int iFunc, void *pInBuf, FILE_SIZE InSize, const void *pOutBuf, FILE_SIZE OutSize); +FILE_POS At91UsartDrv_Seek(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, FILE_POS Offset, int iOrign); +FILE_SIZE At91UsartDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf, FILE_SIZE Size); +FILE_SIZE At91UsartDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void *pData, FILE_SIZE Size); +FILE_ERR At91UsartDrv_Flush(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj); + +void At91UsartDrv_Isr(VPARAM Param); /* 割込み処理 */ + + +#ifdef __cplusplus +} +#endif + + +#endif /* __HOS__armuartdrv_h__ */ + + +/* end of file */ diff --git a/aplfw/driver/serial/at91/at91uartdrv_open.c b/aplfw/driver/serial/at91/at91usartdrv_open.c similarity index 52% rename from aplfw/driver/serial/at91/at91uartdrv_open.c rename to aplfw/driver/serial/at91/at91usartdrv_open.c index 42130d5..74d4b15 100755 --- a/aplfw/driver/serial/at91/at91uartdrv_open.c +++ b/aplfw/driver/serial/at91/at91usartdrv_open.c @@ -1,25 +1,25 @@ /** * Hyper Operating System Application Framework * - * @file at91uartdrv_open.c - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} + * @file at91usartdrv_open.c + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} * * Copyright (C) 2006-2007 by Project HOS * http://sourceforge.jp/projects/hos/ */ -#include "at91uartdrv_local.h" +#include "at91usartdrv_local.h" /** オープン */ -HANDLE At91UartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode) +HANDLE At91UsartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode) { - C_AT91UARTDRV *self; + C_AT91USARTDRV *self; C_CHRFILE *pChrFile; /* upper cast */ - self = (C_AT91UARTDRV *)pDrvObj; + self = (C_AT91USARTDRV *)pDrvObj; /* create file descriptor */ if ( (pChrFile = SysMem_Alloc(sizeof(*pChrFile))) == NULL ) @@ -32,9 +32,9 @@ HANDLE At91UartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode) /* オープン処理 */ if ( self->iOpenCount++ == 0 ) { - AT91UART_REG_WRITE(self, AT91UART_US_MR, 0x000008c0); /* 8bit, non-paroty */ - AT91UART_REG_WRITE(self, AT91UART_US_CR, 0x00000050); /* enable */ - AT91UART_REG_WRITE(self, AT91UART_US_BRGR, 0x00000034); + AT91USART_REG_WRITE(self, AT91USART_US_MR, 0x000008c0); /* 8bit, non-paroty */ + AT91USART_REG_WRITE(self, AT91USART_US_CR, 0x00000050); /* enable */ + AT91USART_REG_WRITE(self, AT91USART_US_BRGR, 0x00000034); SysInt_Enable(self->iIntNum); } diff --git a/aplfw/driver/serial/at91/at91uartdrv_read.c b/aplfw/driver/serial/at91/at91usartdrv_read.c similarity index 76% rename from aplfw/driver/serial/at91/at91uartdrv_read.c rename to aplfw/driver/serial/at91/at91usartdrv_read.c index 1aa4706..5272871 100755 --- a/aplfw/driver/serial/at91/at91uartdrv_read.c +++ b/aplfw/driver/serial/at91/at91usartdrv_read.c @@ -1,28 +1,28 @@ /** * Hyper Operating System Application Framework * - * @file at91uartdrv_read.c - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} + * @file at91usartdrv_read.c + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} * * Copyright (C) 2006-2007 by Project HOS * http://sourceforge.jp/projects/hos/ */ -#include "at91uartdrv_local.h" +#include "at91usartdrv_local.h" /** %jp{受信} */ -FILE_SIZE At91UartDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf, FILE_SIZE Size) +FILE_SIZE At91UsartDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf, FILE_SIZE Size) { - C_AT91UARTDRV *self; + C_AT91USARTDRV *self; C_CHRFILE *pChrFile; unsigned char *pubBuf; FILE_SIZE i; int c; /* upper cast */ - self = (C_AT91UARTDRV *)pDrvObj; + self = (C_AT91USARTDRV *)pDrvObj; pChrFile = (C_CHRFILE *)pFileObj; pubBuf = (unsigned char *)pBuf; diff --git a/aplfw/driver/serial/at91/at91usartdrv_seek.c b/aplfw/driver/serial/at91/at91usartdrv_seek.c new file mode 100755 index 0000000..789b51d --- /dev/null +++ b/aplfw/driver/serial/at91/at91usartdrv_seek.c @@ -0,0 +1,28 @@ +/** + * Hyper Operating System Application Framework + * + * @file at91usartdrv_seek.c + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} + * + * Copyright (C) 2006-2007 by Project HOS + * http://sourceforge.jp/projects/hos/ + */ + + +#include "at91usartdrv_local.h" + + +FILE_POS At91UsartDrv_Seek(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, FILE_POS Offset, int iOrign) +{ + C_AT91USARTDRV *self; + C_CHRFILE *pChrFile; + + /* upper cast */ + self = (C_AT91USARTDRV *)pDrvObj; + pChrFile = (C_CHRFILE *)pFileObj; + + return FILE_ERR_NG; +} + + +/* end of file */ diff --git a/aplfw/driver/serial/at91/at91uartdrv_write.c b/aplfw/driver/serial/at91/at91usartdrv_write.c similarity index 63% rename from aplfw/driver/serial/at91/at91uartdrv_write.c rename to aplfw/driver/serial/at91/at91usartdrv_write.c index 35bda85..b17bdc0 100755 --- a/aplfw/driver/serial/at91/at91uartdrv_write.c +++ b/aplfw/driver/serial/at91/at91usartdrv_write.c @@ -1,28 +1,28 @@ /** * Hyper Operating System Application Framework * - * @file at91uartdrv_write.c - * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ} + * @file at91usartdrv_write.c + * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ} * * Copyright (C) 2006-2007 by Project HOS * http://sourceforge.jp/projects/hos/ */ -#include "at91uartdrv_local.h" +#include "at91usartdrv_local.h" /** %jp{送信} */ -FILE_SIZE At91UartDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void *pData, FILE_SIZE Size) +FILE_SIZE At91UsartDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void *pData, FILE_SIZE Size) { - C_AT91UARTDRV *self; + C_AT91USARTDRV *self; C_CHRFILE *pChrFile; const unsigned char *pubBuf; FILE_SIZE i; int c; /* upper cast */ - self = (C_AT91UARTDRV *)pDrvObj; + self = (C_AT91USARTDRV *)pDrvObj; pChrFile = (C_CHRFILE *)pFileObj; pubBuf = (const unsigned char *)pData; @@ -33,12 +33,12 @@ FILE_SIZE At91UartDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void * for ( i = 0; i < Size; i++ ) { c = *pubBuf++; - while ( !(AT91UART_REG_READ(self, AT91UART_US_CSR) & 0x0002) ) + while ( !(AT91USART_REG_READ(self, AT91USART_US_CSR) & 0x0002) ) { if ( pChrFile->cWriteMode == FILE_WMODE_BLOCKING ) { /* ブロッキングなら送信割り込みを待つ */ - AT91UART_REG_WRITE(self, AT91UART_US_IER, 0x00000002); /* 送信割り込み許可 */ + AT91USART_REG_WRITE(self, AT91USART_US_IER, 0x00000002); /* 送信割り込み許可 */ SysEvt_Wait(self->hEvtSend); SysEvt_Clear(self->hEvtSend); } @@ -48,7 +48,7 @@ FILE_SIZE At91UartDrv_Write(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, const void * goto loop_end; } } - AT91UART_REG_WRITE(self, AT91UART_US_THR, c); + AT91USART_REG_WRITE(self, AT91USART_US_THR, c); } loop_end: