Y.s Diary


 

2015年 01月 27日
ファームウェア (OpenDingux Release 2013-10-04) の書き込み (GCW Zero)
+ [必要なファイル]

Firmware Flashing から

  • ingenic-boot-bin.64bit.2013-06-07.tar.gz (家の Ubuntu は x86_64 なので)
  • mbr.2013-10-04.bin
  • ubiboot-v20_mddr_512mb.2013-10-04.bin (家の GCW Zero は製品版なので)
  • system.2013-10-04.bin
  • data.2013-11-03.bin

をダウンロードします。

+ [前準備]

ingenic-boot を展開します。

% tar xpf ingenic-boot-bin.64bit.2013-06-07.tar.gz
% cd ingenic-boot-bin

作成された ingenic-boot-bin ディレクトリに移動します。

% cd ingenic-boot-bin

以下のファイルも同じディレクトリに置きます。

  • mbr.2013-10-04.bin
  • ubiboot-v20_mddr_512mb.2013-10-04.bin
  • system.2013-10-04.bin
  • data.2013-11-03.bin
+ [書き込み]

**** GCW Zero は、フル充電していますか。 ****

以下の手順で GCW Zero を USB ブートモードにします。

  1. GCW Zero の電源を OFF にします。
  2. GCW Zero と PC を USB ケーブルで繋ぎます。
  3. SELECT キーを押しながら、GCW Zero の電源を入れます。

lsusb で確認します。

% lsusb | grep 4770
Bus 001 Device 003: ID a108:4770

ingenic-boot でも確認します。

% sudo ./ingenic-boot --probe
probe only
bus 001 dev 003: pid 4770
 CPU data: JZ4770V1

以下のコマンドで書き込みます。

% sudo ./ingenic-boot --mbr=mbr.2013-10-04.bin --boot=ubiboot-v20_mddr_512mb.2013-10-04.bin --system=system.2013-10-04.bin --data=data.2013-11-03.bin

書き込みが終わると、自動でリブートします。

リブート後はファイルシステムのリサイズが行われますので、 通常のブートよりも時間が掛かります。

これで OpenDingux Release 2013-10-04 になりました。

ファームウェアのアップデート (GCW Zero)
+ [_]

OpenDingux Release 2013-10-04 から OpenDingux Release 2014-08-20 へのアップデートを行います。

+ [必要なファイル]

Firmware Updates から

  • gcw0-update-2014-05-05-take2.opk
  • gcw0-anti-corruption-update-2014-05-05.opk
  • gcw0-update-2014-08-20.opk

をダウンロードします。

+ [前準備]

microSD カードのルートディレクトリに apps ディレクトリを作成します。

以下のファイルを apps ディレクトリにコピーします。

  • gcw0-update-2014-05-05-take2.opk
  • gcw0-anti-corruption-update-2014-05-05.opk
  • gcw0-update-2014-08-20.opk
+ [アップデート]

**** GCW Zero は、フル充電していますか。 ****

microSD カードを GCW Zero に挿して電源を入れます。

  • special anti-corruption mini-update をインストールします。

    OpenDingux Release 2014-05-05 へのアップデート時に

    Flashed image is corrupted!
    

    が出なければ実行する必要は無いらしいのですが、実行してしまいました。

    1. L ボタンもしくは R ボタンで Menu の applications を選択します。
    2. D-PAD で Anti-Corruption を選択します。
    3. A ボタンを押します。
    4. D-pad で Update を選択します。
    5. START ボタンを押します。

    インストールが終了したらリブートします。

  • OpenDingux Release 2014-05-05 へのアップデートを実行します。

    1. L ボタンもしくは R ボタンで Menu の applications を選択します。
    2. D-PAD で OS Update (OpenDingux Update 2014-05-05) を選択します。
    3. A ボタンを押します。
    4. D-pad で Update を選択します。
    5. START ボタンを押します。

    アップデートが終了したらリブートします。

  • OpenDingux Release 2014-08-20 へのアップデートを実行します。

    1. L ボタンもしくは R ボタンで Menu の applications を選択します。
    2. D-PAD で OS Update (OpenDingux Update 2014-08-20) を選択します。
    3. A ボタンを押します。
    4. D-pad で Update を選択します。
    5. START ボタンを押します。

    アップデートが終了したらリブートします。

これで OpenDingux Release 2014-08-20 になりました。

 
2013年 12月 16日
作業中 (GCW Zero)
+ [ONScripter]

テスト中

(画面のゲームは、 『NOeSIS-嘘を吐いた記憶の物語-』です)

ONScripter をコンパイルして OPK ファイルを作っただけです。

squashfs は書き込みが出来ない様ですので、 セーブデータの扱いをどうするかで悩んでます。

 
2013年 12月 14日
SDL のキーイベント (GCW Zero)
+ [SDLKey]

