量産する

本章では Armadillo を組み込んだ最終製品をお客様が製造・量産するうえで、必要となる情報や作業について記載します。

5.1. 概略

量産の進め方の概略図を図5.1「Armadillo 量産時の概略図」に示します。 お客様の製品仕様や製造工程の要件によってはこの例とは違った工程順となる場合や、工程の追加・削除がある可能性があります。

images/armadillo-manufacturing-flow.png

図5.1 Armadillo 量産時の概略図


5.1.1. リードタイムと在庫

量産モデルを発注後、お客様に納品されるまでにリードタイムが発生します。 開発セットや少量の量産モデル購入の場合、アットマークテクノや代理店在庫によって、短期間で納品できることもあります。 しかし、まとまった数量の量産モデルの場合、納品までにお時間をいただくことがあります。 新規に製品を量産・出荷する場合はリードタイムを考慮したスケジューリングをお願いします。 また、リピート製造をする場合でも、欠品を起こさないよう適切な在庫の確保をお願いいたします。

リードタイムは状況・タイミングによって異なりますので、都度、弊社営業、ご利用の販売代理店にお問い合わせください。

5.1.2. Armadillo 納品後の製造・量産作業

お客様が Armadillo を納品後に次に示すようなキッティング作業、組み立て、検査を実施し出荷を行います。

  • ソフトウェア書き込み

    • Armadillo Base OS やアプリケーションコンテナイメージの書き込み
    • 設定ファイルの書き込み
  • 別部品の組み立て

    • SD カード/ SIM カード/ RTC バックアップ電池等の接続
    • 拡張基板接続やセンサー・外部機器の接続
    • お客様専用筐体への組み込み
  • 検査

    • Armadillo の受け入れ検査
    • 組み立て後の通電電検・機能検査
    • 目視検査
  • 梱包作業
  • 出荷作業

有償の BTO サービスを利用することで、これらの作業の一部をアットマークテクノへ委託・実施済みの状態で Armadillo を納品することも可能です。 費用はいただきますがお客様による工程立ち上げ、場所の確保、作業者の教育、品質管理等のトータルコストを考えると委託した方が安く済むケースが多いです。

また、 BTO サービスではお受けできないようなキッティング、検査、作業については、実施可能な業者をご紹介する等、個別の対応をすることで解決できる場合もございます。 詳しくは弊社担当の営業、またはご利用の販売代理店にご相談ください。

5.2. BTO サービスを使わない場合と使う場合の違い

images/bto-scope.png

図5.2 BTO サービスで対応する範囲


5.2.1. BTO サービスを利用しない(標準ラインアップ品)

有償の量産サービスを利用しない場合、標準ラインアップ仕様での納品となります。 大きく分けて試作開発用途で使う「開発セット」と量産向けの「量産モデル」の 2 種類があります。 量産用途では「量産モデル」をご利用ください。

「量産モデル」には AC アダプタ等のオプション品が付属されておりませんので、内容物を確認の上、発注をお願いいたします。 高速通信が可能な「Cat.1モデル」、LTE-M通信モジュール搭載の「Cat.M1モデル」、モバイル通信モジュール非搭載の「WLANモデル」、モバイル通信モジュールとWLANどちらも非搭載で、最もシンプルな「LANモデル」をラインアップしています。

設計開発時には、開発に必要なものを一式含んだ「開発セット」、量産時には、必要最小限のセット内容に絞った「量産用」もしくは「量産ボード」をご購入ください。 「量産用」はケース有、「量産ボード」はケース無となります。

5.2.1.1. 標準ラインアップ品に書き込まれているソフトウェア

標準ラインアップ品に書き込まれるソフトウェアイメージ(Armadillo Base OS)は、アットマークテクノで公開している標準イメージとなります。 また、ソフトウェアバージョンは指定することができず、ランニングチェンジで随時最新版を適用していきます。 このため、納品後の Armadillo 個体では、開発段階で評価した Armadillo Base OS と異なるバージョンが書き込まれている可能性があります。

また、アプリケーションコンテナについては何も書き込まれていない状態となります。

納品後、お客様の量産工程でソフトウェアの書き込み作業が必要となります。詳しくは「量産時のイメージ書き込み手法」をご確認ください。

5.2.2. BTO サービスを利用する

BTO サービスは、セミオーダー式メニューから選択して Armadillo の量産品を一括手配いただける有償サービスです。 標準ラインアップ品の仕様をベースとして、搭載するモジュールの種類やケース、 AC アダプタの有無、お客様支給品の SD カードや SIM カードの接続、お客様ご指定のソフトウェアイメージ書き込みなど、メニュー内から指定可能なキッティング項目を選択・指定することが可能です。

