안녕하세요. 오늘은 STM32의 HAL라이브러리에있는 함수 __HAL_FLASH_PREFETCH_BUFFER_ENABLE();에 대해 알아보겠습니다.
- PREFETCH?
일단 알아보기전이 프리패치(PREFETCH)를 알아야 합니다.
PREFETCH는 메모리관리 정책으로 로딩할때 빠르게 명령어를 실행하려고 사용합니다.
이 글을 참고하면 좋습니다(https://forum.allaboutcircuits.com/threads/stm32-or-arm-in-general-usage-of-prefetch-buffer.175064/)
__HAL_FLASH_PREFETCH_BUFFER_ENABLE();?
FLASH PREFETCH BUFFER를 ENABLE하는 함수입니다.
선언은 아래처럼 되어있습니다.
#define __HAL_FLASH_PREFETCH_BUFFER_ENABLE() (FLASH->ACR |= FLASH_ACR_PRFTBE)
0x40022000 주소에 0x10을 넣는 의미입니다
FLASH_ACR 레지스터는 프리페치 및 하프 사이클 액세스를 활성화/비활성화하고 CPU 주파수에 따라 플래시 메모리 액세스 시간을 제어하는 데 사용됩니다.
끝
'STM32 > STM32' 카테고리의 다른 글
STM32 프로젝트 생성,빌드하기(STM32CUBEIDE) (0) | 2022.02.26 |
---|