Armadilloフォーラム

OTP (One TIme Programming), eFUSE機能に関する資料

sshida

2017年10月31日 10時55分

Armadillo IoT G3が搭載しているi.MX7では, NXP (旧freescale)のOTP (One TIme Programming), eFUSE機能は利用できるでしょうか?

NXPのi.MX6以降で、HAB (High Assurance Boot)というセキュアブート機能が利用できるか検討したいです。

コメント

at_mizo

2017年10月31日 11時13分

溝渕です。

> Armadillo IoT G3が搭載しているi.MX7では, NXP (旧freescale)のOTP (One TIme Programming), eFUSE機能は利用できるでしょうか?

出荷状態のソフトウェアでは利用することはできません。

U-Bootの、NXP社製i.MX 7D評価ボード[1]用コンフィギュレーションでは、i.MX 7DのeFUSE制御が可能になっています。
[1]: https://www.nxp.com/jp/support/developer-resources/hardware-development…

ただし、Armadillo IoT G3でeFUSEをへの書き込みを行った場合は保証対象外となりますのでご注意ください。
https://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_pro…

sshida

2017年11月2日 15時14分

溝渕様

> > Armadillo IoT G3が搭載しているi.MX7では, NXP (旧freescale)のOTP (One TIme Programming), eFUSE機能は利用できるでしょうか?
> 出荷状態のソフトウェアでは利用することはできません。

出荷状態というのは、量産用のことでしょうか?

BTOでご相談した場合は対応できる可能性があるでしょうか?

> Armadillo IoT G3でeFUSEをへの書き込みを行った場合は保証対象外

まずはeFUSEを書き込み禁止にしておきたいのですが、設定方法はあるでしょうか?

at_mizo

2017年11月2日 15時33分

溝渕です。

> 出荷状態というのは、量産用のことでしょうか?

いえ。アットマークテクノが公開しているソフトウェアのことです。

> BTOでご相談した場合は対応できる可能性があるでしょうか?

いえ。BTOはソフトウェアのカスタマイズには対応していません。

> > Armadillo IoT G3でeFUSEをへの書き込みを行った場合は保証対象外
>
> まずはeFUSEを書き込み禁止にしておきたいのですが、設定方法はあるでしょうか?

ありますが、eFUSEを書き込み禁止にするためにはeFUSE(のロックビット)への
書き込みが必要です。

または、eFUSEのshadow cacheへのみ書き込みをする(eFUSEへの書き込みは行
なわない)こともできますが、セキュアブート機能の機能は評価できなくなり
ます。

これは、セキュアブートの認証プロセスが、ユーザープログラムの実行前に行
なわれるためです。

セキュアブートではなく、HABを利用したソフトウェア認証のみであれば利用
できるかもしれません。

sshida

2017年11月9日 13時10分

私がやりたいことは、自社で作成したソフトだけが起動するようにしたいです。
私としては、上記のことをセキュアブートだと考えています。

そのため、Armadillo IoT G3の場合は次のようにしたいです。
- JP1を挿してSDカードから起動するとき、自社のu-bootだけ実行する
- JP1を抜いてMMCから起動するとき、自社のu-bootだけ実行する

これはNXPのHAB (High Assurance Boot)ならできるでしょうか?

shkoga

2017年11月9日 13時18分

こんにちは。サムシングプレシャスの古賀と申します。

sshidaさん:
>私がやりたいことは、自社で作成したソフトだけが起動するようにしたいです。
>私としては、上記のことをセキュアブートだと考えています。
>
>そのため、Armadillo IoT G3の場合は次のようにしたいです。
>- JP1を挿してSDカードから起動するとき、自社のu-bootだけ実行する
>- JP1を抜いてMMCから起動するとき、自社のu-bootだけ実行する
>
>これはNXPのHAB (High Assurance Boot)ならできるでしょうか?

ここで説明されている手順を見ると、できそうな感じですね:
 https://community.nxp.com/docs/DOC-332725

sshida

2017年11月9日 14時20分

古賀様

ありがとうございます。
gitのu-bootへのパッチと、CONFIG_SECURE_BOOTというdefineなどがあるようですね。

>溝渕様
すみません、gitのu-bootをArmadillo IoT G3で動くようにする手順はありますでしょうか?

at_mizo

2017年11月9日 14時38分

溝渕です。

> すみません、gitのu-bootをArmadillo IoT G3で動くようにする手順はありますでしょうか?

申し訳ございませんが、手順は用意していません。

以下いずれかの対応が必要になります。
gitのu-bootに、Armadillo IoT G3対応を実装する
Armadillo IoT G3のu-bootにsecure boot関連処理を実装する

sshida

2017年11月9日 18時50分

溝渕様

ありがとうございます。時間がとれたらがんばってみます。