販売代理店またはアットマークテクノの窓口からお申し込みいただけます。

製品ごとに、対応できる作業とできない作業がございます。また、販売直後の製品の場合など BTO サービスに未対応である場合もあります。 詳しくは Armadilloサイトの BTO サービス をご確認ください。

5.3. 量産時のイメージ書き込み手法

量産時に必要な手順は最終製品によって異なりますが、開発したソフトウェアをArmadilloに書き込む手順は必ず実施することになります。 Armadillo Base OS 搭載製品において、量産時に任意のソフトウェアを書き込む際には、以下の2つの手法のどちらかを用いると実現できます。

  • インストールディスクを用いてソフトウェアを書き込む
  • SWUpdateを用いてソフトウェアを書き込む

ただし、SWUpdateは運用中のArmadilloのアップデート機能であり、量産時のイメージ書き込みは本来の用途でないため、基本的にはイメージ書き込みに特化しているインストールディスクを用いた方法を選択してください。 そのため、インストールディスクイメージの作成、書き込み方法について「開発したシステムをインストールディスクにする」に記します。

5.4. 開発したシステムをインストールディスクにする

ATDE と VSCode を使用して、開発したシステムのインストールディスクイメージを生成します。 「VSCode のセットアップ」 を参考に、 ATDE に VSCode 開発用エクステンションをインストールしてください。 VSCode を使用してインストールディスクを生成する場合は以下の手順になります。

  • ATDE のインストール
  • VSCode のセットアップ
  • VSCode を使用した初期設定用 SWU の生成
  • 初期設定用 SWU を ABOS Web からインストール
  • VSCode を使用したインストールディスク作成用 SWU の生成
  • Armadillo に USBメモリを挿入
  • インストールディスク作成用 SWU を ABOS Web からインストール
  • USBメモリ上にインストールディスクイメージを生成
[ティップ]

Armadillo-640 では、WLAN 搭載モデルはインストールディスク以外で microSD を使用できないため、一旦 USB メモリへインストールディスクイメージを書き出し、 ATDE にて microSD カードへコピーして動作確認する手順としております。

[警告]

この機能を使用するには、以下に示すバージョンのソフトウェアが必要です。

  • ABOSDE 1.6.0 以上
  • mkswu 5.3 以上
  • abos-base 2.3 以上

5.4.1. ATDE のインストール

アットマークテクノ製品のソフトウェア開発や動作確認を簡単に行うために、VMware仮想マシンのデータイメージを提供しています。 このVMware仮想マシンのデータイメージをATDE(Atmark Techno Development Environment)と呼びます。ATDEの起動には仮想化ソフトウェアであるVMwareを使用します。ATDEのデータは、tar.xz圧縮されています。環境に合わせたツールで展開してください。

[ティップ]

仮想化ソフトウェアとして、VMwareの他にOracle VM VirtualBoxが有名です。 Oracle VM VirtualBoxには以下の特徴があります。

  • GPL v2(General Public License version 2)で提供されている [1]
  • VMware形式の仮想ディスク(.vmdk)ファイルに対応している

Oracle VM VirtualBoxからATDEを起動し、ソフトウェア開発環境として使用することができます。

ATDEは、バージョンにより対応するアットマークテクノ製品が異なります。本製品に対応しているATDEは、ATDE9 の v20230328 以降です。

ATDE9 は Debian GNU/Linux 11 (コードネーム bullseye) をベースに、Armadillo-640 のソフトウェア開発を行うために必要なクロス開発ツールや、Armadillo-640 の動作確認を行うために必要なツールが事前にインストールされています。

5.4.1.1. VMwareのインストール

