[Uclinux-h8-devel] Re: eCos開発環境/CFターゲットボード

Back to archive index

Yoichi Koyanagi yk****@tinyw*****
2004年 1月 15日 (木) 15:51:28 JST


こんにちは。小柳です。
パッチを取り込んでいただきありがとうございました。

> > eCos/uClinux共に、aki3068 の IDEまわりのソースは H8MAX と比べてちょっと
> > 修正が遅れているようにみうけられたので、eCos の cvs に施した修正を
> > 下記につけますので、もしよろしければご参照ください。
> 
> ありがとうございます。すこし手を入れて取り込みました。
> あいかわらずテスト環境がないので、動作確認できていません。

最新の CVS で試してみましたが、DISKを動作させるのにもうあとちょっと
修正が必要でしたので、下にdiffをつけました。
1. ide_init() で HAL_IDE_INIT() の戻り値を num_controller に代入
   するようになっていますが、aki3068net_ide_setup() の戻り値は void
   なので、コンマ式でHAL_IDE_NUM_CONTROLLERSを返すようにしました。
2. aki3068net_read_command() は D[7:0] を読むので、byte access
   (奇数アドレスなので)に直しました。

Index: packages/hal/h8300/aki3068net/current/include/plf_io.h
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/h8300/aki3068net/current/include/plf_io.h,v
retrieving revision 1.2
diff -c -r1.2 plf_io.h
*** packages/hal/h8300/aki3068net/current/include/plf_io.h      26 Dec 2003 16:34:12 -0000      1.2
--- packages/hal/h8300/aki3068net/current/include/plf_io.h      14 Jan 2004 08:25:36 -0000
***************
*** 62,68 ****
  #define HAL_IDE_NUM_CONTROLLERS 1
  
  // Initialize the IDE controller(s).
! #define HAL_IDE_INIT() aki3068net_ide_setup()
  
  #define HAL_IDE_READ_UINT8( __ctlr, __regno, __val )  \
      aki3068net_read_command(__regno, &(__val))
--- 62,68 ----
  #define HAL_IDE_NUM_CONTROLLERS 1
  
  // Initialize the IDE controller(s).
! #define HAL_IDE_INIT() (aki3068net_ide_setup(), HAL_IDE_NUM_CONTROLLERS)
  
  #define HAL_IDE_READ_UINT8( __ctlr, __regno, __val )  \
      aki3068net_read_command(__regno, &(__val))
Index: packages/hal/h8300/aki3068net/current/src/plf_ide.c
===================================================================
RCS file: /cvsroot/ecos-h8/ecos/packages/hal/h8300/aki3068net/current/src/plf_ide.c,v
retrieving revision 1.2
diff -c -r1.2 plf_ide.c
*** packages/hal/h8300/aki3068net/current/src/plf_ide.c 26 Dec 2003 16:34:12 -0000      1.2
--- packages/hal/h8300/aki3068net/current/src/plf_ide.c 14 Jan 2004 08:25:37 -0000
***************
*** 82,88 ****
  #if CYGHWR_HAL_IDE_BUSWIDTH == 8
      *d = *(volatile cyg_uint8 *)(CYGHWR_HAL_IDE_REGISTER + r);
  #else
!     *d = *(volatile cyg_uint16 *)(CYGHWR_HAL_IDE_REGISTER + (r << 1) + 1);
  #endif
  }
  
--- 82,88 ----
  #if CYGHWR_HAL_IDE_BUSWIDTH == 8
      *d = *(volatile cyg_uint8 *)(CYGHWR_HAL_IDE_REGISTER + r);
  #else
!     *d = *(volatile cyg_uint8 *)(CYGHWR_HAL_IDE_REGISTER + (r << 1) + 1);
  #endif
  }
  



Uclinux-h8-devel メーリングリストの案内
Back to archive index