楽天市場
[無料でホームページを作成] [通報・削除依頼]

続 LPC1114 USBブートローダー

LPC1114FN28/104のブートローダーを改良しました。(ハードの変更点はJMP端子の追加のみ。)

以前ご紹介したブートローダーでは、"USBを使用したアプリケーションソフト"を書き込むと原理上作動しないので
この点を改善しました。

<改善点>
ブートローダーモードとユーザープログラムモードの判定にUSB D-の信号レベルを用いていたが、これを廃止する。
新たにGPIO0_11にJMP端子を接続し、GPIO0_11がGNDレベル(JMPショート)の時をユーザープログラムモード
GPIO0_11がVDDレベル(JMPオープン)の時をブートローダーモードとする。

JMP端子のショートピンを外した状態でプログラムを書き込み、書き込んだプログラムを実行するときはJMP端子にショートピンを接続して通電する。

<回路図・配線図>
以前の回路に対しGPIO0_11の信号線にJMP端子を追加しただけの変更。
img_20150713-125937.png

img_20150711-203443.jpg

<ファームウエア>
回路がUSBデバイスと認識されないときは、ソース中の"#0"の部分を変更してください。ソース2295行目
IRCのクロック周波数を補正する必要があります。
ちなみに3個のデバイスで確認したところ1個目が0、2個目が4、3個目が5でした。
(全てマイナス側でしたが、プラス側に動作点が存在するものがあるかも知れません。その場合はsubs->adds)
3個のデバイス全てでブートローダーの動作を確認しました。

                       @@
    ldr    r2,[r6,#(IRCCTRL-SYSMEMREMAP)]
    subs  r2,r2,#0
    str    r2,[r6,#(IRCCTRL-SYSMEMREMAP)]

<ホストプログラム>
変更はありません。



本ページに記載のソフト一式は以下のページからダウンロードできます。

https://drive.google.com/file/d/1MmCjIPWafEdPl08sURLwW5A3FiASDUh0/view?usp=sharing