1. 아두이노 IDE 설치

: 아래 링크에서 사용자 환경에 맞는 버전 다운로드 및 설치

 

2. 아두이노 IDE 실행

 

3. ESP32 Boards Manager 주소 설정

: 아래 링크에서 최신 버전 확인

 

File - Preferences

 

Additional boards manager URLs:

 

위에서 확인한 Boards Manager 최신 버전 주소 기입

4. ESP32 Boards Manager 설치

Tools - Board - Boards Manager - ESP32 설치(아래는 이미 설치된 사진)

 

5. ESP32 Boards 설정

Tools - Board - esp32 - ESP32 Dev module 선택하면 아래와 같이 보드 정보가 나옴

 

6. 시리얼 드라이버 다운로드

: 처음 사용시 아래 드라이버를 설치해야 하므로 아래 링크에서 사용자 환경에 맞는 드라이버 다운로드

 

 

찾아보기 - 다운로드 받은 폴더 지정

 

- 설치가 완료 되면 아래와 같이 확인 가능

 

- 장치 관리자에서 확인한 COM 포트를 아두이노 IDE에서 포트 설정

 

사용하기 위한 환경 설정 완료

 

 

1. ESP32

: ESPRESSIF의 ESP32는 저전력 마이크로컨트롤러(Microcontroller) 칩

- Wi-Fi와 Bluetooth 포함한 무선 통신 가능

- 다양한 주변장치 인터페이스를 포함. GPIO 및 I2C, SPI, UART 등의 통신 인터페이스 지원.

- ESP32는 ESP8266의 후속 모델로 더 강력한 성능과 더 많은 주변장치 인터페이스를 제공

- ESP32는 듀얼 코어(Two-core) 프로세서로 구성되어 있어 병렬 작업을 수행할 수 있으며, 주파수는 최대 240MHz까지 동작

- 저렴한 가격에 IoT를 구현할 수 있어서 인기가 많음

 

1-1. 제품군(Modules)

- ESP32 SoCs를 기반으로 플래시 메모리 등을 추가 하여 모듈을 만들어 판매함

- 대표적으로 ESP32-WROOM-32가 있음

https://www.espressif.com/en/products/modules

 

ESP Modules | Espressif Systems

Modules Espressif offers a wide range of fully-certified Wi-Fi & Bluetooth modules powered by our own advanced SoCs

www.espressif.com

 

(1) ESP32-S2 Modules

: 32-bit MCU & 2.4 GHz Wi-Fi

Board
Chip Embedded
Dimensions (mm)
Flash (MB)
PSRAM (MB)
Antenna
Development Board
ESP32-S2-MINI-2
ESP32-S2FH4
ESP32-S2FN4R2
15.4×20×2.4
4
N/A
2
PCB antenna
ESP32-S2-DevKitM-1
ESP32-S2-MINI-2U
ESP32-S2FH4
ESP32-S2FN4R2
15.4×15.4×2.4
4
N/A
2
IPEX antenna connector
ESP32-S2-DevKitM-1
ESP32-S2-SOLO-2
ESP32-S2
ESP32-S2R2
18x25.5x3.1
4
N/A
2
PCB antenna
ESP32-S2-DevKitC-1
ESP32-S2-SOLO-2U
ESP32-S2
ESP32-S2R2
18×19.2×3.2
4
N/A
2
IPEX antenna connector
ESP32-S2-DevKitC-1
ESP32-S2-MINI-1
ESP32-S2FH4
ESP32-S2FN4R2
15.4×20×2.4
4 MB embedded in chip
N/A
2
PCB antenna
ESP32-S2-DevKitM-1
ESP32-S2-SOLO
ESP32-S2ESP32-S2R2
18×25.5×3.1
4,8,16
N/A
2
IPEX antenna connector
ESP32-S2-DevKitM-1
ESP32-S2-SOLO-U
ESP32-S2
ESP32-S2R2
18×19.2×3.2
4,8,16
N/A
2
IPEX antenna connector
ESP32-S2-DevKitC-1
ESP32-S2-WROVER
ESP32-S2
18x31x3.3
4,8,16
2
PCB antenna
ESP32-S2-Kaluga-1
ESP32-S2-HMI-DevKit-1
ESP32-S2-Saola-1
ESP32-S2-WROVER-I
ESP32-S2
18x31x3.3
4,8,16
2
IPEX antenna connector
ESP32-S2-Saola-1
ESP32-S2-Kaluga-1
ESP32-S2-WROOM
ESP32-S2
18x31x3.3
4,8,16
N/A
PCB antenna
ESP32-S2-Saola-1
ESP32-S2-WROOM-I
ESP32-S2
18x31x3.3
4,8,16
N/A
IPEX antenna connector
ESP32-S2-Saola-1

 

