Compare commits
2 Commits
23cb8f3015
...
e37a03c7ad
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e37a03c7ad | ||
|
|
196b00b91e |
@@ -1,4 +1,4 @@
|
||||
<Application x:Class="DB720Flasher.App"
|
||||
<Application x:Class="FirmwareFlasher.App"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
StartupUri="MainWindow.xaml">
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Windows;
|
||||
|
||||
namespace DB720Flasher;
|
||||
namespace FirmwareFlasher;
|
||||
|
||||
public partial class App : Application
|
||||
{
|
||||
@@ -6,8 +6,8 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<UseWPF>true</UseWPF>
|
||||
<RootNamespace>DB720Flasher</RootNamespace>
|
||||
<AssemblyName>DB720Flasher</AssemblyName>
|
||||
<RootNamespace>FirmwareFlasher</RootNamespace>
|
||||
<AssemblyName>FirmwareFlasher</AssemblyName>
|
||||
<Version>1.0.0</Version>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
|
||||
@@ -1,4 +1,4 @@
|
||||
<Window x:Class="DB720Flasher.MainWindow"
|
||||
<Window x:Class="FirmwareFlasher.MainWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Title="펌웨어 플래시 도구" Height="660" Width="960"
|
||||
@@ -7,7 +7,7 @@ using System.Windows.Media.Imaging;
|
||||
using System.Windows.Threading;
|
||||
using Microsoft.Win32;
|
||||
|
||||
namespace DB720Flasher;
|
||||
namespace FirmwareFlasher;
|
||||
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace DB720Flasher;
|
||||
namespace FirmwareFlasher;
|
||||
|
||||
public sealed class ComPortInfo
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace DB720Flasher;
|
||||
namespace FirmwareFlasher;
|
||||
|
||||
/// <summary>flash.json 의 한 영역 — 어떤 파일을 flash 어느 주소에 쓰는지.</summary>
|
||||
public sealed class FwRegion
|
||||
@@ -4,7 +4,7 @@ using System.IO;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace DB720Flasher;
|
||||
namespace FirmwareFlasher;
|
||||
|
||||
public sealed class FlashStep
|
||||
{
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.IO;
|
||||
|
||||
namespace DB720Flasher;
|
||||
namespace FirmwareFlasher;
|
||||
|
||||
public static class FirmwareCatalog
|
||||
{
|
||||
@@ -2,7 +2,7 @@ using System.IO.Ports;
|
||||
using System.Management;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace DB720Flasher;
|
||||
namespace FirmwareFlasher;
|
||||
|
||||
/// <summary>
|
||||
/// WMI(Win32_PnPEntity)로 COM 포트를 전부 열거하고 VID/PID로 종류만 라벨링한다.
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.IO;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace DB720Flasher;
|
||||
namespace FirmwareFlasher;
|
||||
|
||||
/// <summary>빌트인 모델 프로파일 + 폴더 flash.json 로더 + 앱 파일명 자동매칭.</summary>
|
||||
public static class ProfileStore
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="DB720Flasher.app" />
|
||||
<assemblyIdentity version="1.0.0.0" name="FirmwareFlasher.app" />
|
||||
|
||||
<!-- DPI 인식: 고해상도에서 또렷하게 -->
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
28
README.md
28
README.md
@@ -23,6 +23,26 @@ ESP32 계열 컨트롤러(DB720·DB402S·DB400S 등)에 펌웨어를 굽는 **Wi
|
||||
- 새 보드 첫 굽기/복구: **전체** (eFuse 주의)
|
||||
5. 끝나면 보드 전원 재인가.
|
||||
|
||||
## 펌웨어 파일 넣는 곳
|
||||
|
||||
서명된 펌웨어 `.bin`은 보안상 repo·배포본에 **들어 있지 않다**(`.gitignore`로 제외). **직접 넣어야 한다.**
|
||||
|
||||
모델 폴더 하나에 아래 파일을 모아 둔다:
|
||||
|
||||
```
|
||||
<펌웨어 폴더>/
|
||||
├─ flash.json ← 모델 설정 (없으면 앱 "모델" 드롭다운에서 선택)
|
||||
├─ bootloader.bin
|
||||
├─ partition-table.bin
|
||||
├─ ota_data_initial.bin
|
||||
├─ DIBD*.bin ← 앱 (예: DIBD720Te_…, DIBD402S_…)
|
||||
└─ www_fs.bin ← DB720 만
|
||||
```
|
||||
|
||||
- 앱은 **exe 옆 `firmware/` 폴더를 자동으로** 찾는다 — 거기에 넣으면 바로 잡힌다.
|
||||
- 다른 위치에 두려면 앱에서 **[폴더…]** 로 그 폴더를 고른다.
|
||||
- **"앱만" 모드**는 앱 `DIBD*.bin` 하나만 있으면 된다(부트로더·파티션 등 불필요).
|
||||
|
||||
## 지원 모델
|
||||
|
||||
| 모델 | 칩 | 부트로더 offset | 포트·방식 |
|
||||
@@ -74,14 +94,14 @@ ESP32 USB-JTAG는 보드가 리셋될 때마다 USB를 다시 잡아 **COM 번
|
||||
요구: **.NET 9 SDK** (Windows), WPF(`net9.0-windows`).
|
||||
|
||||
```powershell
|
||||
dotnet build DB720Flasher\DB720Flasher.csproj
|
||||
dotnet run --project DB720Flasher\DB720Flasher.csproj
|
||||
dotnet build FirmwareFlasher\FirmwareFlasher.csproj
|
||||
dotnet run --project FirmwareFlasher\FirmwareFlasher.csproj
|
||||
```
|
||||
|
||||
## 배포 (단일 실행본)
|
||||
|
||||
```powershell
|
||||
dotnet publish DB720Flasher\DB720Flasher.csproj -c Release -r win-x64 `
|
||||
dotnet publish FirmwareFlasher\FirmwareFlasher.csproj -c Release -r win-x64 `
|
||||
--self-contained true -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true
|
||||
```
|
||||
|
||||
@@ -91,7 +111,7 @@ dotnet publish DB720Flasher\DB720Flasher.csproj -c Release -r win-x64 `
|
||||
|
||||
```
|
||||
firmware-flasher/
|
||||
├─ DB720Flasher/ WPF 앱 소스 (+ tools/esptool/ 동봉 엔진)
|
||||
├─ FirmwareFlasher/ WPF 앱 소스 (+ tools/esptool/ 동봉 엔진)
|
||||
├─ firmware/ 펌웨어 폴더 (flash.json 포함; 서명 .bin 은 git 제외)
|
||||
├─ profiles/ 모델별 flash.json 템플릿 (DB720·DB402S·DB400S)
|
||||
├─ flash_app.ps1 / flash_full.ps1 / list_ports.ps1 기존 PowerShell 키트
|
||||
|
||||
Reference in New Issue
Block a user