5. Bare Metal Programming On LPC1768 Microcontroller

윰지·2020년 9월 11일
0

ECU SW Programming

목록 보기
5/10

Pin Configuration

  • 사방으로 나와있는 PIN이 100개가 있다. 0번부터 번호가 매겨져 있다. port0부터 port5번까지 있다.(port는 32bit)
  • PIN에 대해서 어떤 포트에 해당되는 PIN이고 각각의 port에서 몇번 PIN이 할당되어 있느냐
  • pin 하나에 평균적으로 4가지 기능을 한다. 특정기능을 할 때는 다른 기능을 할 수 없다.
    • port0에 pin0 -> 실제 mapping되는 핀은 46번
    • port0에 pin1

Pin Connect Block

  • 주어진 Pin configuration에서 내가 PIN을 어떤 목적으로 어떻게 쓰겠다라는 것을 설정해줄 수 있는 방법을 제공하는 것 -> Register 세팅을 통해
  • PIN이 어떤 기능을 쓸거냐 PIN에 붙어있는 스위치들이나 회로의 특성을 설정해주는것
  • Configuration register control the muliplexers to allow connection between the pin and the on chip peripherals.
  • Pin connect block을 사용하려면 user manual을 참조하면 된다.

System(LPC1768 MCU) Control

  • system control block : 특정 디바이스에 관련된 기능이 아니라 LPC 전체 시스템의 기본기능을 설정, 초기화
  • system control block을 어떻게 초기화시켜주느냐에 따라서 같은 LPC라도 동작하는 방법이 달라질 수 있다.
  • 4가지의 기능에 대해서 MCU가 가지고 있는 여러가지 옵션이 있는데 자신한테 필요한 옵션을 선택하여 초기화시킴으로써 MCU가 계속 그 상태로 동작할 수 있게 하는것
  • System feature
    • Reset
    • Brown-Out Detection
      power(전압)가 일정 수준 이하로 떨어지면 interrupt를 날린다.
    • External Interrupt Inputs
    • Miscellaneous System Controls and Status
  • Each type of function has its own register(s)

LPC17xx library

  • System Control 관련 구조체와 함수들은
    core/cm3/lpc17xx.h
    core/cm3/system_lpc17xx.c
    core/cm3/system_lpc17xx.h
    에 정의
  • PINSEL 관련 구조체와 함수들은
    drivers/source/lpc17xx_pinsel.c
    drivers/include/lpc17xx_pinsel.h
    에 정의되어 있다.

General Purpose Input Output

  • Digital I/O ports
  • Direction control of individual port bits
  • All I/Os default to input with pull-up after reset
  • Accelerated GPIO functions
    • 값을 쓸 때 32bit를 한꺼번에 쓸 수 있고, 혹은 16bit를 한꺼번에 쓸 수도 있다.
    • GPIO registers are located on a peripheral AHB bus for fast I/O timing
  • Bit-level set and clear registers이 있다.
  • bit-banding을 지원한다.
  • GPIO pin description
  • 관련 구조체 및 함수의 정의
    drivers/source/lpc17xx_gpio.c
    drivers/include/lpc17xx_gpio.h
    에 정의

0개의 댓글