안녕하세요...

EZ-PI 보드의 IDE 관련 회로도를 보시면...

A2 --> A0
A3 --> A1
A4 --> A2

에 연결되어 있습니다...

관련내용은 제공된  커널의 include/asm/arch/ide.h 를 참조하세요..


그럼 수고하세요..



>있어서요저는 ez-x5 보드와 ez-pi 보드를 이용하여 하드를 달아 파일 시스템을 구성하려고 합니다
>
>현재 데이터 시트에 나와있는 ide_cs0 를 이용하여 primary 하드를 연결하고
>
>접근하려고 하는데요..
>
>base :  0x080_0000 이고, offset이 0x10000 이므로
>
>ide 의 데이터 레지스터의 주소는
>
>0x810000이고,
>
>나가는 핀이 3개(a0,a1,a2)이므로 하위 00비트를 제외하고 레지스터 구성을 하여
>
>하위 2비트를 제외하므로 4비트씩 증가하고, 상위 3개의 비트를 레지스터 선택으로 사용하여
>
>000,001,010,011..이런식으로 진행될 거라 생각하여 다음과 같이 레지스터를 구성했는데
>
>#define HDD_DATA_REG            (*(short*)0x00810000)
>#define HDD_SECTOR_COUNT      (*(char*)0x00810004)
>#define HDD_SECTOR_NUMBER     (*(char*)0x00810008)
>#define HDD_CYLINDER_L          (*(char*)0x0081000C)
>#define HDD_CYLINDER_H          (*(char*)0x00810010)
>#define HDD_DRIVE_HEAD          (*(char*)0x00810014)
>#define HDD_STATUS              (*(char*)0x00810018)
>#define HDD_COMMAND            (*(char*)0x00810018)
>#define HDD_INST_REG            (*(char*)0x0081001C)
>
>다음과 같이 구성 하였습니다.
>
>그런데 예상 대로라면 HDD_COMMAND 라는 명령 레지스터에 값을 보내면
>
>EC ->정보를 얻어온다.
>
>이 명령으로 정보를 얻어오려하는데 반응이 없어서
>
>E0 -> 하드의 회전을 멈춘다
>
>를 사용하여 하드를 멈춰보려 했으나 반응하지 않아, 레지스터 주소가 잘못된거 같은데요..
>
>어디를 참조해야 하는지와... 주소가 틀렸다면 제 생각으로는 베이스 주소는 맞으나
>
>그 후의 레지스터가 잘못되었다고 생각합니다.
>
>주소가 어떻게 되나요?..
>