C 언어 중"at()"특수 주소 포 지 셔 닝 상세 설명

1367 단어 C 언어“ at()”
C 언어 중"at()"특수 주소 포 지 셔 닝 상세 설명
keil 에 서 는 하나의 변수 나 상수 를 지정 한 주소 로 지정 하 는 특수 주소 로 지정 하 는 명령 이 있 습 니 다.
명령 은at,사용 방법 은 다음 과 같다.

int variable __at(0x8000) = 100;
variable 변 수 를 0x 8000 주소 로 지정 한 다 는 뜻 입 니 다.
명령 의 목적 은 링크 기 에 지정 한 주 소 를 특정한 주소 로 지정 하 는 것 을 알려 주 는 것 이다.이 기능 을 사용 할 때 주의해 야 할 것 은 주소 의 범 위 는 싱글 칩 마이크로컴퓨터 의 데이터 시트 에 부합 되 어야 한 다 는 것 이다.
주소 가 플래시 의 최대 범 위 를 초과 하면 프로그램 에서 이 값 을 얻 을 수 없습니다.예 를 들 어 256 K 플래시 칩 이 기능 을 사용 하고 있 습 니 다.at 명령 을 할 때 주 소 는 256*1024 를 초과 하지 마 세 요.그렇지 않 으 면 이 변 수 를 찾 을 수 없습니다.
다음은 MB9AF 310 시리즈 칩 을 예 로 들 어 칩 의 플래시 가 메모리 에 비 치 는 것 에 대해 이야기 하 겠 습 니 다.

그림 과 같이 플래시 는 0x 0000000 이라는 주소 에 매 핑 되 어 0x 00100000 으로 끝 났 지만 구체 적 인 칩 의 플래시 가 얼마나 큰 지 봐 야 한다.이 주 소 는 310 시리즈 칩 의 주소 매 핑 일 뿐 실제 주 소 를 초과 하면 변 수 를 찾 을 수 없다.
keil 의 링크 기 는 마지막 으로 변 수 를 파일 을 만 드 는 해당 주소 에 넣 습 니 다.녹음 할 때 BIN 파일 이 라면 파일 의 바이트 주 소 는 플래시 주소 와 일일이 대응 합 니 다.사용자 가 정의 하 는 변 수 는 해당 플래시 의 물리 적 주소 에 녹 음 됩 니 다.이상 은 모두 MMU 가 없 는 상황 에서 주소 맵 에 대한 설명 입 니 다.MMU 를 사용 하면 상황 이 다 를 수 있 습 니 다.가상 주소 가 한 층 더 생 겼 기 때문에 실제 적 으로 을 사용 할 수 있 습 니까?at 지령,나 도 모 르 겠 어.후속 필 자 는 계속 연구 할 거 야.at 명령 의 설명 은 keil 의 도움말 파일 에서 직접 찾 을 수 있 습 니 다.
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기