[펌웨어설계] 16. 단위별 디바이스 드라이버 설계

Sireal·2022년 2월 11일
0

펌웨어 설계

목록 보기
16/16
  • RTOS : 임베디드시스템에서 사용하는 OS
    • 실시간성을 중요시 여기는 OS
    • OS 종류 : VxWorksm Nucleus, freeRTOS(무료)

HAL 시스템 초기화 드라이버(API)

    1. 클럭 Init : 시스템 초기 구동을 위해 클럭과 관련된 HAL API 함수를 정리해야함.
    1. GPIO용 Init 해줘야함
    1. NVIC(인터럽트), SysTick타이머 Init 해줘야함
    1. PWR(Power) 드라이버로 전원관리를 위해 Init
    1. EXTI (외부 인터럽트) Init

HAL 사용 모델

  • HAL 드라이버에 전형적인 사용모델이 나눠져있음.
  • 기본적으로 사용자 파일, DMA 사용장치의 인터럽트 핸들러에서 호출

HAL 입출력 프로세스

  • 폴링모드 : 아무것도 안건든모드, default
    • 블로킹 모드이다.
    • 함수 수행이 끝날때 까지 멈춰있음_ timeout이 있으며(NVIC,DMA와 다르게) 지정된 시간이 지나면 다른것이 돌아감.
  • 인터럽트모드 : NVIC
    • 인터럽트 핸들러에서 호출된 콜백함수가 호출되어 실행됨
  • DMA모드 : DMA
    • CPU를 대신해서 정해진 일을 수행하는 하드웨어 블록
    • DMA 인터럽트 이용
profile
🚄계속 앞으로🚄

0개의 댓글

관련 채용 정보