UDS ブートローダー: ブート プログラムの診断サービス (ISO 14229)
KopherBit UDS ブートローダーは、ECU ファームウェア書き込み通信の基礎として ISO 14229 (UDS) 標準診断サービスを採用しています。 SecurityAccess、RoutineControl、RequestDownload、TransferData、TransferExit、ECUReset、その他のサービスを通じて、フラッシュの消去、書き込み、アプリケーションの切り替えプロセスを順次完了し、車両規制の OEM 量産およびアフターセールスのフラッシュ要件に準拠します。
まとめ
UDS ブートローダー は、ISO 14229 (UDS、統合診断サービス) 標準診断サービスに基づいた ECU ファームウェア フラッシュ メカニズムです。完全なフラッシュ プロセスは、DiagnosticSessionControl (0x10) → SecurityAccess (0x27) → RoutineControl (0x31) (消去) → RequestDownload (0x34) → TransferData (0x36) → TransferExit (0x37) → RoutineControl (0x31) (検証) → ECUReset (0x11) を通過します。サービスが完了するまで待ちます。KopherBit は、ISO 14229-1、ISO 14229-3 (CAN/CAN FD)、および ISO 14229-5 (DoIP/Ethernet) に準拠した、KopherBoot での完全な UDS ブートローダー実装を提供します。
技術的な役割
UDS ブートローダーは、「ブート モード (プログラミング セッション)」の下で ECU によって実行される小さなプログラムです。外部診断ツールから送信されたファームウェア イメージを CAN / CAN FD / DoIP 経由で受信し、フラッシュに書き込む役割を果たします。利点は次のとおりです。
- OEM 標準化プロセス: UDS をサポートするすべてのツール (Vector CANoe、ETAS INCA、KopherUDS、および工場内プログラミング ツールなど) を再利用できます。
- 明確なメッセージ レベル: UDS メッセージ形式は一貫しているため、複数の ECU 間で簡単に再利用できます。
- SecurityAccess のサポート: シード/キー メカニズムを使用してフラッシュのアクセス許可を保護します。
- 大規模なセグメント化された送信をサポート: TransferData を介した送信はブロックされ、maxNumberOfBlockLength は各パケットのサイズを制御するために使用されます。
- OEM 量産ライン、アフターメンテナンス、OTA バックエンド プッシュ およびその他のシナリオもカバーします。
建築
| ステージ | UDS サービス | 説明 |
|---|---|---|
| 1 | 0x10 診断セッション コントロール | プログラミング セッション (サブ機能 0x02) に切り替えます。 |
| 2 | 0x27 セキュリティアクセス | シード/キー アルゴリズムを通じてフラッシュ許可を付与します。 |
| 3 | 0x28 通信制御 (オプション) | 干渉を避けるために、診断以外の通信をオフにしてください。 |
| 4 | 0x85 ControlDTCSetting (オプション) | DTC ログを一時停止します。 |
| 5 | 0x31 ルーチンコントロール | 事前プログラミング条件チェックとメモリ消去ルーチンを実行します。 |
| 6 | 0x34 リクエストダウンロード | Flash書き込みセクション、addressFormat、memorySizeを宣言します。 |
| 7 | 0x36 データ転送 | ファームウェア イメージをセグメント単位で転送します (各ブロック サイズは maxNumberOfBlockLength によって制限されます)。 |
| 8 | 0x37 リクエスト転送終了 | この転送を終了します。 |
| 9 | 0x31 ルーチンコントロール | プログラミングの依存関係を確認し、CRC と署名を検証します。 |
| 10 | 0x11 ECUリセット | ECUを再起動し、新しいファームウェアを入力します。 |
サポートされているトランスポート層: CAN/ISO-TP (ISO 15765-2)、CAN FD/ISO-TP、DoIP (ISO 13400)。
主要な機能
- ISO 14229 プログラミング セッション サービス セットの完全な実装。
- CAN、CAN FD、DoIP/イーサネットの 3 つのトランスポート層をサポートします。
- 大きなファイルの分割転送と CRC/署名検証。
- SecurityAccess シード/キー アルゴリズムをサポートします (OEM によってカスタマイズすることも、KopherBit によって提供されるソリューションを採用することもできます)。
- ECU メイン アプリケーションのフラッシュ セクションから独立して、フラッシュが失敗した場合でもブートローダーに再入力できます。
- KopherSAR DCM と統合されているため、アプリケーションによってアクティブにトリガーされ、アプリケーション セッションでブート モードに入ることができます。
必要なエンジニアリング入力
| 入力 | 目的 |
|---|---|
| フラッシュセクションの構成 | ブートローダー、アプリケーション、キャリブレーション、NV データ セクションの境界を定義します。 |
| ブートプロセスの詳細 | プログラミング前のチェック、消去範囲、CRC/署名アルゴリズム。 |
| セキュリティアクセスアルゴリズム | OEM カスタマイズされたアルゴリズムまたは KopherBit がソリューションを提供します。 |
| トランスポート層 | CAN / CAN FD / DoIP (CAN ID / ルーティング テーブル構成を含む)。 |
| OEM ツールの互換性 | テスター ツール (Vector / ETAS / KopherUDS) のサポートが予定されています。 |
| OTAバックエンド | OTA が必要な場合は、バックエンド プッシュと署名検証プロセスを定義します。 |
KopherBit がこれをサポートする方法
- KopherBoot: KopherBit によって提供される UDS ベースのブートローダー。プログラミング セッション サービス セット、SecurityAccess、CRC/署名検証が組み込まれています。
- KopherUDS: ホスト コンピューターは完全なフラッシュ プロセスをサポートし、開発段階でブートローダーの動作を直接検証できます。
- AUTOSAR 統合: KopherSAR DCM を介して、アプリケーションでのプログラミング セッション切り替えロジックをサポートします。
- HSM 統合: 組み込みの HSM を使用して KCU GEN2 (TC387QP) の署名検証を完了すると、秘密キーは公開されません。
よくある質問
プログラミング セッションとデフォルト セッションの違いは何ですか?
デフォルト セッションは ECU の通常の動作モードであり、診断データの読み取りのみが許可されます。プログラミング セッションはブートローダー環境に切り替わり、フラッシュの消去と書き込みが可能になります。ほとんどの ECU は、切り替え時に再起動してブートローダー プログラム セクションに入ります。
SecurityAccess にシード/キーが必要なのはなぜですか?
シード/キーは、OEM がカスタマイズした対称アルゴリズムです。テスターがシードを受け取り、キーを介してキーを計算し、ECU がキーが正しいかどうかを検証します。不正ツールによる ECU のフラッシュを防止します。
点滅中に電源が失われるとどうなりますか?
ECU の再起動後、アプリケーション セクションが完全に書き込まれていない場合、ブートローダーはそれを検出し (通常は CRC または書き込み完了フラグによって)、再フラッシュを待つブートローダー モードに留まります。KopherBoot この設計により、「ブリック」しないことが保証されます。
DoIP(イーサネットフラッシュ)をサポートしていますか?
サポート。KopherBoot は ISO 13400 DoIP をサポートします。 DoIP Activation Line を介して DoIP ルーティングによるテスター接続を確立し、UDS サービスを実行できます。
CAN FD はフラッシュにどのように役立ちますか?
CAN FD では、フレームあたりのデータ量が最大 64 バイトに増加し、データ フェーズのボー レート (2 Mbit/s など) を高めることができるため、CAN 2.0B (8 バイト / 500 kbit/s) と比較して、大きなファイルの書き込み時間を大幅に短縮できます。
フラッシュ後にファームウェアを再検証する必要がありますか?
はい。フラッシュの完了後にプログラミング依存関係のチェック ルーチンを実行して CRC または署名検証を実行し、再起動してアプリケーションが正常に起動することを確認することをお勧めします。
JSON-LD
{
"@context": "https://schema.org",
"@type": "技術記事",
"headline": "UDS ブートローダー: ブート プログラムの診断サービス (ISO 14229)",
"description": "UDS ブートローダーは、ISO 14229 サービス セット (0x10/0x27/0x31/0x34/0x36/0x37/0x11) を通じて ECU ファームウェアのフラッシュ プロセスを完了します。",
"url": "https://kopherbit.com/knowledge/uds-bootloader-diagnostic-services/",
"公開日": "2026-05-09",
"dateModified": "2026-05-09",
"inLanguage": "zh-TW",
"キーワード": ["UDS"、"ブートローダー"、"ISO 14229"、"SecurityAccess"、"RequestDownload"、"DoIP"]、
"articleSection": "診断",
"著者": { "@type": "組織", "名前": "KopherBit", "url": "https://kopherbit.com" },
"publisher": { "@type": "組織", "name": "KopherBit", "logo": { "@type": "ImageObject", "url": "https://kopherbit.com/logo.png" } }
}