(2) ESP32-S3 Modules

: 32-bit MCU & 2.4 GHz Wi-Fi & Bluetooth 5 (LE)

Board
Chip Embedded
Dimensions (mm)
Flash (MB)
PSRAM (MB)
Antenna
Development Board
ESP32-S3-WROOM-1
ESP32-S3
ESP32-S3R2
ESP32-S3R8
18×25.5×3.1
4, 8, 16
N/A
2
8
PCB antenna
ESP32-S3-DevKitC-1
ESP32-S3-BOX
ESP32-S3-EYE
ESP32-S3-Korvo-1
ESP32-S3-Korvo-2
ESP32-S3-LCD-Ev-Board
ESP32-S3-WROOM-1U
ESP32-S3
ESP32-S3R2
ESP32-S3R8
18×19.2×3.2
4, 8, 16
0
2
8
IPEX antenna connector
ESP32-S3-DevKitC-1
ESP32-S3-WROOM-2
ESP32-S3R8V
18×25.5×3.1
16, 32
8
PCB antenna
ESP32-S3-DevKitC-1
ESP32-S3-MINI-1
ESP32-S3FN8
ESP32-S3FH4R2
15.4×20.5×2.4
8 MB embedded in chip
N/A
PCB antenna
ESP32-S3-DevKitM-1ESP32-S3-USB-OTG
ESP32-S3-MINI-1U
ESP32-S3FN8ESP32-S3FH4R2
15.4×15.4×2.4
8 MB embedded in chip
N/A
IPEX antenna connector
ESP32-S3-DevKitM-1

 

(3) ESP32-C2 Modules

: 32-bit RISC-V MCU & 2.4 GHz Wi-Fi & Bluetooth 5 (LE)

Board
Chip Embedded
Dimensions (mm)
Flash (MB)
PSRAM (MB)
Antenna
Development Board
ESP8684-MINI-1
ESP8684H2
ESP8684H4
13.2×16.6×2.4
1, 2, 4
N/A
PCB antenna
ESP8684-DevKitM-1
ESP8684-MINI-1U
ESP8684H2
ESP8684H4
13.2×12.5×2.4
1, 2, 4
N/A
IPEX antenna connector
ESP8684-DevKitM-1
ESP8684-WROOM-01C
ESP8684H2
ESP8684H4
24×16×3.1
2, 4
N/A
PCB antenna
N/A
ESP8684-WROOM-02C
ESP8684H2
ESP8684H4
18x20x3.2
2, 4
N/A
PCB antenna
N/A
ESP8684-WROOM-02UC
ESP8684H2
ESP8684H4
18x20x3.2
2, 4
N/A
IPEX antenna connector
ESP8684-DevKitC-02
ESP8684-WROOM-03
ESP8684H2
ESP8684H4
15×17.3×2.8
2, 4
N/A
PCB antenna
N/A
ESP8684-WROOM-04C
ESP8684H2
ESP8684H4
24×16×3.1
2, 4
N/A
PCB antenna
N/A
ESP8684-WROOM-05
ESP8684H2
ESP8684H4
15×17.3×2.8
2, 4
N/A
PCB antenna
N/A
ESP8684-WROOM-06C
ESP8684H2
ESP8684H4
15.8×20.3×2.7
2, 4
N/A
PCB antenna
N/A
ESP8684-WROOM-07
ESP8684H2
ESP8684H4
8.5x12.7x1.9
2, 4
N/A
PCB antenna
N/A

 

