[펌웨어설계] 1. ARM Cortex-M CPU 소개

Sireal·2022년 2월 3일
0

펌웨어 설계

목록 보기
1/16

ARM-CortexM 프로세서 개요

  • 영국의 ARM회사에 만들어진 모바일 기기에 사용되는 CPU Core
    • ARM7부터 유명해짐.
    • 프로세서 설계 IP를 판매함.

ARM Cortex 시리즈

  • A 시리즈 : 가장 고성능 프로세서
    • 스마트폰 류
  • R 시리즈 : 고성능 RealTime 임베디드 시리즈
  • M 시리즈 : 마이크로 컨트롤러 시리즈
    • M0, M0+, M23 : 저가형 성능
    • M3, M4, M33 : 범용적 성능
    • M7 : 고가형 성능

STM32시리즈

  • ST 사에서 ARM코어 라이센스를 이용하여 만든 보드
    • ST사는 유럽에서 가장큰 반도체 회사
  • 파트넘버 확인 법 : STM32(코어이름)
    • STM32F429VIT6XXX
      • 프로덕트 타입 : F ( 범용 )
      • 디바이스 서브패밀리 : 429( USB OTG FS/HS, Camera Interface, Ethernet, LCT-TFT )
      • 핀카운트 : V ( 100 Pins ), ㅑ( 2048Kb FlashMemory )
      • LQFP : 4방향으로 핀들이 나란히 패키징 되어있다 라는 의미
  • ARM코어 시리즈들은 여러가지 슬립모드를 지원한다.
  • 핀 소개
    • V : 전원핀 ( VDD : 3.3V ), ( Vss : 접지를 연결하는 핀 )
    • P : GPIO 핀 _ 일반적으로 사용되는 입출력 핀
  • 프로세서 주요 내부블록
    • STM32F411RE의 내부블록도이다.
    • Core, 내장메모리, FMC(Flaxible Memory Controller, LCD인터페이스, TFT-LCD 컨트롤러, NVIC, EXTI, Clocks and Startup)
    • Core : ARM CoretexM4 32Bit
    • NVIC : Nested(중첩될수 있음), 동시에 발생하는 인터럽트를 놓치지 않는다는 의미.
      16개의 인터럽트 라인외 62개의 mask 가능한 인터럽트 체널을 가지고 있음.
    • EXTI : 외부 인터럽트를 처리하는 블록
      21개의 엣지 감지기능, 168개의 GPIO들이 외부 인터럽트 라인에 연결 가능.
    • Clock and Startup : 리셋상태에서 16MHz 오실레이터 사용가능
      4~25MHz의 ClockSource를 사용하여 이 Clock Source를 PLL입력으로 최대 100MHz의 CPU클럭을 만들어 사용 가능
      • CPU버스인 두개의 AHB를 지원.
        • 고속버스(AHB1,2): 최대속도 100MHz
        • 저속버스(APB1,2): 최저속도 50MHz
    • 메모리맵 : CPU가 메모리는 물론, 장착된 주변 장치를 제어하기 위한 레지스터의 주소들을 정리한 지도.
      • 32비트 CPU는 접근할 수 있는 주소공간 0x00000000 ~ 0xFFFFFFFF까지 사용 가능.
        • 여기서 일부 주소들을 장치들과 연동시켜 사용
      • ARM 버스규격 : CPU와 주변장치를 제어하는 레지스터 들은 ARM의 고유 인터페이스 버스인 AHB, APB에 연결 되어 있음.
        • AHB : 상대적 빠른속도의 주변장치에 연결(RAM, NAND플래시) , AHB1,2
        • APB : 보다 느린 속도의 주변장치에 연결(UART, KeyPad), APB1,2
      • SRAM 영역 : 0x00000000 ~ 0x3FFFFFF
profile
🚄계속 앞으로🚄

0개의 댓글

관련 채용 정보