임베디드

17. 데이터시트 보고 코드 확인

sdafdq 2026. 2. 4. 12:50

레퍼런스 메뉴얼

 

자료만 1136 페이지 라고 함.

 

제대로 공부하려면 다 읽어야 하겠지만, 솔직히 힘듦.

 

그래서 키워드 검색.

우리가 

#define __HAL_FLASH_PREFETCH_BUFFER_ENABLE()    (FLASH->ACR |= FLASH_ACR_PRFTBE)

이걸 분석해보려고 하는 거니까,

우선 

FLASH->ACR |= FLASH_ACR_PRFTBE

이거를 구현해보려고 하는 거니까,

 

키워드로 일단 검색.

 

나옴.

 

base address

기본 주소번지가 같음.

4byte씩 쓰면서

0x40022000 ~ 0x40022003까지 사용.

 

typedef struct
{
  __IO uint32_t ACR;
  __IO uint32_t KEYR;
  __IO uint32_t OPTKEYR;
  __IO uint32_t SR;
  __IO uint32_t CR;
  __IO uint32_t AR;
  __IO uint32_t RESERVED;
  __IO uint32_t OBR;
  __IO uint32_t WRPR;
} FLASH_TypeDef;

이거랑 같음.

 

 

무슨 설명 있음.

The FLASH_ACR register is used to enable/disable prefetch and half cycle access, and to
control the Flash memory access time according to the CPU frequency. The tables below
provide the bit map and bit descriptions for this register.

 

FLASH_ACR 레지스터는 프리페치 및 반주기 액세스를 활성화/비활성화하는 데 사용됩니다.
CPU 주파수에 따라 플래시 메모리 액세스 시간을 제어합니다. 아래 테이블
이 레지스터에 대한 비트맵과 비트 설명을 제공하십시오.

 

저거는 미리접근이나 반사이클 접근을 활성화/비활성화 하는데 사용.

CPU주파수에 따라 플래시 메모리 엑세스 시간 제어.

아래 테이블에서 각 비트에 대한 설명 제공.

기존에 0001 에서 왼쪽으로 4칸 밀었으니까,

1 0000

그거는 PRFTBE, 프리패치 버퍼 상태.

저걸 키고 끄는 거 구나.

 

 

 

 

 

'임베디드' 카테고리의 다른 글

19. GPIO 옵션 (입력) Pull up, Pull down (불완성)  (0) 2026.02.08
18. GPIO 옵션 (출력)  (0) 2026.02.05
16. 구조체  (0) 2026.02.04
15. HAL 드라이버 분석  (0) 2026.02.03
14. GPIO 제어  (0) 2026.02.03