ATDEを使用するためには、作業用PCにVMwareがインストールされている必要があります。 VMware社 Webページ(http://www.vmware.com/)を参照し、利用目的に合うVMware製品をインストールしてください。 また、ATDEのアーカイブは tar.xz圧縮されていますので、環境に合せたツールで展開してください。

[警告]

VMwareは、非商用利用限定で無償のものから、商用利用可能な有償のものまで複数の製品があります。 製品ごとに異なるライセンス、エンドユーザー使用許諾契約書(EULA)が存在するため、十分に確認した上で利用目的に合う製品をご利用ください。

[警告]

VMwareやATDEが動作しないことを未然に防ぐため、使用するVMwareのドキュメントから以下の項目についてご確認ください。

  • ホストシステムのハードウェア要件
  • ホストシステムのソフトウェア要件
  • ゲストOSのプロセッサ要件

VMwareのドキュメントは、VMware社 Webページ(http://www.vmware.com/)から取得することができます。

5.4.1.2. ATDEのアーカイブを取得

ATDEのアーカイブは Armadillo サイト(http://armadillo.atmark-techno.com)から取得可能です。

[注記]

本製品に対応している ATDE のバージョンは ATDE9 v20230328 以降です。

[警告]

作業用PCの動作環境(ハードウェア、VMware、ATDEの対応アーキテクチャなど)により、ATDEが正常に動作しない可能性があります。 VMware社 Webページ(http://www.vmware.com/)から、使用しているVMwareのドキュメントなどを参照して動作環境を確認してください。

5.4.1.3. ATDEのアーカイブを展開

ATDEのアーカイブを展開します。ATDEのアーカイブは、tar.xz形式の圧縮ファイルです。 実行環境に基づいて以下のどちらかの方法てアーカイブを展開してください。

  • WindowsでATDEのアーカイブ展開する
  • Linuxでtar.xz形式のファイルを展開する

5.4.1.4. WindowsでATDEのアーカイブ展開する

  1. 7-Zipのインストール

    7-Zipをインストールします。7-Zipは、圧縮解凍ソフト 7-Zipのサイト(http://sevenzip.sourceforge.jp)からダウンロード取得可能です。

  2. 7-Zipの起動

    7-Zipを起動します。

    images/common-images/atde/7-zip1.png
  3. xz圧縮ファイルの選択

    xz圧縮ファイルを展開して、tar形式のファイルを出力します。tar.xz形式のファイルを選択して、「展開」をクリックします。

    images/common-images/atde/7-zip2.png
  4. xz圧縮ファイルの展開先の指定

    「展開先」を指定して、「OK」をクリックします。

    images/common-images/atde/7-zip3.png
  5. xz圧縮ファイルの展開

    展開が始まります。

    images/common-images/atde/7-zip4.png
  6. tarアーカイブファイルの選択

    xz圧縮ファイルの展開が終了すると、tar形式のファイルが出力されます。 tarアーカイブファイルを出力したのと同様の手順で、tarアーカイブファイルからATDEのデータイメージを出力します。 tar形式のファイルを選択して「展開」をクリックし、「展開先」を指定して、「OK」をクリックします。

    images/common-images/atde/7-zip5.png
  7. 展開の完了確認

    tarアーカイブファイルの展開が終了すると、ATDEアーカイブの展開は完了です。 「展開先」に指定したフォルダにATDEのデータイメージが出力されています。

    images/common-images/atde/7-zip6.png

5.4.1.5. Linuxでtar.xz形式のファイルを展開する

  1. tar.xz圧縮ファイルの展開

    tarxf オプションを使用して tar.xz 圧縮ファイルを展開します。

    [PC ~]$ tar xf atde9-amd64-[VERSION].tar.xz
  2. 展開の完了確認

    tar.xz圧縮ファイルの展開が終了すると、ATDEアーカイブの展開は完了です。 atde9-amd64-[VERSION] ディレクトリにATDEのデータイメージが出力されています。

    [PC ~]$ ls atde9-amd64-[VERSION]/
    atde9-amd64-s001.vmdk  atde9-amd64-s008.vmdk
    atde9-amd64-s002.vmdk  atde9-amd64-s009.vmdk
    atde9-amd64-s003.vmdk  atde9-amd64.nvram
    atde9-amd64-s004.vmdk  atde9-amd64.vmdk
    atde9-amd64-s005.vmdk  atde9-amd64.vmsd
    atde9-amd64-s006.vmdk  atde9-amd64.vmx
    atde9-amd64-s007.vmdk  atde9-amd64.vmxf

5.4.1.6. ATDEの起動

ATDEのアーカイブを展開したディレクトリに存在する仮想マシン構成(.vmx)ファイルをVMware上で開くと、ATDEを起動することができます。 ATDE9にログイン可能なユーザーを、表5.1「ユーザー名とパスワード」に示します [2]

表5.1 ユーザー名とパスワード

ユーザー名パスワード権限

atmark

atmark

一般ユーザー

root

root

特権ユーザー


[ティップ]

ATDEを起動する環境によっては、GUIログイン画面が表示されずに以下のようなエラー画面が表示される場合があります。

images/common-images/atde/atde_error.png

この場合は、VMwareの設定で「3D グラフィックスのアクセラレーション」をONにした後、ATDEを起動すると 正常にGUIログイン画面が表示されます。設定箇所を以下に示します。

images/common-images/atde/vmware_setting.png
images/common-images/atde/vmware_setting_3d.png
[ティップ]

ATDEに割り当てるメモリおよびプロセッサ数を増やすことで、ATDEをより快適に使用することができます。 仮想マシンのハードウェア設定の変更方法については、VMware社 Webページ(http://www.vmware.com/)から、使用しているVMwareのドキュメントなどを参照してください。

5.4.2. VSCode のセットアップ

ATDE に VSCode 及び、開発用エクステンションとクロスコンパイル用ライブラリをインストールしてください。

以下の手順は全てATDE上で実施します。

5.4.2.1. ソフトウェアのアップデート

ATDE のバージョン v20230123 以上には、 VSCode がインストール済みのため新規にインストールする必要はありませんが、 使用する前には最新版へのアップデートを行ってください。

[ATDE ~]$ sudo apt update
[ATDE ~]$ sudo apt upgrade

図5.3 ソフトウェアをアップデートする


VSCode を起動するには code コマンドを実行します。

[ATDE ~]$ code

図5.4 VSCode を起動する


[ティップ]

VSCode を起動すると、日本語化エクステンションのインストールを提案してくることがあります。 その時に表示されるダイアログに従ってインストールを行うと VSCode を日本語化できます。

5.4.2.2. VSCode に開発用エクステンションをインストールする

VSCode 上でアプリケーションを開発するためのエクステンションをインストールします。

エクステンションはマーケットプレイスからインストールすることができます。 VSCode を起動し、左サイドバーのエクステンションを選択して、検索フォームに「abos」と入力してください。

images/common-images/vscode_install_extension.png

図5.5 VSCode に開発用エクステンションをインストールする


表示された「Armadillo Base OS Development Environment」の 「Install」ボタンを押すとインストールは完了します。

5.4.3. VSCode を使用した初期設定用 SWU の生成

initial_setup.swu はログインパスワードやユーザー固有の証明書などの 初期設定を Armadillo にインストールするためのファイルです。 initial_setup.swu でインストールされるユーザー固有の証明書がない場合、 ユーザーが開発したアプリケーションをインストール、またはアップデートすることができません。 このため、開発開始時に initial_setup.swu のインストールを行う必要があります。

図5.6「initial_setup.swu を作成する」 に示すように、VSCode の左ペインの [COMMON PROJECT COMMAND] から [Generate Initial Setup Swu] を実行してください。

images/abos-images/armadillo_setup_vscode_initial_setup.png

図5.6 initial_setup.swu を作成する


初回実行時には各種設定の入力を求められます。 入力する設定の内容を 図5.7「initial_setup.swu 初回生成時の各種設定」 に示します。

Executing task: ./scripts/generate_initial_setup_swu.sh

mkdir: ディレクトリ '/home/atmark/mkswu' を作成しました
設定ファイルを更新しました:/home/atmark/mkswu/mkswu.conf
証明書のコモンネーム(一般名)を入力してください: [COMMON_NAME] 1
証明書の鍵のパスワードを入力ください(4-1024文字)2
証明書の鍵のパスワード(確認):
Generating an EC private key
writing new private key to '/home/atmark/mkswu/swupdate.key.tmp'
 -----
アップデートイメージを暗号化しますか? (N/y) 3
アットマークテクノが作成したイメージをインストール可能にしますか? (Y/n) 4
rootパスワード: 5
root のパスワード(確認):
atmarkユーザのパスワード(空の場合はアカウントをロックします): 6
atmark のパスワード(確認):
BaseOS/プリインストールコンテナを armadillo.atmark-techno.com サーバーから自動アップデートしますか? (N/y) 7
abos-web のパスワードを設定してください。
abos-web のパスワード(空の場合はサービスを無効にします): 8
abos-web のパスワード(確認):
/home/atmark/mkswu/initial_setup.swu を作成しました。

"/home/atmark/mkswu/initial_setup.swu" をそのまま使うことができますが、
モジュールを追加してイメージを再構築する場合は次のコマンドで作成してください:
  mkswu "/home/atmark/mkswu/initial_setup.desc" [他の.descファイル]

インストール後は、このディレクトリを削除しないように注意してください。
鍵を失うと新たなアップデートはデバイスの /etc/swupdate.pem
を修正しないとインストールできなくなります。
 *  Terminal will be reused by tasks, press any key to close it.

[ATDE ~]$ ls ~/mkswu
initial_setup.desc  initial_setup.swu  mkswu.conf
swupdate.aes-key    swupdate.key       swupdate.pem 9

図5.7 initial_setup.swu 初回生成時の各種設定


1

COMMON_NAME には証明鍵の「common name」として会社や製品が分かるような任意の名称を入力してください。

2

証明鍵を保護するパスフレーズを2回入力します。

3

swuイメージ自体を暗号化する場合に「y」を入力します。

4

アットマークテクノのアップデートをインストールしない場合は「n」を入力します。

5

rootのパスワードを2回入力します。 使用するパスワードは以下のルールに従ってください。

  • 辞書に載っている言葉を使用しない
  • 単調な文字列を使用しない
  • 8文字以上のパスワード長にする

6

atmarkユーザーのパスワードを2回入力します。 何も入力しない場合はユーザーをロックします。 使用できるパスワードの制限はrootと同様です。

7

自動アップデートを無効のままで進みます。ここで「y」を入れると、定期的に アットマークテクノのサーバーからアップデートの有無を確認し、自動的にインストールします。

8

abos-webを使用する場合はパスワードを設定してください。 ここで設定したパスワードは abos-web から変更できます。 使用できるパスワードの制限はrootと同様です。

9

作成したファイルを確認します。「swupdate.aes-key」は暗号化の場合にのみ作成されます。

ファイルは ~/mkswu/initial_setup.swu に保存されます。 この SWU イメージを 「初期設定用 SWU を ABOS Web からインストール」 を参照して Armadillo へインストールしてください。

インストール後に ~/mkswu ディレクトリ以下にある mkswu.conf と、鍵ファイルの swupdate.* をなくさないようにしてください。

5.4.4. 初期設定用 SWU を ABOS Web からインストール

ABOS Web を使用して、PC 上の SWU イメージや HTTP サーバー上の SWU イメージを Armadillo にインストールすることができます。 生成した initial_setup.swu をインストールします。

ABOS Web のトップページから、"SWU インストール"をクリックすると、図5.8「SWU インストール」の画面に遷移します。

images/abos-images/abos-web/swu-select_image.png

図5.8 SWU インストール


この画面では、PC 上の SWU イメージファイルまたは、HTTP サーバー上の SWU イメージファイルの URL を指定して、Armadillo にインストールすることができます。 Armadillo のソフトウェアのアップデート用に最初に行う設定で作成する initial_setup.swu が、まだ Armadillo にインストールされていなければ、"mkswu --init で作成した initial_setup.swu をインストールしてください。" というメッセージを画面上部に表示します。

生成した initial_setup.swu を選択します。 実行中のログが ABOS Web 上に表示されます。インストールに成功したら完了です。

5.4.5. VSCode を使用したインストールディスク作成用 SWU の生成

VSCode の左ペインの [COMMON PROJECT COMMAND] から [Generate Installer On USB Swu] を実行します。

images/common-images/abosde_common_project_command.png

図5.9 make-installer.swu を作成する


次に、対象製品を選択します。

images/common-images/abosde_common_project_command_select_product.png

図5.10 対象製品を選択する


無事に生成された場合、コンソールに以下のログが出力されます。

/home/atmark/.vscode/extensions/atmark-techno.armadillo-base-os-development-environment-1.6.0/shell/desc/make_installer_usb.desc のバージョンを 1 から 2 に変更しました。
Enter pass phrase for /home/atmark/mkswu/swupdate.key: 1
/home/atmark/mkswu/make_installer_usb.swu を作成しました。
To create Armadillo installer on USB memory install /home/atmark/mkswu/make_installer_usb.swu in Armadillo
 *  Terminal will be reused by tasks, press any key to close it.

図5.11 make-installer.swu 生成時のログ


1

パスワードの入力を求められますので、初期化用 swu を生成したときと同じパスワードを入力します

/home/atmark/mkswu ディレクトリ内に make-installer.swu が作成されます。

[注記]

セキュリティーの観点から、インストールディスクによるインストール実行時に以下のファイルを再生成しております:

  • /etc/machine-id (ランダムな個体識別番号)
  • /etc/abos_web/tls (ABOS-Web の https 鍵)
  • /etc/ssh/ssh_host_*key* (ssh サーバーの鍵。なければ生成しません)ABOS 3.19.1-at.3 以降
[警告]

Node-RED ではポート番号 1880 を使用して、ネットワーク上からアクセスして開発します。 しかし、量産時にポートを開けておくと外部からアクセスできてしまう危険性があります。 そのため、make-installer.swu を使用してインストールディスクイメージを生成する場合は、このポートを閉じます。

5.4.5.1. Armadillo に USBメモリを挿入

Armadillo に電源を投入し、インストールディスクを保存するために USB メモリを挿入してください。

[警告]

USB メモリは vfat もしくは ext4 形式でフォーマットし、空き容量が 10GB 以上のものを使用してください。 Armadillo-640 への USB メモリのマウントは不要です。

インストールディスクイメージは installer.img という名前で保存します。すでに同名のファイルが存在する場合は上書きされます。

5.4.5.2. インストールディスク作成用 SWU を ABOS Web からインストール

「初期設定用 SWU を ABOS Web からインストール」 で実行したように、今度は生成した make-installer.swu をインストールします。

ABOS Web のトップページから、"SWU インストール"をクリックすると、図5.12「SWU インストール」の画面に遷移します。 実行時は ABOS Web 上に図5.13「make-installer.swu インストール時のログ」ようなログが表示されます。

images/abos-images/abos-web/swu-select_image.png

図5.12 SWU インストール


生成した make-installer.swu を選択します。

make_installer_usb.swu をインストールします。
SWU アップロード完了

SWUpdate v2023.05_git20231025-r0

Licensed under GPLv2. See source distribution for detailed copyright notices.

[INFO ] : SWUPDATE running : [main] : Running on iot-a6e Revision at1

[INFO ] : SWUPDATE started : Software Update started !

[INFO ] : SWUPDATE running : [install_single_image] : Installing pre_script

[INFO ] : SWUPDATE running : [read_lines_notify] : No base os update: copying current os over

[INFO ] : SWUPDATE running : [read_lines_notify] : Waiting for btrfs to flush deleted subvolumes

[INFO ] : SWUPDATE running : [install_single_image] : Installing Copying installer to USB device

[INFO ] : SWUPDATE running : [install_single_image] : Installing swdesc_command_nochroot 'podman kill -a'

[INFO ] : SWUPDATE running : [install_single_image] : Installing swdesc_command_nochroot --stdout-info 'abos-ctrl make-installer --noprompt --output /target/mnt/installer.img'

[INFO ] : SWUPDATE running : [read_lines_notify] : Using installer image on image file.

[INFO ] : SWUPDATE running : [read_lines_notify] : Would you like to create a windows partition?

[INFO ] : SWUPDATE running : [read_lines_notify] : That partition would only be used for customization script at the end of

[INFO ] : SWUPDATE running : [read_lines_notify] : install, leave at 0 to skip creating it.

[INFO ] : SWUPDATE running : [read_lines_notify] : Custom partition size (MB, [0] or 16 - 364): 0

[INFO ] : SWUPDATE running : [read_lines_notify] : Checking and growing installer main partition

[INFO ] : SWUPDATE running : [read_lines_notify] : Resize device id 1 (/dev/loop0p1) from 513.00MiB to max

[INFO ] : SWUPDATE running : [read_lines_notify] : Copying boot image

[INFO ] : SWUPDATE running : [read_lines_notify] : Copying rootfs

[INFO ] : SWUPDATE running : [read_lines_notify] : Copying appfs

[INFO ] : SWUPDATE running : [read_lines_notify] : At subvol app/snapshots/volumes

[INFO ] : SWUPDATE running : [read_lines_notify] : At subvol app/snapshots/boot_volumes

[INFO ] : SWUPDATE running : [read_lines_notify] : At subvol app/snapshots/boot_containers_storage

[INFO ] : SWUPDATE running : [read_lines_notify] : Trying to shrink the installer partition...

[INFO ] : SWUPDATE running : [read_lines_notify] : Shrinking the installer partition...

[INFO ] : SWUPDATE running : [read_lines_notify] : Cleaning up and syncing changes to disk...

[INFO ] : SWUPDATE running : [read_lines_notify] : Installer updated successfully!

[INFO ] : SWUPDATE running : [read_lines_notify] : -rwxr-xr-x 1 root root 687.0M Jan 23 15:12 /target/mnt/installer.img

[INFO ] : SWUPDATE running : [install_single_image] : Installing post_script

[INFO ] : SWUPDATE running : [read_lines_notify] : Removing unused containers

[INFO ] : SWUPDATE running : [read_lines_notify] : Command 'command podman rm -a -f' output:

[INFO ] : SWUPDATE running : [read_lines_notify] : 9f4f64ec1926d17e75de4060dac4a448e66ca3d9535c408f632e4e2de4bafa4f

[INFO ] : SWUPDATE running : Installation in progress

[INFO ] : SWUPDATE successful ! SWUPDATE successful !

[INFO ] : No SWUPDATE running : Waiting for requests...

swupdate exited

インストールが成功しました。

図5.13 make-installer.swu インストール時のログ


完了後、USBメモリを抜いてください。 もし、エラーが出た場合はArmadillo-640の電源を再投入してやり直してください。

5.4.6. USBメモリ上にインストールディスクイメージを生成

無事に生成が完了した場合、USBメモリ上に installer.img が保存されています。 この installer.img を microSD カードに書き込むことでインストールディスクを作成することができます。動作確認については「インストールディスクの動作確認を行う」をご参照ください。 これで、VSCode を使用してインストールディスクを生成する方法については終了です。

5.5. インストールディスクの動作確認を行う

生成したインストールディスクの動作確認を実施するには、開発に使用した Armadillo 以外の個体が必要になります。 また、インストール先の Armadillo の eMMC 内のデータは上書きされて消えるため、必要なデータは予めバックアップを取っておいてください。

開発したシステムをインストールディスクにする手順を無事に終了している場合、USB メモリ中に installer.img が存在します。 microSDカードに`installer.img` を書き込んで、インストールディスクを作成します。

5.5.1. インストールディスクを作成する

5.5.1.1. Windows PC 上でインストールディスクを作成する

Windows PCの場合、[Win32 Disk Imager Renewal] を使用してimgファイルをmicroSDカードに書き込みます。 [Win32 Disk Imager Renewal] は以下からダウンロードしてください。

最新版のEXEファイルをダウンロードして起動します。以下にimgファイルの書き込み手順について示します。

  1. [image File] に installer.img ファイルを指定します。
  2. [Device] には microSD が挿入されているスロットを指定します。

    images/node-red/common-images/setup_win_write.png

    図5.14 Win32 Disk Imager Renewal 設定画面


  3. [write] ボタンを押すと警告が出ますので、問題なければ[はい]を選択して書き込みます。
  4. 書き込み終了ダイアログが表示されたらインストールディスクの作成は完了です。

5.5.1.2. Linux PC 上でインストールディスクを作成する

Linux PCの場合、以下のようにmicroSDカードに書き込むことができます。 sd[X] の [X] は microSD のドライブを指定してください。

[PC ~]$ sudo dd if=installer.img of=/dev/sd[X] bs=1M oflag=direct status=progress

図5.15 インストールディスクを作成する


書き込みが終了したらインストールディスクの作成は完了です。

5.5.2. インストールディスクを使用する

  1. インストールディスクを Armadillo-640 の microSD に挿入します。microSD の挿抜方法は「microSDカードの挿抜方法」を参照してください。
  2. Armadillo-640 の JP1 と JP2 を共にジャンパーでショート(SD ブートに設定)します。JP1 と JP2 の場所については「インターフェースレイアウト」を参照してください。
  3. Armadillo-640 の AC アダプターをコンセントに繋ぎ電源を投入すると、20分程度でインストールが完了します。
  4. インストールが完了すると電源が切れて、全ての LED が消灯します。
  5. Armadillo-640 の AC アダプターをコンセントから抜き、続いてジャンパーと microSD カードを外してください。
  6. 10 秒以上待ってから再び電源を投入すると、Armadillo-640 が起動します。

5.6. SDカードを使用する

以下の説明では、共通の操作が可能な場合に、 microSD/microSDHC/microSDXC カードを microSD カードと表記します。

5.6.1. ハードウェア仕様

Armadillo-640 のSDホストは、i.MX6ULL の uSDHC (Ultra Secured Digital Host Controller) を利用しています。

Armadillo-640 では、オンボードmicroSDコネクタ (CON1) がuSDHC2を利用しています。

機能
  • カードタイプ: microSD/microSDHC/microSDXC/microSDIO
  • バス幅: 1bit or 4bit
  • スピードモード: Default Speed (24.75MHz), High Speed (49.5MHz)
  • カードディテクトサポート
インターフェース仕様

CON1はハイスピード(最大クロック周波数: 49.5MHz)に対応したSDインターフェースです。 信号線はi.MX6ULLのSDホストコントローラ(uSDHC2)に接続されています。

SDカードに供給される電源はi.MX6ULLのNAND_ALEピン(GPIO4_IO10)で制御が可能です。 Highレベル出力で電源が供給され、Lowレベル出力で電源が切断されます。

[警告]

CON1は活線挿抜に対応していません。microSDカードの挿抜は、電源を切断してから行ってください。

[警告]

SDコントローラ(uSDHC2)はCON1、CON9、CON11で利用可能ですが、排他利用となります。

表5.2 CON1 信号配列

ピン番号 ピン名 I/O 説明

1

DAT2

In/Out

SDデータバス(bit2)、i.MX6ULLのNAND_DATA02ピンに接続

2

CD/DAT3

In/Out

SDデータバス(bit3)、i.MX6ULLのNAND_DATA03ピンに接続

3

CMD

In/Out

SDコマンド/レスポンス、i.MX6ULLのNAND_WE_Bピンに接続

4

VDD

Power

電源(VCC_3.3V)

5

CLK

Out

SDクロック、i.MX6ULLのNAND_RE_Bピンに接続

6

VSS

Power

電源(GND)

7

DAT0

In/Out

SDデータバス(bit0)、i.MX6ULLのNAND_DATA00ピンに接続

8

DAT1

In/Out

SDデータバス(bit1)、i.MX6ULLのNAND_DATA01ピンに接続


5.6.2. microSDカードの挿抜方法

  1. 上からカバーを軽く押し、約1.2mmスライドさせて、ロックを解除します。

    images/sd-1.png

    図5.16 カバーのロックを解除する


  2. カバーを開けます。

    images/sd-2.png

    図5.17 カバーを開ける


    [警告]

    カバーは過度な力で回転させたり、回転方向以外の方向へ力を加えると、 破損の原因となりますので、ご注意ください。

  3. 任意の角度までトレイを開いた状態で、microSDカードを挿抜します。

    images/sd-4.png

    図5.18 microSDカードの挿抜


    [ティップ]

    microSDカード挿入方向については、カバーに刻印されているカードマークを目安にしてください。

    images/sd-3.png

    図5.19 カードマークの確認


  4. カバーを閉めます。

    images/sd-5.png

    図5.20 カバーを閉める


  5. 上からカバーを軽く押し、約1.2mmスライドさせて、ロックします。

    images/sd-6.png

    図5.21 カバーをロックする


[ティップ]

microSDカード装着後のカードの抜き取り手順は挿入時と同じです。

5.7. アップデート用 SWU の生成手法

開発終了後の Node-RED について、フローの修正などが必要な場合、修正したフローを製品に適用する必要があります。 その方法として SWUpdate を推奨します。SWUpdate を用いると必要なソフトウェアのみをアップデートすることが可能です。 以下に SWUpdate で使用する SWU の生成方法について記します。

  • 更新用フローの取得
  • ATDE 上でアップデート用 SWU の生成
  • アップデート用 SWU のインストール
[警告]

この機能を使用するには、「量産時のイメージ書き込み手法」 の内容を完了している必要があります。

5.7.1. 更新用フローの取得

Node-RED からフローを取得します。 メニューから [書き出し] を選択します。

images/node-red/common-images/get_flows.png

図5.22 フローの書き出し


書き出し対象が [現在のタブ] の場合、クリップボードに含まれるノードの一覧が表示されます。 問題なければ右下にある[ダウンロード]ボタンを押してダウンロードします。

images/node-red/common-images/download_flows.png

図5.23 フローのダウンロード


flows.json がダウンロードされたことを確認してください。

5.7.2. ATDE 上でアップデート用 SWU を生成

ATDE を起動します。以下のディレクトリに SWU 生成に必要な desc ファイルが置かれたディレクトリをコピーします。コピーしたディレクトリにダウンロードしたフロー flows.json を配置します。

[ATDE ~]$ cp -r /usr/share/mkswu/examples/node-red/ ~/mkswu/node-red/
[ATDE ~]$ cp flows.json ~/mkswu/node-red/

図5.24 フローの配置


以下のコマンドを実行して SWU を生成します。

[ATDE ~]$ mkswu --update-version ~/mkswu/node-red/update_flows.desc 1
/home/atmark/mkswu/node-red/update_flows.desc のバージョンを 1 から 2 に変更しました。
[ATDE ~]$ mkswu ~/mkswu/node-red/update_flows.desc -o update_flows.swu
Enter pass phrase for /home/atmark/mkswu/swupdate.key: 2
update_flows.swu を作成しました。

図5.25 SWU の生成


1

SWU のバージョンの更新を行います。

2

証明書の鍵のパスワードを入力します。

成功すると現在のディレクトリに update_flows.swu が生成されます。

5.7.3. アップデート用 SWU の適用

「ATDE 上でアップデート用 SWU を生成」 で生成した update_flows.swu を製品に適用します。 「初期設定用 SWU を ABOS Web からインストール」 を参照して Armadillo へインストールしてください。

インストールに成功したら Armadillo は自動的に再起動します。

[注記]

初期設定用 SWU を適用していない状態で update_flows.swu を適用した場合「FAILURE ERROR : Signature verification failed」というエラーが発生します。 その場合は、「VSCode を使用した初期設定用 SWU の生成」「初期設定用 SWU を ABOS Web からインストール」 を参照して、初期設定用 SWU の生成と Armadillo へのインストールを行ってください。

初期設定用SWU を適用後、改めて update_flows.swu を適用してください。



[1] バージョン3.xまではPUEL(VirtualBox Personal Use and Evaluation License)が適用されている場合があります。

[2] 特権ユーザーでGUIログインを行うことはできません