PIC 코드에 대한 Adress 범위를 지정하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1427415

  •  07-07-2019
  •  | 
  •  

문제

나는 pic16에 claudiu chiculitas tiny bootloader를 사용하고 싶지만 (내 칩에 맞게 modyfied), 그 부트 로더는 부트 로더를 덮어 쓰는 것을 방지하기 위해 코드를 움직이지 않기 때문에 부트 로더가 덮어 쓰지 않은 것을 수동으로 알아야합니다. 다음과 같은 -ROM 옵션을 사용하려고했습니다.

--rom=default,-0-4,-3f00-3fff

내가 원하는 것은 : 코드 메모리의 첫 4 단어에 코드가 없음, 부트 로더로의 점프가있는 곳이기 때문에 실제 부트 로더가있는 곳이기 때문에 마지막 128 단어의 코드가 없기 때문입니다. -내가 사용하는 것처럼 아무것도하지 않습니다. Hi-Tech PICC STD 컴파일러 (Microchip picmicro) v9.60pl3을 사용하고 있으며 칩은 PIC16F876A입니다.

도움이 되었습니까?

해결책

사용자 정의 링커 스크립트로이를 수행 할 수도 있습니다. 일반적으로 링커 스크립트는이 라인을 포함하여 재설정 벡터를 먼저 놓고 코드 ( "페이지"라는 페이지에있는 페이지에)를 포함합니다.

CODEPAGE   NAME=vectors    START=0x0            END=0x29           PROTECTED
CODEPAGE   NAME=page       START=0x2A           END=0x7FFF

Microchip의 FSDEM 보드 (0x0-0x800 범위를 차지하고 프로그램이 0x800에 자체 벡터가있을 것으로 예상)에 사용되는 부트 로더의 경우 링커가 0x800 이하로 사용되는 것을 방지하는 아래 줄로 대체됩니다.

CODEPAGE   NAME=boot       START=0x0            END=0x7FF          PROTECTED
CODEPAGE   NAME=vectors    START=0x800          END=0x0x829        PROTECTED
CODEPAGE   NAME=page       START=0x82A          END=0x7FFF
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top