모토로라 S08
Motorola S089S08 (68HCS08 또는 줄여서 S08)은 모토로라가 원래 생산한 8비트 마이크로컨트롤러(µC) 제품군이며, 이후 프리스케일반도체가 생산하고,[1] 현재 NXP가 모토로라 6800 마이크로프로세서의 후손이다.그것은 CISC 마이크로컨트롤러다.68HC08의 약간 확장된 변종으로서, 그것은 노령화된 68과 상향 호환성을 공유한다.HC05 마이크로컨트롤러, 거의 모든 종류의 임베디드 시스템에서 발견된다.대형 회원은 주소 공간의 16KiB를 은행 교환할 수 있는 간단한 MMU를 통해 최대 128KiB의 플래시와 8KiB의 RAM을 제공하며, 어떤 주소에서든 데이터를 가져올 수 있는 주소/데이터 레지스터 쌍을 제공한다.페이징 방식은 이론적으로 최대 4MB의 플래시를 허용한다.[2]
MMU 장착형 변형은 페이징 메모리에 배치된 서브루틴을 처리할 때 각각 JSR과 RTS 대신 사용되는 CAL과 RTC라는 두 개의 추가 CPU 지침을 제공하여 페이지 대 페이지 서브루틴 통화를 직접 허용한다.단일 원자작전에서 Call 저장과 RTC는 PC뿐만 아니라 하나의 추가 주소 바이트인 PPAGE(프로그램 페이지) 바이트도 복원한다.이 추가 바이트 때문에, 그리고 또한 스택의 균형을 유지하기 위해서, 동일한 메모리 페이지에 존재하더라도, RTC로 끝나는 서브루틴은 항상 Call로 호출되어야 한다.
내부적으로 9S08 명령 집합은 6805와 상향 호환되며 스택 인덱스 주소 지정 모드를 추가한다.(SP 레지스터를 사용하는 지침에는 바이트 0x9E가 접두사로 되어 있는 opcode가 있다.)단일 8비트 축전지, A, 16비트 인덱스 레지스터 1개, HX(하반부, X는 6805 호환지시에 의해 분리하여 사용됨), 상태 코드 레지스터, 16비트 스택 포인터, 프로그램 카운터를 갖추고 있다.H 레지스터가 없는 6805와의 호환성을 위해 리셋 시 HX 레지스터의 가장 중요한 바이트인 H가 지워지고, ISR(Interrupt Service Routine)을 입력할 때 H 레지스터가 자동으로 쌓이지 않는 유일한 레지스터다.[3]: 81 6805와 달리 스택은 적절한 지침을 사용하여 메모리의 어느 곳에나 배치할 수 있다.
9S08 제품군을 프로그래밍하거나 디버깅하는 표준 방법은 표준 6핀 BDM 인터페이스를 통해 이루어진다(마이크로컨트롤러와의 통신에는 1핀만 사용된다).
다양한 멤버 및/또는 패키지에 다양한 주변 장치를 사용할 수 있다.SCI, SPI, 8/10/12비트 A/D, (C)PWM, 입력 캡쳐, 출력 비교는 대부분의 회원에게 공통적으로 적용되지만 외부 버스는 이용할 수 없다.일부 구성원은 CAN 컨트롤러가 내장되어 있다.
컴파일러 지원
S08은 부분적으로 C 컴파일러 SDCC와 CodeWarrior에 의해 완전히 지원된다(예: MMU 지원 없음.
참조
이 글은 검증을 위해 인용구가 추가로 필요하다. – · · 책 · · (2013년 3월) (이 템플릿 하는 |
- ^ "NXP Semiconductors Automotive, Security, IoT". www.nxp.com. Retrieved 2021-02-18.
- ^ Viramontes, Eduardo; Li, Rick (May 2008). Understanding Memory Paging in 9S08 Devices (PDF) (Application Note). Rev. 0. Freescale Technical Support. AN3730.
- ^ HCS08 Family Reference Manual (PDF). Rev. 2. Freescale Semiconductor. May 2007. HCS08RMv1/D.