STM32/STM32

STM32-HAL라이브러리 __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); 알아보기

원원 2022. 6. 10. 01:18

안녕하세요. 오늘은 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