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 의 도움말 파일 에서 직접 찾 을 수 있 습 니 다.
읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.