(4) ESP32-C3 Modules

: 32-bit RISC-V MCU & 2.4 GHz Wi-Fi & Bluetooth 5 (LE)

 

(5) ESP32-C6 Modules

: 32-bit RISC-V MCU & 2.4 GHz Wi-Fi 6 & Bluetooth 5 (LE) & IEEE 802.15.4

Board
Chip Embedded
Dimensions (mm)
Flash (MB)
PSRAM (MB)
Antenna
Development Board
ESP32-C6-MINI-1
ESP32-C6FH4
13.2×16.6×2.4
4
N/A
PCB antenna
ESP32-C6-DevKitM-1
ESP32-C6-MINI-1U
ESP32-C6FH4
13.2×12.5×2.4
4
N/A
IPEX antenna connector
ESP32-C6-DevKitM-1
ESP32-C6-WROOM-1
ESP32-C6
18×25.5×3.2
4, 8, 16
N/A
PCB antenna
ESP32-C6-DevKitC-1
ESP32-C6-WROOM-1U
ESP32-C6
18x19.2x3.2
4, 8, 16
N/A
ESP32-C6-DevKitC-1
N/A

 

(6) ESP32-H2 Series

: 32-bit RISC-V MCU & Bluetooth 5 (LE) & IEEE 802.15.4

Board
Chip Embedded
Dimensions (mm)
Flash (MB)
PSRAM (MB)
Antenna
Development Board
ESP32-H2-MINI-1
ESP32-H2FH2
ESP32-H2FH4
13.2×16.6×2.4
1, 2, 4
N/A
PCB antenna
ESP32-H2-DevKitM-1
ESP32-H2-MINI-1U
ESP32-H2FH2
ESP32-H2FH4
13.2×12.5×2.4
2, 4
N/A
IPEX antenna connector
ESP32-H2-DevKitM-1

 

(7) ESP32 Modules

: 32-bit MCU & 2.4 GHz Wi-Fi & Bluetooth/Bluetooth LE

 

(8) ESP8266 Modules

: 32-bit MCU & 2.4 GHz Wi-Fi

 

 

1-2. 개발 보드(DevKits)

 

(1) ESP32-S2 Series

: 32-bit MCU & 2.4 GHz Wi-Fi

Board
Flash/PSRAM
Interfaces
UI
ESP32-S2-DevKitM-1
4 MB Flash
I/O
USB
Buttons
LEDs
ESP32-S2-DevKitC-1
4MB Flash, 8MB Flash
+ 2 MB PSRAM
I/O
USB
Buttons
LED
ESP32-S2-Kaluga-1
4 MB Flash
+ 2 MB PSRAM
SPI
I2C
I2S
UART
ADC
DAC
PWM
Buttons
LED
ESP32-S2-Saola-1
4 MB Flash / 4 MB Flash
+ 2 MB PSRAM
I/O
USB
Buttons
LED

 

(2) ESP32-S3 Series

: 32-bit MCU & 2.4 GHz Wi-Fi & Bluetooth 5 (LE)

