HAL할 드라이버와 LL드라이버 뜻은 뭔가요?
3902
작성한 질문수 7
HAL할 드라이버와 LL드라이버 뜻은 뭔가요?
이 부분에 대해 설명이 없습니다
답변 1
1
안녕하세요.
HAL은 Hardware Abstraction Layer 의 약자이고
LL은 Low Level 의 약자입니다.
마이크로컨트롤러를 동작시키기 위해서 칩 내부에 고유의 주소를 갖는 레지스터에 어떤 값을 읽거나 쓰는 작업을 해야하는데,
과거 8bit MCU의 경우는 레지스터 종류도 적고 간단해서 데이터시트를 직접 찾아보며 프로그램 작성이 가능한 수준이었습니다.
하지만 32bit MCU는 워낙 방대하고 복잡한 레지스터를 가지고 있어서 사용자가 일일이 데이터시트를 찾아보며 구현하기엔 생산성이 떨어지고 time to market이 오래걸리는 문제가 있습니다. (CubeMX 같은 GUI를 제공해주는 것도 같은 이유입니다.)
따라서 칩 제조사에서는 자사의 MCU를 빠르고 쉽게 사용할 수 있도록 레지스터와 통신 함수등을 제공해주기 시작했는데, 그 종류가 HAL과 LL이 있는겁니다.
이 둘의 차이점은 LL은 아주 기본적인 하드웨어레벨 함수등을 제공해주지만, 함수 내부 구조가 단순하고, HAL은 응용어플리케이션 함수까지 제공해주지만, 함수 내부 구조가 복잡하고 흐름 파악이 어렵습니다.
비행승인 문의드립니다
0
37
0
드론의 M4 모터가 느리게 작동합니다.
0
63
2
STM32CubeIDE 관련해서 질문이 있습니다.
0
91
2
while문 루프 속도
0
60
2
변수 선언
0
51
2
FS-i6를 꺼도 LED 토글되는 이유
0
67
2
Fs-i6 i-bus 수신 데이터 이상
0
109
3
3-4. UBX 위도 경도 정보 Terminal에서 깨짐 현상
0
88
2
3-4. LED 토글 안됨
0
50
1
3-1. M8N GPS 강의 통신 연결 관련 문의
0
78
1
2-3. LPS22HH 강의 수행값이 아두이노 IDE Plotter 및 Terminal에서 인식 안됨
0
77
2
6-4 SwC 2000
0
103
2
6-4 ESC Calibration
0
68
1
esc, 모터 교체
0
111
2
부저 소리가 안납니다.
0
134
2
비행 질문
0
63
1
7-5. offset
0
75
2
sysmem.c
0
74
2
전체 제어의 주기를 1KHz로 설정한 이유가 궁금합니다.
0
89
2
부품 구매 관련 문의
0
65
1
PID 게인 문제
0
84
3
3d telemetry cp210x 연결
0
122
2
8-1. 3DR Telemetry HAL_UART_Receive_IT(&huart1, &uart1_rx_data, 1); 관련 문의
0
71
2
PID제어 질문
0
124
2





