MVME5500 BSPへMVME6100 Flashドライバをポーティングする方法について
・MVME5500 BSPには、vxWorksからFlashをプログラムするツールが入っておりません。
弊社の方で、MVME6100 BSPのFlashドライバをMVME5500 BSPへポーティングし
動作させることを可能に致しました。
※なお、あくまで弊社が独自に行ったものですので万が一使用方法を間違って
MotLoadを消してしまい何も立ち上がらない状態になった場合には
有償修理扱いとなりますのでご注意ください。
・MVME5500 BSPへの追加方法
注)今回、ポーティングを行ったMVME5500 BSPのバージョンは
BSP version 1.2/1 になります。
他のバージョンでの動作は保証いたしません。
1.MVME5500 BSPのフォルダーにある下記のファイルのバックアップを取ります。
config.h sysLib.c mv5500A.h sysMotVpd.h
例: cp config.h config.h.org
cp sysLib.c sysLib.c.org
cp mv5500A.h mv5500A.h.org
cp sysMotVpd.h sysMotVpd.h.org
2.付属の、mvme5500_flashdrv.zipを解凍し下記ファイルを
MVME5500 BSPのフォルダーにコピーします。
sysFlash.h sysFlash.c sysFlashUtil.c sysMotVpd.h sysProgramBootImage.c
例: cp sysLib.c mv5500A.h sysMotVpd.h sysFlash.h sysFlash.c sysFlashUtil.c sysMotVpd.h sysProgramBootImage.c /export/home/tornado/2.2.1/target /config/mv5500
3.config.hファイルに下記1行を追加します。
#define INCLUDE_BOOT_IMAGE_PROGRAM
4.vxWorksをビルドします。
・Flashの書き込み手順について
注)以後の手順は、Flash1(J8 2-3)からvxWorksを起動しFlash1へ
vxWorksイメージを再書き込みする手順です。
Flash0での動作は保証いたしません。
1.作成したvxWorksイメージを起動します。
2.起動後、下記のコマンドでFlashの状態を確認します。
-> sysFlashShow
Device-Name Base-Address,Size Device-Size,Count Boot Type
/flash0 F8000000,02000000 01000000,00000002 No Intel 28F128
/flash1 FE000000,00800000 00400000,00000002 Yes Intel 28F320
value = 67 = 0x43 = 'C'
->
上記のように表示されれば動作しております。
3.次にネットワークのホストから、vxWorksイメージを読み込んで
Flash1へ書き込みます。
下記の例のようにprogramRemoteBootImageコマンドを実行します。
注)この手順では、ネットワークに正常に接続できておりホストから
vxWorksイメージをダウンロードできる必要があります。
例:vxWorks BOOTROMの場合
-> programRemoteBootImage "-n/tftpboot/bootrom.bin","-d/flash1"
Downloading /tftpboot/bootrom5500_423.bin from 172.16.0.7
(RSH) … 0x0004A070 bytes transferred to 0x1EDACD80.
Programming /flash1 …sysFlashUtilOpen: pFlashInst = 0x1fffff90
done.
value = 0 = 0x0
例:vxWorks.st_romイメージの場合
-> programRemoteBootImage "-n/tftpboot/vxWorks.st_rom.bin","-d/flash1"
Downloading /tftpboot/vxWorks_5500.st_rom.bin from 172.16.0.7
(RSH) … 0x0006C340 bytes transferred to 0x1EDACFE0.
Programming /flash1 …done.
value = 0 = 0x0
programRemoteBootImageのパラメータについて
programRemoteBootImage
-n filename to download //ファイル名を指定
-d devicename of FLASH bank to be programmed //Flashのデバイス名を指定
※必ず/flash1を指定します。
-h host dotted ip address (optional – boot host as default)
//省略した場合には、bootパラメータ
が使用されます。
-g gateway dotted ip address (optional – boot gateway as default)
//省略した場合には、bootパラメータ
が使用されます。
syntax: remoteBootImage "-n<fname>","-d<devname>","-h<host>","-g<gateway>"
4.正常に書き込まれているか確認します。
dコマンドにてFlash1ブート領域の先頭からダンプします。
0xfff00100からvxWorksイメージのヘッダーが入ってることを確認します。
-> d 0xfff00000
fff00000: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff00010: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff00020: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff00030: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff00040: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff00050: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff00060: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff00070: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff00080: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff00090: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff000a0: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff000b0: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff000c0: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff000d0: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff000e0: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
fff000f0: 0000 0000 0000 0000 0000 0000 0000 0000 *…………….*
value = 21 = 0x15
-> d
fff00100: 4800 0035 4800 0039 436f 7079 7269 6768 *H..5H..9Copyrigh*
fff00110: 7420 3139 3834 2d31 3939 3920 5769 6e64 *t 1984-1999 Wind*
fff00120: 2052 6976 6572 2053 7973 7465 6d73 2c20 * River Systems, *
fff00130: 496e 632e 3be0 0002 4800 0009 7c7f 1b78 *Inc.;…H…|..x*
fff00140: 7c00 0278 7c10 43a6 7c11 43a6 7c12 43a6 *|..x|.C.|.C.|.C.*
fff00150: 7c13 43a6 7c14 43a6 7c15 43a6 7c16 43a6 *|.C.|.C.|.C.|.C.*
fff00160: 7c17 43a6 3c20 0000 6021 3000 3c60 8400 *|.C.< ..`!0.<`..*
fff00170: 6063 00bc 4c00 012c 7c70 fba6 4c00 012c *`c..L..,|p..L..,*
fff00180: 7063 0000 7e00 066c 7c00 04ac 7c60 0124 *pc..~..l|…|`.$*
fff00190: 7c00 04ac 4c00 012c 7c96 faa6 3ca0 0100 *|…L..,|…<…*
fff001a0: 7c84 2b78 7c96 fba6 7c00 04ac 4c00 012c *|.+x|…|…L..,*
fff001b0: 7063 0000 4c00 012c 7c60 01a4 4c00 012c *pc..L..,|`..L..,*
fff001c0: 7c61 01a4 4c00 012c 7c62 01a4 4c00 012c *|a..L..,|b..L..,*
fff001d0: 7c63 01a4 4c00 012c 7c64 01a4 4c00 012c *|c..L..,|d..L..,*
fff001e0: 7c65 01a4 4c00 012c 7c66 01a4 4c00 012c *|e..L..,|f..L..,*
fff001f0: 7c67 01a4 4c00 012c 7c68 01a4 4c00 012c *|g..L..,|h..L..,*
value = 21 = 0x15
->