Board
Flash/PSRAM
Interfaces
UI
ESP32-S3-DevKitC-1
8 MB Flash
8 MB Flash + 3.3V 2 MB Quad PSRAM
8 MB Flash + 3.3V 8 MB Octal PSRAM
32 MB Flash + 1.8V 8 MB Octal PSRAM
I/O
USB
Buttons
LEDs
ESP32-S3-DevKitM-1
8 MB Flash
I/O
USB
Buttons
LEDs
ESP32-S3-BOX
16 MB Flash
+ 8 MB PSRAM
USB-C
I/O
Pmod™ headers
LCD Screen
Microphones
Speaker
LED
Buttons
ESP32-S3-EYE
8 MB Flash
+ 8 MB PSRAM
USB
Camera
LCD
Microphone
Buttons
TF card
ESP32-S3-USB-OTG
8 MB Flash embedded in chip
USB Device
USB Host
SD Card
LCD Screen
LED
Button
ESP32-S3-Korvo-1
16 MB Flash
+ 8 MB PSRAM
I/O
USB
Buttons
TF card
LEDs
Microphones
ESP32-S3-Korvo-2
16 MB Flash
+ 8 MB PSRAM
I/O
USB
Button
TF Card
Camera
LCD
ESP32-S3-LCD-EV-Board
16 MB Flash
+ 8 MB PSRAM
I/O
USB-C
UART
LCD Screen
Microphones
Speaker
LED
Buttons

 

(3) ESP32-C2 Series

: 32-bit RISC-V MCU & 2.4 GHz Wi-Fi & Bluetooth LE 5 (LE)

Board
Flash/PSRAM
Interfaces
UI
ESP8684-DevKitM-1
4 MB Flash
I/O
USB
Buttons
LEDs

 

(4) ESP32-C3 Series

: 32-bit RISC-V MCU & 2.4 GHz Wi-Fi & Bluetooth LE 5 (LE)

Board
Flash/PSRAM
Interfaces
UI
ESP32-C3-DevKitM-1
4 MB Flash
I/O
USB
Buttons
LEDs
ESP32-C3-DevKitC-02
4 MB Flash
I/O
USB
Buttons
LEDs
ESP32-C3-DevKit-RUST-1
4 MB Flash
I/O
USB type-C
Button
LED
IMU
Temperature and humidity sensor
ESP32-C3-AWS-ExpressLink-DevKit
4 MB Flash
Pin Headers
Micro USB
Buttons
LEDs
ESP32-C3-LCDkit
4 MB Flash
I/O
USB type-C
LCD Screen
Speaker
LED
Buttons
EC11 rotary encoder
Infrared sensor
ESP32-C3-Lyra
4 MB Flash
I/O
UART
Key
RGB
Microphone
Speaker

 

(5) ESP32-C6 Series

: 32-bit RISC-V MCU & 2.4 GHz Wi-Fi 6 & Bluetooth 5 (LE) & IEEE 802.15.4

Board
Flash/PSRAM
Interfaces
UI
ESP32-C6-DevKitC-1
8 MB Flash
I/O
USB
Buttons
LEDs
ESP32-C6-DevKitM-1
4 MB Flash
I/O
USB
Buttons
LEDs

 

(6) ESP32-H Series

: 32-bit RISC-V MCU & Bluetooth 5 (LE) & IEEE 802.15.4

Board
Flash/PSRAM
Interfaces
UI
ESP32-H2-DevKitM-1
4 MB Flash
I/O
USB
Buttons
LEDs
ESP Thread Border Router/Zigbee Gateway
4 MB Flash and 2 MB PSRAM in ESP32-S3-WROOM-1 + 2 MB Flash in ESP32-H2-MINI-1
I/O
USB type-C
ESP32-S3-WROOM-1ESP32-H2-MINI-1

 

(7) ESP32 Series

: 32-bit MCU & 2.4 GHz Wi-Fi & BT/Bluetooth LE

 

(8) ESP8266 Series

: 32-bit MCU & 2.4 GHz Wi-Fi

 

 

1-3. 개발 환경

(1) Arduino IDE

: 아두이노 호환 보드처럼 사용 가능

 

(2) PlatformIO

: 여러 MCU 플랫폼을 지원하는 통합 개발 환경

 

(3) ESP IDF

: Espressif에서 제공하는 공식 개발 프레임워크

 

 

Raspberry Pi Compute Module 5 Rev 1.0 vs LattePanda LattePanda Alpha(Geekbench 6)

 

 

 

