Add prebuilt firmware package
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,5 +5,6 @@
|
||||
/sdkconfig
|
||||
/sdkconfig.old
|
||||
*.bin
|
||||
!/firmware/*.bin
|
||||
*.elf
|
||||
*.map
|
||||
|
||||
@@ -57,6 +57,8 @@ J1 커넥터의 pin 1은 `BAT+`, pin 2는 `GND`입니다. 커넥터 규격만
|
||||
|
||||
## 빌드와 설치
|
||||
|
||||
직접 빌드하지 않고 바로 플래싱하려면 저장소의 [사전 빌드 펌웨어](firmware/)를 사용하십시오. 앱·부트로더·파티션 테이블과 Linux/macOS 및 Windows용 플래시 스크립트가 함께 들어 있습니다.
|
||||
|
||||
권장 환경은 ESP-IDF **v5.3.4**입니다. 다른 ESP-IDF 버전은 RGB LCD와 I2S API 차이 때문에 빌드 결과가 달라질 수 있습니다.
|
||||
|
||||
### 1. 플래싱 준비
|
||||
|
||||
49
firmware/README.md
Normal file
49
firmware/README.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Radick 사전 빌드 펌웨어
|
||||
|
||||
Basic CrowPanel 7.0 V3.0(`DIS08070H`, ESP32-S3 N4R8)용 펌웨어입니다. ESP-IDF v5.3.4로 소스 커밋 `edacf69`에서 클린 빌드했습니다. 다른 CrowPanel 버전이나 RD-03D V2에는 올리지 마십시오.
|
||||
|
||||
## 포함 파일
|
||||
|
||||
| 파일 | 크기 | Flash 오프셋 |
|
||||
|---|---:|---:|
|
||||
| `bootloader.bin` | 14,736 bytes | `0x0` |
|
||||
| `partition-table.bin` | 3,072 bytes | `0x8000` |
|
||||
| `radick.bin` | 639,952 bytes | `0x10000` |
|
||||
|
||||
세 바이너리를 모두 같은 빌드에서 만들었습니다. `radick.bin` 하나만 올리지 말고 세 파일을 모두 기록하십시오.
|
||||
|
||||
## 빠른 플래싱
|
||||
|
||||
1. RD-03D에 공급하는 외부 5 V 전원을 끄거나 VCC를 분리합니다.
|
||||
2. 데이터 USB-C 케이블로 CrowPanel을 PC에 연결합니다.
|
||||
3. Python용 esptool 4.9.0을 준비합니다.
|
||||
|
||||
```bash
|
||||
python3 -m pip install esptool==4.9.0
|
||||
```
|
||||
|
||||
Linux/macOS:
|
||||
|
||||
```bash
|
||||
./firmware/flash.sh /dev/ttyUSB0
|
||||
```
|
||||
|
||||
Windows PowerShell:
|
||||
|
||||
```powershell
|
||||
powershell -ExecutionPolicy Bypass -File .\firmware\flash.ps1 COM5
|
||||
```
|
||||
|
||||
포트 이름은 실제 환경에 맞게 바꾸십시오. `Connecting...`에서 멈추면 `BOOT`을 누른 채 `RESET`을 짧게 누르고, `BOOT`을 놓은 뒤 다시 실행합니다. 완료 후 RD-03D의 5 V 전원을 켜고 CrowPanel을 리셋합니다.
|
||||
|
||||
## 무결성 확인
|
||||
|
||||
Linux/macOS:
|
||||
|
||||
```bash
|
||||
(cd firmware && sha256sum -c SHA256SUMS)
|
||||
```
|
||||
|
||||
자세한 포트 확인, ESP-IDF 빌드 및 문제 해결 방법은 루트 [README](../README.md#빌드와-설치)를 참고하십시오.
|
||||
|
||||
> 이 펌웨어는 ESP-IDF 클린 빌드와 자동 테스트를 통과했지만 실제 CrowPanel에 직접 플래싱한 실기 검증은 아직 수행하지 않았습니다.
|
||||
3
firmware/SHA256SUMS
Normal file
3
firmware/SHA256SUMS
Normal file
@@ -0,0 +1,3 @@
|
||||
cfc2b532f0a41d4e9b3af4c953e154780b328adc0f04e4cf91e452179244c0fa bootloader.bin
|
||||
73c0b5c3e5fcba3a151cc70c453c93dd5f4798899e7f2f8cca76da1f32ffc501 partition-table.bin
|
||||
73059503d1602322b045d8eac868b885b4a9946deba63a109d3fda930082d80c radick.bin
|
||||
BIN
firmware/bootloader.bin
Normal file
BIN
firmware/bootloader.bin
Normal file
Binary file not shown.
30
firmware/flash.ps1
Normal file
30
firmware/flash.ps1
Normal file
@@ -0,0 +1,30 @@
|
||||
param(
|
||||
[Parameter(Mandatory = $true, Position = 0)]
|
||||
[string]$Port
|
||||
)
|
||||
|
||||
$ErrorActionPreference = "Stop"
|
||||
$FirmwareDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
|
||||
Write-Host "Keep the RD-03D external 5 V supply OFF while flashing."
|
||||
|
||||
$EsptoolArgs = @(
|
||||
"-m", "esptool",
|
||||
"--chip", "esp32s3",
|
||||
"--port", $Port,
|
||||
"--baud", "460800",
|
||||
"--before", "default_reset",
|
||||
"--after", "hard_reset",
|
||||
"write_flash",
|
||||
"--flash_mode", "dio",
|
||||
"--flash_freq", "80m",
|
||||
"--flash_size", "4MB",
|
||||
"0x0", (Join-Path $FirmwareDir "bootloader.bin"),
|
||||
"0x8000", (Join-Path $FirmwareDir "partition-table.bin"),
|
||||
"0x10000", (Join-Path $FirmwareDir "radick.bin")
|
||||
)
|
||||
|
||||
& python @EsptoolArgs
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
exit $LASTEXITCODE
|
||||
}
|
||||
26
firmware/flash.sh
Executable file
26
firmware/flash.sh
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: $0 /dev/ttyUSB0" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
radick_port="$1"
|
||||
firmware_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
echo "Keep the RD-03D external 5 V supply OFF while flashing."
|
||||
|
||||
exec python3 -m esptool \
|
||||
--chip esp32s3 \
|
||||
--port "$radick_port" \
|
||||
--baud 460800 \
|
||||
--before default_reset \
|
||||
--after hard_reset \
|
||||
write_flash \
|
||||
--flash_mode dio \
|
||||
--flash_freq 80m \
|
||||
--flash_size 4MB \
|
||||
0x0 "$firmware_dir/bootloader.bin" \
|
||||
0x8000 "$firmware_dir/partition-table.bin" \
|
||||
0x10000 "$firmware_dir/radick.bin"
|
||||
BIN
firmware/partition-table.bin
Normal file
BIN
firmware/partition-table.bin
Normal file
Binary file not shown.
BIN
firmware/radick.bin
Normal file
BIN
firmware/radick.bin
Normal file
Binary file not shown.
Reference in New Issue
Block a user