기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

[질문]MP2530F+WinCE+LAN91C111

안녕하세요.

저는 MP2530F에 MES의 WinCE BSP(1.1.2)를 쓰고있습니다.
이번 개발 제품에 100M LAN이 필요해서 LAN91C111 칩을 써서 회로를 만들었습니다.

AESOP에서 공개하신 BSP#2를 참고로해서 LAN91C111 device driver를 제가 쓰는
BSP(1.1.2)에 포함시켜서 컴파일에 성공했습니다..^^
여기까지는 좋았는데, 부팅 중에 LAN91C111 칩을 인식하고 MiniPort 관련 동작을
하다가 DataAbort가 자꾸나더군요.
(AESOP의 BSP는 내려받은 그대로 돌렸을때 문제가 없더군요.)

질문입니다.
- AESOP BSP의 "platform.reg"의 LAN91C113 관련에서,
"IoBaseAddress"=dword:B0300300
에서 "B0300300" 값이 어디서 나온 것인지 알고싶습니다.
virtual address 같은데, BSP를 뒤져봐도...근거를 못찾겠네요.
이 부분(virtual address)이 제 BSP와 맞지 않아서 에러가 나는거 같습니다.

다음은 제가 해결한 방법입니다.
-환경
1.LAN91C111은 MP2530F의 nSCS[1]에 연결됨.
2."OEM_SYSTEM_MAIN.h"에서 "#define SYSTEM_EXTETHER_PHY_BASEADDR_ETHER      0x84000000"
3."OEM_ADDRESS_TABLE.h"에서 "0x90300000,  0x84000000,  1,  // nSCS1"
로 MES에서 제공한 그대로 입니다.
4.기타 KITL에서 LAN91C111 드라이버 관련 잡다 수정. AESOP BSP 참조함.

-수정
1."LAN91C111_Init.C"에서(LAN91C111_MiniportInitialize" 내부, line 180)
#elif 1      <<<<==== '0'을 '1'로 수정
   #pragma message( "-- WARNING: Change the IO BASE ADDRESS for VirtualAlloc/VirtualCopy functions in LAN91C111_Init.C")
   lpIOBase = VirtualAlloc(0, 0x1000, MEM_RESERVE, PAGE_NOACCESS);
   RetVal = VirtualCopy(lpIOBase, (LPVOID)((Adapter->IOBase)/256), 0x1000, PAGE_PHYSICAL | PAGE_READWRITE | PAGE_NOCACHE);
   if (RetVal == TRUE)
      PrintDebugMsg(ZONE_INIT, (TEXT("LAN91C111: VirtualAlloc/Copy Succeeded...........rn")));
   else
      PrintDebugMsg(ZONE_INIT, (TEXT("LAN91C111:ERROR : VirtualAlloc/Copy Failed...........rn")));
   Adapter->IOBase = (UINT)lpIOBase + 0x300;
#else
2."platform.reg"의 LAN91C113 관련에서,
"IoBaseAddress"=dword:84000000

(virtual address를 IoBaseAddress에 직접 주지 않고, physical address로 kernel에서
virtual address를 할당받는 방법으로 알고있습니다.)

제가 수정해서 적용한 내용이 맞는지 검토해 주시면 감사하겠습니다.
WinCE를 시작한지 얼마 안되어서 동작을 잘 모르는데 여기서 많이 배워갑니다. ^^;

유형목

2008.05.17 22:27:00
*.41.109.56

다른건 잘 모르겠고, lan91c111 및 lan91c113 모델은 이미 단종되었습니다.

몇십대 생산하고 말게 아니라면 smsc9115 혹은 smsc9215 칩으로
바꾸시길 권장합니다.

한영민

2008.05.17 23:31:50
*.14.30.76

Build Option 확인 하십시오.

^^...

조석빈

2008.05.22 06:01:31
*.145.183.155

감사합니다..
제가 수정한 부분이 맞는지는 테스트 중입니다..^^
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
5008 [완료] FAT16에서 특정부분으로 가려고 하는데, 속도가 딸립니다. [6] 이세종 2008-05-13 664
5007 [질문] nand flash의 bad발생때문에 고민입니다. [3] 오대광 2008-05-14 643
5006 오픈소스 arm porting 관련 사이트가 있나요? [2] 정재용 2008-05-14 835
5005 [질문] SDL_image 설치 질문 <= [완료] [7] 윤창준 2008-05-15 1263
5004 임베디드 보드 개발 의뢰를 할까 합니다 [20] 김형섭 2008-05-15 1084
5003 2440 TFT-LCD.? [1] 손성원 2008-05-16 867
5002 [re] 2440 TFT-LCD.? <== 다시 수정요 [1] 손성원 2008-05-16 726
5001 [re] 2440 TFT-LCD.? <== 다시 수정요 [1] 손성원 2008-05-16 597
5000 [완료]interrupt에 대해서 한가지 여쭤봅니다. [2] 김경식 2008-05-16 733
4999 [re] [질문] 2530F 에서 Serial 쓸려면? [1] 고현철 2008-05-16 547
4998 [질문:한번더 봐주세요] kernel 2.6.10 yaffs 파일 시스템 사용하는... [3] 장계석 2008-05-16 852
» [완료]MP2530F+WinCE+LAN91C111 [3] 조석빈 2008-05-17 991
4996 [완료]mp2530 smp 커널 쓸수 있나요? [2] 황호랑 2008-05-18 558
4995 [완료] 보드 부팅시 Kernel Panic이 발생합니다. [1] 이세종 2008-05-18 879
4994 [완료] SD Card 인식 [4] 송의석 2008-05-18 770
4993 [완료]mp2530 보드에서 코어 두개를 활용해서 개발할만한 어플? [2] 황호랑 2008-05-19 630
4992 [완료]aesop2530 보드 lcd 질문.. [2] 황호랑 2008-05-19 648
4991 저기 혹시 DivX 플레이어 소스를 어디서 구할수 있는지 아시는 분... [1] 손성원 2008-05-19 702
4990 [질문]레지스터 세팅에 관한 질문 [1] 문철민 2008-05-19 633
4989 webcam driver관련 질문입니다. [3] 정원 2008-05-19 1047

사용자 로그인