Raspberry Pi Compute Module 5 Rev 1.0 vs RK3588 OPi 5 Plus(Geekbench 6)

 

 

 

Raspberry Pi 5 Model B Rev 1.0 vs RK3588S OPi 5 Pro(Geekbench 6)

 

 

라즈베리 파이는 ARM 아키텍처를 사용하기 때문에 윈도우나 리눅스에서 라즈베리 파이를 위한 소프트웨어를 개발하려면 크로스 컴파일 환경을 구축해야 한다.

 

A. 윈도우에 크로스 컴파일 환경 구축 방법

- mingw-w64를 사용하여 GCC 크로스 컴파일러 설치

- Visual Studio에서 크로스 컴파일러를 사용하여 빌드

 

B. 리눅스에 크로스 컴파일 환경 구축 방법

- gcc 또는 clang을 사용하여 ARM 아키텍처용 크로스 컴파일러 설치

 

리눅스에서 ARM 아키텍처용 크로스 컴파일러가 기본적으로 제공되기 때문에 리눅스에서 크로스 컴파일 환경을 구축하는 것이 더 쉽고 빠르다고 알려져 있다.

 

아래에서는 B. 리눅스에 크로스 컴파일 환경 구축 하는 방법을 설명한다.

 

1. Ubuntu 다운로드

https://ubuntu.com/

 

Enterprise Open Source and Linux | Ubuntu

Ubuntu is the modern, open source operating system on Linux for the enterprise server, desktop, cloud, and IoT.

ubuntu.com

 

 

가급적 LTS(Long Term Support) 다운로드

 

2. VirtualBox 실행

 

가상 머신 만들기

 

메모리 : 8GB

CPU : 4개

 

가상 하드 디스크 : 50GB

 

3. 우분투 설치

설치 완료

 

'Raspberry Pi > Pi4' 카테고리의 다른 글

Raspberry Pi  (0) 2025.03.19

 

- 라즈베리 파이는 영국 기반 비영리 단체인 라즈베리 파이 재단에서 2012년에 처음 소개

- 소형 컴퓨터로, 개인용 컴퓨팅, 교육 및 다양한 프로젝트에 활용되는 하드웨어 플랫폼

라즈베리 파이는 작은 사이즈에 저렴한 가격으로, 프로세서, 메모리, 입력/출력 포트 및 다양한 연결 인터페이스를 지원함. 일반적으로 리눅스 기반의 운영체제인 Raspbian을 지원하며, 다른 운영체제도 지원됨

 

1. 저렴한 가격

: 라즈베리 파이는 매우 저렴한 가격으로, 학습, 실험 및 개인 프로젝트에 이상적

 

2. 다양한 모델

: Raspberry Pi 4는 1.5GHz 사물인터넷 프로세서와 최대 8GB의 RAM을 갖추고 있어 일반적인 컴퓨팅 작업 가능

 

3. 입출력 포트

: 라즈베리 파이는 GPIO 포트가 있어 다양한 센서, 액추에이터 및 외부 장치 연결가능

 

4. 커뮤니티와 개발자 생태계

: 라즈베리 파이는 사용층이 넓음

 

라즈베리 파이는 교육용으로 시작되었지만, 이후에는 개인용 컴퓨팅, IoT 장치, 미디어 센터, 게임 기기 등 다양한 용도로 활용됨. 무엇보다 저렴한 가격과 강력한 성능으로 인기가 많음(수급만 좋다면)

 

 

1-1. 개발 보드(DevKits)

