0. BOOT MODE란?
MCU가 전원을 받아 켜지거나 리셋될 때, SW을 실행할 위치와 방법을 결정하는 동작 모드다.
mcu핀 중에 boot0과 boot1핀이 있는데 이 두 개의 전압 레벨에 따라 결정된다
F103 (LQFT64) 기준 BOOT0은 60번핀에, BOOT1은 PB2인 28번 핀이다.
BOOT0과 BOOT1의 전압 세팅에 따라 Main flash memory, System memory, SRAM에 저장된다.
Main flash memory가 우리가 작성한 코드가 올라가는 영역이다.
system memory는 부트로더가 있는 영역으로 uart통신으로 바이너리 파일을 다운로드할 때 사용된다는데 잘 모르겠다
SRAM도 잘 모른다..
아무튼 main flash memory 영역으로 부팅하게끔 회로를 설계하면 된다.
1. 회로 설계
핀 헤더로 각 핀들을 점퍼(쇼트)시켜서 사용자 필요에 따라 부트 영역을 설정할 수 있게 설계했다.
기억력이 안 좋은 나를 위해 주석으로 디폴트로 어떻게 연결해놔야 할지도 작성해 뒀다.
각 2번핀들 boot0과 boot1은 mcu의 boot핀들로 연결된다.
10K 저항은 달라고 해서 달았다.
이쯤 되니 회로설계가 아니라 그냥 레고 조립설명서 보면서 레고 조립하는 기분..? 설계라는 단어를 쓰는 게 실례 같다.
'Balancing robot > HW' 카테고리의 다른 글
전원 회로 설계 : 개요 (0) | 2025.01.03 |
---|---|
LED 회로 설계 (0) | 2025.01.03 |
MCU 주변회로 설계 : SWD 회로 (1) | 2025.01.03 |
MCU 주변회로 설계 : Clock 회로 (0) | 2024.12.26 |
MCU 주변회로 설계 : 리셋회로 (0) | 2024.10.05 |