KopherBit
診断通信

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 サービス説明
10x10 診断セッション コントロールプログラミング セッション (サブ機能 0x02) に切り替えます。
20x27 セキュリティアクセスシード/キー アルゴリズムを通じてフラッシュ許可を付与します。
30x28 通信制御 (オプション)干渉を避けるために、診断以外の通信をオフにしてください。
40x85 ControlDTCSetting (オプション)DTC ログを一時停止します。
50x31 ルーチンコントロール事前プログラミング条件チェックとメモリ消去ルーチンを実行します。
60x34 リクエストダウンロードFlash書き込みセクション、addressFormat、memorySizeを宣言します。
70x36 データ転送ファームウェア イメージをセグメント単位で転送します (各ブロック サイズは maxNumberOfBlockLength によって制限されます)。
80x37 リクエスト転送終了この転送を終了します。
90x31 ルーチンコントロールプログラミングの依存関係を確認し、CRC と署名を検証します。
100x11 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" } }
}