スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

OpenOCD MB9BF121対応版

久しぶりのblog更新となります。なんか、制欲(制作意欲)が湧かなくてアニメを見たり、小説を読んだりとフラフラとしておりました。

ずいぶん前になりますが、Cypress(Spansion)からFM3の32pinパッケージ品が出ていました。一般に手に入るようになったのは昨年末くらいだったでしょうか(Digi-Key)。少ピン品が欲しかったのでサクッと買ってしまったのが冒険の始まりに……まっ、いつものOpenOCDへ対応させる事になってしまったのです。

MB9BF121は少ピンになったので、JTAGではなくSWDで繋ぐ必要があります。OpenOCDではFDTIを使ったドングルでSWD接続できるようになったので、JTAGkey cloneで試してみました。JTAGkeyのコネクタ変換基板とMB9BF121の変換基板を作成しています。

RIMG0631.jpg RIMG0630.jpg
RIMG0629.jpg

MB9BF121に搭載されているFlashは今までのと書き込みシーケンスが異なっていたのと、CRトリミングデータが消されてしまう現象(仕様)となっていたのでチョイ変どころではない変更になってしまいました。

mb9bf121_flash_size.png

MB9BF121のFlashは上図の様に1セクタ=8Kbyteです。4byte毎にセクタが入れ替わるというヘンテコな仕様では無くなってます。また、最終セクタ(SA7)が4byte分少ないです。この4byteはというと…CRトリミングデータ用の領域に使われちゃってるんですね。それも、SA7をセクタイレースしたり、FlashをチップイレースするとCRトリミングデータも消えてくれるというステキな仕様です。なのでこのケースではイレース前にCRトリミングデータを読み出し、イレース後に書き込む処理を追加しました。

Flashへのデータ書き込みのシーケンスが大幅に変わったのでこれにも対応しました。FM3、FM4、FM0+シリーズは全てFlash書き込み時は2byteアクセスする必要があり、OpenOCDからは直接2byteアクセスが出来ない(1byteアクセスを2回行う)仕様なので、従来からFlash書き込みシーケンスはアドレス依存しないように記載したソースコードから機械語を生成してRAMに展開して書き込んでいるのですよね。なので今回同様に対応しました。この時、FM4対応で入った方法を参考にインプリしています。

これらの対応で、OpenOCDからの書き込みではCRトリミングデータを消すことなしにFlashへプログラムを書き込む事ができます。

openocd_mb9bf121_fll_write_cr.png

対応したOpenOCDとMB9BF121のプロトタイプは【物置】に置きました。
これでようやくスタートラインに立つことが出来ました。
スポンサーサイト

tag : OpenOCD

コメントの投稿

非公開コメント

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

jujurou

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

カレンダー
05 | 2017/06 | 07
- - - - 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 29 30 -
最新記事
最新コメント
カテゴリ
ユーザタグ

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

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

FC2 Blog Ranking

カウンター
検索フォーム
リンク
RSSリンクの表示
QRコード
QRコード
ライセンス
クリエイティブ・コモンズ・ライセンス
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。