TIUSB의 링커 관련 문제

M

maheshpeddi

Guest
안녕 모두,사양은 말합니다
칩에서는 TIUSB3410의, 모드에서 정상 작동 10K ROM이 공간이 코드는 매핑 0x8000 - 0xA7FF)에 (.내부 16K RAM은 우주의 코드)에 0x3FFF는 주소 범위를 (0x0000 매핑합니다.버퍼, MMR, 및 I / O는 공간 데이터) 0xFFFF중인 주소 범위를 (0xF800 매핑된 -.

동안 소스 코드 건물 TIUSB3410 오류를 다음과 내가 점점.

오류 [e16]가 : 세그먼트 IDATA_Z (크기 : 0x1d9가 정렬 : 0)를 정의 세그먼트에 대해 너무 깁니다.적어도 더 0x154 바이트가 필요했습니다.- FF로 "B의 : 문제가 발생하는 동안 처리 세그먼트 배치 명령을"-부터 Z (iData) 순간의 배치 가능한 IDATA_I = IDATA_N IDATA_Z, 08 - _IDATA_END의 "에서, 메모리 범위가되었습니다"iData을
예약이 게재 위치에 관련된 범위 :
iData은 :8 - f 옵션 VREG
iData :10 - 19 DATA_Z
iData : - 1a의 1 층 IDATA_I
iData :21 - FF로 IDATA_I
비트 :0 - 7 BREG
비트 :90 - 97 SFR_AN
비트 : B0 - B7 SFR_AN

사양 TIUSB3410의 후 독서를 통해, 나는 스크립트를 수정 링커 다음과 같습니다.

내가 XData를 정의 코드, IXData '시작'과 '은 다음과 끝'?

코드 - 0x0000 - 0x3FFF
XDATA - 0xF800 - 0xFFFF
IXDATA - 0xF800 - 0xFFFF

같이 pData를 정의???이것에 대해 확실하지
- D_PDATA_START = 첫 번째 주소에 대한 pData 메모리 / 0x0000 /
0x00FF / / 마지막 주소에 대한 pData 메모리 = - D_PDATA_END

같이있는 파일은 다음 나머지 부분은

/ / 특별 SFRs
/ / ------------
/ / 코드 은행 설정
- D_FIRST_BANK_ADDR = 0x10000
- D_NR_OF_BANKS = 0x10
/ /
/ / 등록 은행 설정
/ /
- D는? REGISTER_BANK = 0 / / 기본 등록 은행 (0,1,2,3).
- D_REGISTER_BANK_START = 기본 등록 은행 (00,08,10,1 0 / / 시작 주소

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="시원한" border="0" />

.
/ /
/ / pData 설정 페이지
/ /
바이트의 16 비트 주소로 pData 영역 높이 = 0F / / PBANK_NUMBER - D는?
PBANK = A0 / / 가장 중요한 바이트가 MOVX? - 디, @ R0.(0xa0을)입니다 SFR P2
PBANK_EXT = 0xEA / / 가장 중요한 바이트가 MOVX? - 디, @ R0.(0xEA) 달라스되는 경우 DS80C390
/ /
/ / Virtuel 설치 프로그램을 등록
/ /
/ / / - D_NR_OF_VIRTUAL_REGISTERS = 0x20
- D는? VB에서 = 20 / / 바이트로 BREG하는 데 사용을 참조하십시오.
/ /
/ /
////////////////////////////////////////////////// //////////////////////////////

/ / 포함 lnk_base 명령 파일
/ / =================================
- f 옵션 lnk_base.xcl

나는 새로운 오전 8051 IAR 스크립트를 연결했다.그래도 난 읽으 8051 컴파일러와 링커 매뉴얼 IAR에서 제공하고 위에서 언급한 수있는 올바른 일부 부품 링커으로 매개 변수를.제발 지금 뭐하고있어 그것을 보자 나는 알고 날.

감사합니다
마헤쉬

 

Welcome to EDABoard.com

Sponsor

Back
Top