: SoC가 아닌 개발 보드 형태로만 판매 하고 있음

 
(1) Raspberry Pi 3 B+
(2) Raspberry Pi 4 B
(3) Raspberry Pi 5
SoC
Broadcom BCM2837B0
Broadcom BCM2711, quad-core Cortex-A72
Broadcom BCM2712, quad-core Cortex-A76
CPU
quad-core Cortex-A53 64-bit SoC @ 1.4GHz
quad-core Cortex-A72 (ARM v8)
64-bit SoC @ 1.5GHz
quad-core Cortex-A76 (ARM v8)
64-bit SoC @ 2.4GHz
GPU
Broadcom VideoCore IV MP2 400 MHz
Broadcom VideoCore VI MP2 500 MHz
Broadcom VideoCore VII MP2 500 MHz
Memory
1GB LPDDR2 SDRAM
1/2/4/8 GB LPDDR4-3200 SDRAM
4/8 GB LPDDR4-4267 SDRAM
Ethernet
Gigabit Ethernet
Gigabit Ethernet
Gigabit Ethernet
Wi-Fi
2.4GHz and 5GHz IEEE 802.11.b/g/n/ac
2.4 GHz and 5.0 GHz IEEE 802.11b/g/n/ac
2.4 GHz and 5.0 GHz IEEE 802.11b/g/n/ac
Bluetooth
Bluetooth 4.2, BLE
Bluetooth 5.0, BLE
Bluetooth 5.0, BLE
Video
1 × full size HDMI
MIPI DSI display port
MIPI CSI camera por
2 x micro HDMI(rev 2.0)
2-lane MIPI DSI display port
2-lane MIPI CSI camera port
2 x micro HDMI(rev 2.0)
2-lane MIPI DSI display port
2-lane MIPI CSI camera port
Audio
3.5mm jack, HDMI, I²S
3.5mm jack, 2 x micro HDMI, I²S
3.5mm jack, 2 x micro HDMI, I²S
USB
4 × USB 2.0
2 x USB 3.0, 2 x USB 2.0
2 x USB 3.0, 2 x USB 2.0
GPIO
40-pin GPIO header
40-pin GPIO header
40-pin GPIO header
Power
5V DC via USB-C connector (2.5A)
5V DC via GPIO header (minimum 3A1)
Power over Ethernet (PoE)–enabled
5V DC via USB-C connector (minimum 3A)
5V DC via GPIO header (minimum 3A)
Power over Ethernet (PoE)–enabled
5V DC via USB-C connector (minimum 3A)
5V DC via GPIO header (minimum 3A)
Power over Ethernet (PoE)–enabled
가격
 
$35(1GB) / $45(2GB) / $55(4GB) / $75(8GB)
$55(4GB) / $75(8GB)

 

(4) Raspberry Pi 4 Compute Module

: IO를 제거하고 핵심 모듈만 남겨놓은 연산모듈

 

 

1-2. 개발 환경

(1) Rasbian

: Debian 기반의 리눅스

(2) Yocto Project

: 임베디드 시스템을 위한 리눅스 기반 빌드 시스템

 

'Raspberry Pi > Pi4' 카테고리의 다른 글

Raspberry Pi4 크로스 컴파일 환경 구축(1)  (0) 2025.03.19

 

Target
Board
Raspberry Pi CM4 + IO Board
Host
PC - Window
목표
CM4의 EEPROM 부트로더를 최신화하고 BOOT_ORDER를 수정하여 부팅 순서 설정

 

1. Raspberry Pi Compute Module 4(이하 CM4)의 EEPROM 부트로더 개요

- CM4에는 EEPROM이 내장되어 있으며, 이 EEPROM에는 부트로더(Bootloader)가 저장됨

- CM4는 EEPROM에 저장된 부트로더를 실행하여 운영체제를 로드

 

2. CM4의 부트 과정

CM4의 부팅 과정은 다음과 같음

(1). EEPROM에서 부트로더 실행

- CM4는 부팅 시 SPI EEPROM에서 부트로더를 로드하고 실행

- 이 부트로더는 Raspberry Pi 재단에서 제공하며, 펌웨어 업데이트를 통해 변경할 수 있음

 

(2). 부팅 소스 확인

 