SDL のキーイベントで返って来る値です。

  • D-PAD 上:SDLK_UP
  • D-PAD 下:SDLK_DOWN
  • D-PAD 左:SDLK_LEFT
  • D-PAD 右:SDLK_RIGHT
  • A ボタン:SDLK_LCTRL
  • B ボタン:SDLK_LALT
  • X ボタン:SDLK_LSHIFT
  • Y ボタン:SDLK_SPACE
  • START ボタン:SDLK_RETURN
  • SELECT ボタン:SDLK_ESCAPE
  • L ボタン:SDLK_TAB
  • R ボタン:SDLK_BACKSPACE
  • Power ボタン 下:SDLK_PAUSE

Power ボタン 上の値は不明です。(SDLK_POWER だと思ったのですが…)

しかも、Power ボタン 上の SDL_KEYDOWN イベントは来るのですが、 SDL_KEYUP イベントが来ない様で謎は深まるばかりです。

 
2013年 12月 13日
サンプルプログラム (GCW Zero)
+ [バージョンアップ]

SDL_ttf による文字の表示処理を追加しました。

こちらからどうぞ。

 
2013年 12月 12日
初期設定 (GCW Zero)
+ [日付と時刻]

最初にシステムクロックの設定を行います。

  1. L ボタンと R ボタンでメニューの applications を選択します
  2. D-PAD で Clock を選択し A ボタンで起動します
  3. D-PAD で SETUP を選択し START ボタンを押します
  4. D-PAD で 年月日時分を設定します (左右で項目の移動、上下で値の変更です)
  5. D-PAD の左右で SET を選択し START ボタンを押します
  6. SELECT ボタンで戻ります
    (もう一度 SELECT ボタンを押すとメニューまで戻ります)
+ [開発環境]

Ubuntu 13.10 x86_64 にクロスコンパイル環境を作成します。

  1. http://www.gcw-zero.com/develop
    

    から GCW Zero Toolchain をダウンロードします。

    % cd /tmp
    % wget -nd -N http://www.gcw-zero.com/files/opendingux-gcw0-toolchain.2013-10-04.tar.bz2
    
  2. /opt に展開します。

    % cd /opt
    % sudo tar xf /tmp/opendingux-gcw0-toolchain.2013-10-04.tar.bz2
    % sudo chown -R root:root gcw0-toolchain
    
超適当な OPK ファイルの作り方 (GCW Zero)
+ [プログラム]

SDL を使って普通に作ります。

+ [コンパイル]

GCW Zero 用の Makefile を作成します。

  1. クロスコンパイラを設定します。

    CROSS_COMPILE = /opt/gcw0-toolchain/usr/bin/mipsel-gcw0-linux-uclibc-
    CC = $(CROSS_COMPILE)gcc
    
  2. GCW Zero のルートディレクトリイメージを設定します。

    SYSROOT = $(shell $(CC) --print-sysroot)
    
  3. クロスコンパイラ用の sdl-config を利用して必要なオプションを設定します。

    IFLAGS = $(shell $(SYSROOT)/usr/bin/sdl-config --cflags)
    LFLAGS = $(shell $(SYSROOT)/usr/bin/sdl-config --libs)
    
+ [パッケージング]
  1. パッケージ作業用のディレクトリを作成します。

    % mkdir opk_root
    % cd opk_root
    
  2. このディレクトリにプログラムファイルをコピーします。

    % cp <ビルドディレクトリ>/exec_sample ./
    
  3. PNG フォーマットでアイコンファイル (exec_sample.png) を作成します。
    アイコンのサイズは、32 x 32 です。

  4. 以下の様な、メタデータ用のファイル (default.gcw0.desktop) を作成します。

    [Desktop Entry]
    Name=Exec Sample
    Comment=Execute Sample Ver. 001
    Exec=exec_sample
    Icon=exec_sample
    Terminal=false
    StartupNotify=true
    Type=Application
    Categories=applications;
    

    行頭に空白を入れると誤動作する様です。

    アイコンファイル名の拡張子 (.png) は省略します。

  5. 一つ上のディレクトリに移動し、OPK ファイルを作成します。

    % cd ..
    % mksquashfs opk_root exec_sample.opk -all-root -noappend -no-exports -no-xattrs
    
  6. OPK ファイルは、microSD カード等にコピーして GCW Zero に持って行きます。

    % cp exec_sample.opk <microSD カードのルート>/apps/
    
  7. default.gcw0.desktop の Categories で指定した場所にアイコンが表示されます。

+ [ダウンロード]

上記のサンプルプログラムのダウンロードは、 こちらからどうぞ。

 

前のページ     次のページ


This page is written in Japanese.