外部シリアルFlashへ書き込み

white cloudsさんさーくすさん が外部シリアルFlash(以下外Flash)へモニタデバッガを書き込まれているのを見て、私も挑戦してみました…というより、Interface 2010年6月号を読んだ時にピンときて即共立エレショップで4Mbit版を購入してたんですがね

両者のかたは、RSPI1を使用して外Flashへモニタデバッガを書き込まれています。そのために、CQ出版からDLした書き込み用のソースコードを数箇所変更されています。この内容を見ていて、「RSPI0そのままを使って外Flashへ書き込みができないかな~」と思ったのが切っ掛けで、実験してみることにしました。

よくよく考えると、モニタデバッガは1度シリアルFlashからRAMへ展開されてそこで実行されます。ということは、作ったプログラムがアクセスしない限り、転送が終わったらシリアルFlashへアクセスする事はないのではないかと考えた訳です。で、オシロスコープを使って、シリアルFlashへのアクセスタイミングを観測しました。

最初、HEWとボードを接続する時にアクセスするのかと思って波形を観測してたのですが、一切クロックも何も生成されず。オシロのピンのあて方ががおかしいのかな…と思いつつ何気にUSBケーブルをPCから抜いて再び挿した時に波形を観測する事が出来ました。考えてみれば直ぐ分る事で、このマイコンはUSBコントローラを内蔵していて、PCとの接続の時にもこのコントローラを使用します。つまり、この時点でSH7262は動いていないと駄目なんです。

ここまでの実験で、シリアルFlashへのアクセスはUSBケーブルをPCへ接続した時(他から電源を供給していない場合)のみです。この事が分かり、先が少し明るくなってきました。

今まで、付録基板に半田付けを一切していなかったのですが、重い腰を上げ、必要最低限+αの部品取り付けを決行しました。

先ず、内Flashの内容を書き換える気はないので、書き込み不可にします(JP1をカット、JP2を半田ショート)。内/外の切り替えが出来るようにJP16をカットし、JPP3にジャンパ用のピンヘッダを付けます。あと、外Flashを取り付けられるようにCN3にピンヘッダを付けます(JPP1、JPP2もさりげなく付けておきました。JPP1には鈴商で買った極小タクトSWを付けてます)。

RIMG0145

外FlashはSTMicroelectronicsの M25P40VMN6P です。8ピンで1.27mmピッチですので、手持ちのダイセン電子工業の変換基板連結ソケットを使って2.54mmピッチに変換しました。ついでにパスコンも付けておきました。

RIMG0146

外Flashをブレッドボードに挿し、付録基板とは以前作成したケーブルで繋ぎます。繋ぎ先は勿論 RSPI0 です。外Flashの S端子 には Vcc と SSL00 とを切り替えるスライドSWを付けました。

RIMG0144



さていよいよ書き込みです……っと、その前に、オリジナルのライタソフトをM25P40用に修正しないといけないです。

[resetprg.c]
 【前】#define SR_Init  0x000000F0
 【後】#define SR_Init  0x000000E0

[serial_flash.h]
 【前】
 #define SF_PAGE_SIZE   256
 #define SF_SECTOR_SIZE  0x8000
 #define SF_NUM_OF_SECTOR 2

 【後】
 #define SF_PAGE_SIZE   256
 #define SF_SECTOR_SIZE  0x10000
 #define SF_NUM_OF_SECTOR 8


さていよいよ書き込みです。
基板をPCへ繋ぐ前に、JPP3をショートして、外FlashのS端子をVccへ接続しておきます。この状態でPCへ繋いで認識されている事を確認します。HEWのモニタデバッガを起動します。JPP3を開放し、外FlashのS端子を SSL00 と繋ぎます。後はInterfaceに書かれている手順どおりに書き込みをします。少々時間がかかりますが、最後に基板上のLEDが点滅しますので、それを確認してUSBケーブルをPCから抜き、HEWを強制終了させます。基板等はそのままの状態でUSBケーブルをPCへ接続し、認識される事を確認します(『ピポっ』と音がします)。HEWを立ち上げ、適当プロジェクト(LEDチカチカサンプル等)を開き、モニタデバッガを起動、ソフトをRAMへロードし、リセットスタートで動作(LEDチカチカ等)すればOKです。

念の為、外Flashを外してJPP3をショートして起動できるかの確認もしましたがこれもOKです(内Flashは無傷でした)。

これで安心してROM化のテストが出来ます。
スポンサーサイト

コメントの投稿

非公開コメント

黒ねこ時計 くろック D02
プロフィール

jujurou

Author:jujurou
運営HP:チャコの部屋
Twitter:jujurou

カレンダー
01 | 2017/02 | 03
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 - - - -
最新記事
最新コメント
カテゴリ
ユーザタグ

RaspberryPi ぺるけ Linux TRminiWatterPart4 トランジスタ式ミニワッター MPD イーサネットコンバータ OpenOCD DAC FON2405E buildroot FM3ペリフェラル BeagleBoneBlack library FM3評価ボード ODROID-U2 mingw OpenGL TL-WR700N Edison bitbake KiCad VMware シングル FM4 ミニワッター 6N6P 計測 

月別アーカイブ
ランキング

FC2 Blog Ranking

カウンター
検索フォーム
リンク
RSSリンクの表示
QRコード
QRコード
ライセンス
クリエイティブ・コモンズ・ライセンス
Twitter