(3). 부트로더는 설정된 부팅 순서(BOOT_ORDER)에 따라 가능한 부팅 장치를 검색

기본적인 부팅 순서는 다음과 같습니다:

- eMMC (또는 SD 카드)

- USB 장치 (USB Storage, USB Boot 등)

- Network Boot (PXE, TFTP)

- Fallback (재시도 및 복구 모드 진입)

 

(4). 운영체제 커널 로드 및 실행

- 선택된 부팅 장치에서 운영체제 커널을 로드하여 실행


1. CM4 EEPROM Bootloader 업데이트를 위한 준비물

 
HOST
CM4 또는 rpiboot 도구가 설치된 Linux PC
DEVICE
CM4
케이블
USB to USB-A 케이블 (CM4의 경우 USB-C to USB-A 케이블)

 

HOST $ sudo apt install git libusb-1.0-0-dev pkg-config build-essential
HOST $ git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
 

 

- bootloader 수정

HOST $ cd ~/usbboot/recovery
HOST $ nano boot.conf
 

 

- 아래와 같이 수정

[all]
BOOT_UART=0
WAKE_ON_GPIO=1
POWER_OFF_ON_HALT=0
 
# Try SD first (1), followed by, USB PCIe, NVMe PCIe, USB SoC XHCI then network
BOOT_ORDER=0xf25641
 
# Set to 0 to prevent bootloader updates from USB/Network boot
# For remote units EEPROM hardware write protection should be used.
ENABLE_SELF_UPDATE=1
 
HOST $ ./update-pieeprom.sh
 

 

STEP2 : DEVICE

- CM4를 USB 모드로 설정 : EMMC-DISABLE / nRPIBOOT(GPIO 40)를 GND에 연결. ROM을 usbboot 모드로 전환해야 함. 그렇지 않으면 SPI EEPROM 부트로더 이미지가 대신 로드됨

- CM4를 HOST의 USB 포트에 연결

- 전원을 공급

 

STEP3 : HOST

- recovery/pieeprom.bin부트로더 EEPROM에 쓰려면 다음 명령을 실행

- 다음 명령을 실행하여 업데이트된 pieeprom.bin이미지를 EEPROM에 씁니다.

HOST $ cd ~/usbboot

HOST $ sudo ./rpiboot -d recovery
 

완료되면 EEPROM_nWP는 low로 떨어짐

 

 

HOST 화면

 

DEVICE 화면 : rpiboot 실행 전 rpi-eeprom-config로 boot.conf 확인

 

DEVICE 화면 : rpiboot 실행 후 rpi-eeprom-config로 boot.conf 확인

 

BOOT_ORDER의 다양한 부팅 모드 설정 속성

Value
Mode
Description
0x0
SD CARD DETECT
Try SD then wait for card-detect to indicate that the card has changed - deprecated now that 0xf (RESTART) is available.
0x1
SD CARD
/eMMC
SD card (or eMMC on Compute Module 4).
0x2
NETWORK
Network boot
0x3
RPIBOOT
RPIBOOT
0x4
USB-MSD
USB mass storage boot
0x5
BCM-USB-MSD
USB 2.0 boot from USB Type C socket (CM4: USB type A socket on CM4IO board).
0x6
NVME
CM4 only: boot from an NVMe SSD connected to the PCIe interface.
0x7
HTTP
HTTP boot over ethernet.
0xe
STOP
Stop and display error pattern. A power cycle is required to exit this state.
0xf
RESTART
Restart from the first boot-mode in the BOOT_ORDER field i.e. loop

 

사용 예

0xf25641 Network → BCM-USB-MSD → NVME → USB → SD/eMMC
0xf14 USB → SD/eMMC → Network
0x1 SD/eMMC 우선
0xf21 Network → USB → SD/eMMC

 

'Raspberry Pi > CM4' 카테고리의 다른 글

Raspberry Pi CM4 - 크로스 컴파일 환경 구축(1)  (0) 2025.03.19
 
