kevin wrote..
: 아래에서 질문했던 사람인데요 다시 질문합니다. ^^;
: jtag를 이용하면 bypass는 통과가 되구요 cpu ID까지 읽어 오는데요
: 플래쉬 아이디를 못읽네요!

흠 이런 경우는 기본적인 플래쉬 입출력에 문제가 있는 겁니ㅏ.

: 소스를 보면 DQ0~DQ15까지 16bit버스로 사용한다고 되어있는데
: 저처럼 E28F128J3A이 아닌 E28F640J3A을 2개 사용한다면 DD1~DD31까지
: 32bit버스를 사용하는거 아닌가요? 그렇다면 소스자체를 16bit버스가 아닌
: 32bit로 수정 해야 되나요?

예 32bit 로 수정해야 합니다.


:
: 참 그리구 저번 질문에서 버퍼 문제일수 있다고 하셨는데 소스에서
: IntelFlashID 에다가 강제루 0x0089를 쓰구 IntelFlashType에두 E28F640J3A를
: 선택하기 위해서 0x0017로 설정을 하구서 플래쉬의 LOCK 상태를 읽는 부분에
: 16bit 버스 설정을 32bit버스로 설정하니까 write가 되긴 하더라구요 물론
: 보드가 제대로 동작하지는 않구요! write가 되면 버퍼 문제는 아니죠?

글쎄요.. 이부분은 자신있게 말씀드리기가 그렇군요

일단 ID 를 읽어야만 버퍼 문제가 아니라고 할수 있죠..

그리고 ezflash 를 작성한것이 엄청 오래(?)되서
16비트 읽는 부분이 어떻게 된지 잘 기억이 나지 않지만
( 전 옛날 소스를 잘 안 들여다 보는 습관이 있읍니다. ^^ )

얼핏 기억에 최소한 반쪽이라도 읽혀야 할듯...
물론 어드레스 매핑쪽은 바꾸셔야 합니다.

현재 이지플래쉬 소스에서 16 비트 플래쉬를 32 비트 플래쉬로
바꾸시려면 다음 사항을 수정하셔야 할 겁니다.

아니면 kelp 사이트에 가시면 32비트용 플래쉬 라이트 프로그램을
누가 올려 놓았던 기억이( 보장 못함 )

1) 어드레스 설정하는 부분 : A1 까지 제어하던것을 A2 까지만 제어로 수정
2) 플래쉬 명령 이중화 : 인텔플래쉬 두개 붙일 경우
16 비트 명령이라면 ( 명령이 기억이 나지 않으므로 )
0xAA33 이라는 명령을 썼다면
0xAA33AA33 이런식으로 처리

또한 상태 읽을때도 두개를 동시 인식으로 처리
3) 버퍼 32 비트 단위로 바꿈
: 16비트로 관리하던 데이타 버퍼의 크기를 32비트
단위로 바꾸어야 함

대충 이정도 인데요..

jflash 가 아마도 32 비트 일겁니다. 그걸 패치하시는 것이 빠르지 않을까요?