本章では、ソフトウェアによるi.MX6ULLの電源制御方法について説明します。
ハードウェアによる電源制御については、「外部からの電源制御」を参照してください。
poweroff コマンドを利用して、i.MX6ULL 自身で電源を OFF にすることができます。poweroff コマンドで電源を OFF にすると、ONOFF ピン(Armadillo-640 CON9 11ピン)を制御することで電源を ON にすることができます。
電源を OFF にするには、次のようにコマンドを実行します。
poweroff コマンドによる電源 OFF.
[armadillo ~]# poweroff
| |
---|
i.MX6ULL 自身による制御を行うには、Linux カーネルのバージョンが v4.14-at3 以降である必要があります。 |
13.2. WLAN/RTC オプションモジュールによる制御
WLAN/RTC オプションモジュールに搭載されている RTC のアラーム割り込みによって、i.MX6ULL の電源を ON にすることができます。
このためには、WLAN/RTC オプションモジュール上のJP1(はんだジャンパ)をショートしておく必要があります。JP1については「JP1(ONOFFピン接続ジャンパ)」を参照してください。
また、RTCの割り込み信号はアラームを解除するまで出力され続けるため、i.MX6ULL の電源が ON になってから5秒以内に、ブートローダーもしくはLinuxカーネルがアラームを解除する必要があります。
ブートローダーの起動時に RTC のアラームを解除するには次のようにコマンドを実行します。
=> setenv stop_nr3225sa_alarm yes
=> saveenv
| |
---|
ブートローダーの起動時に RTC のアラームを解除するにはブートローダーのバージョンが2018.03-at4 以降である必要があります。 |
i.MX6ULLの電源をOFFにし、1分後に電源をONにするには、次のようにコマンドを実行します。
i.MX6ULLの電源をOFFにし、1分後に電源をONにする手順.
[armadillo ~]# echo +60 > /sys/class/rtc/rtc0/wakealarm
[armadillo ~]# poweroff
: (省略)
[ 32.428051] reboot: Power down
U-Boot 2018.03-at4 (Dec 18 2018 - 18:34:38 +0900)
CPU: Freescale i.MX6ULL rev1.0 at 396 MHz
Reset cause: POR
I2C: ready
DRAM: 512 MiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... OK
In: serial
Out: serial
Err: serial
Net: FEC
=>
|
1分後にアラームを設定します。
|
|
i.MX6ULLの電源をOFFにします。
|
|
1分経過後、自動的にi.MX6ULLの電源がONになります。
|
| |
---|
WLAN/RTC オプションモジュールに搭載されている RTC NR3225SAは、毎分 0 秒にしかアラーム割り込みを発生させることができません。 0時 0分 30秒の時に、1秒後にアラームが鳴るように設定したとしても、実際にアラーム割り込みが発生するのは 0時 1分 0秒となります。 |
| |
---|
sysfs RTC クラスディレクトリ以下の wakealarm ファイルからアラーム割り込みを発生させるには、Linux カーネルのバージョンが v4.14-at10 以降である必要があります。 |
| |
---|
linux-v4.14-at10 以前のLinux カーネルでも、ioctl RTC_ALM_SET, ioctl RTC_AIE_ONを使用してアラーム割り込みを発生させることができます。 詳しくは、RTC の man ページを参照してください。 |