Target
Board
Raspberry Pi CM4 + IO Board
Host
PC - Window
목표
Raspberry Pi CM4 - 크로스 컴파일 환경 구축(1)

 


Raspberry Pi CM4 구동

1. Raspberry Pi Imager 설치

2. Boot 프로그램 설치

3. rpiboot 실행

4. CM4에 Image Write

5. 구동 확인


Raspberry Pi CM4 구동

 

1. Raspberry Pi Imager 설치

 

2. Boot 프로그램 설치

https://github.com/raspberrypi/usbboot/raw/master/win32/rpiboot_setup.exe ​

 

3. rpiboot 실행

- 연결 : 전원(J19) + micro USB(J11) + disable eMMC Boot(J2) 점퍼 삽입

 

 

- 검색 → rpiboot 실행

- CM4 전원 ON

- CM4의 eMMC를 윈도우 드라이브로 인식 되는 것을 확인

 

4. CM4에 Image Write

- Raspberry Pi Imager 실행

- Trager Board 선택

- 운영 체제 선택

- 저장소 선택

- 다음

- CM4 전원 OFF

 

5. 구동 확인

- 연결 : 전원(J19) + micro USB(J11) 제거 + disable eMMC Boot(J2) 점퍼 제거 + USB 연결

- CM4 전원 ON


- 최신 OS에서는 otg_mode=1로 되어 있기 때문에 USB가 자동으로 연결 된다.

cm4-datasheet p.7

 

- USB가 연결이 안되는 이유는 micro USB를 뽑지 않아서이다.

- 구 버전 OS는 config.txt를 아래과 같이 수정해야 한다.

- 전원 reboot → rpiboot 실행하여 config.txt 수정

- 맨 아랫줄에 다음과 같이 추가

dtoverlay=dwc2,dr_mode=host
 

 

 

 

 
Target
Board
Raspberry Pi4
Host
PC - Ubuntu 22.04
목표
Raspberry Pi4 - YOCTO 개발 환경 구축 및 확인(2)

 


Raspberry image build

1. 외부 레이어 추가

2. 빌드 환경 준비

3. 빌드

4. Raspberry에서 구동 확인

 


1. 빌드 환경 설정

PC $ source oe-init-build-env build-rpi
 

 

2-1. 필요한 레이어 다운로드

PC $ cd ~/home/your yocto directory/yocto
 

 

2-2. open-Embedded 소스 코드를 다운로드

PC $ git clone git://git.openembedded.org/meta-openembedded - b dunfell
 

 

2-3. git clone으로 raspberrypi 소스 코드를 다운로드

PC $ git clone git://git.yoctoproject.org/meta-raspberrypi - b dunfell
 

 

2-1. 설정 파일에 layer 추가

PC $ bitbake-layers add-layer ./meta-openembedded/meta-oe
PC $ bitbake-layers add-layer ./meta-openembedded/meta-python
PC $ bitbake-layers add-layer ./meta-openembedded/meta-networking
PC $ bitbake-layers add-layer ./meta-openembedded/meta-multimedia 
PC $ bitbake-layers add-layer ./meta-raspberrypi
 

 

2-2. layer configuration 업데이트 확인

PC $ bitbake-break-show-breaking
 

 

2-3. image 선택

PC $ ls meta-raspberrypi/recipes-core/images
 

 

3-1. machine variable 설정

PC $ cd poky/build-rpi
PC $ vim conf/local.conf
 

 

3-2. fetch

PC $ bitbake rpi-test-image --runall=fetch
 

 

3-3. build

PC $ bitbake rpi-test-image
 

 

4. build image 확인

 

5. 생성된 image sd card로 복사

 

6-1. SD CARD 삽입 전

 

6-2. SD CARD 삽입 후

 

 

'Raspberry Pi > YOCTO' 카테고리의 다른 글

Raspberry Pi4 - YOCTO 개발 환경 구축(1)  (0) 2025.03.19

+ Recent posts