/* * initial bench to try LPC1830-Xplorer * by uratan! 2012.10.10 * revised 2014.1.11 */
jump to: more more2 magicFlash slow SPIFI-flash mF more mF more2 pt-msc drv_spifi ...... 読み物3 読み物2 SPIFI-flash の調査 読み物 外部ピンのリスト chip revision
LPC1830-Xplorer にて、USART3-boot にてロード・実行する *最小の構成のたたき台*としてのファームウェアです。
シリアルを console としてメモリのダンプ・エディット他が できるモニターが走ります。
詳細は 00README.txt をご覧ください。
ダウンロードイメージ他ソース一式は こちらからどうぞ。
オモチャとして遊んでください。
…もう一回
LPC1830-Xplorer にて、USART3-boot にてロード・実行する *最小の構成のたたき台*としてのファームウェアです。
シリアルを console としてメモリのダンプ・エディット、さらに SPIFI-flash の消去・書き込み他ができるモニターが走ります。
詳細は 00README.txt をご覧ください。
ダウンロードイメージ他ソース一式は こちらからどうぞ。
遊ばされすぎて…疲れた…
spifi.c: line 209: ", stat" 抜けてましたね… ihex.c: line 203: "ext_addr <<= 16;" 抜けてましたね……
LPC1830-Xplorer にて、USART3-boot にてロード・実行する *最小の構成のたたき台*としてのファームウェアです。
シリアルを console としてメモリのダンプ・エディット、さらに SPIFI-flash の消去・書き込み他ができるモニターが走ります。
さらに本バイナリを SPIFI-flash の先頭に書き込んだ場合には 本モニターと 0x8010_0000〜に書き込まれた user program を P1_8 を見て切り替える boot-loader になります。
詳細は 00README.txt および 下のスクリーンショットを よ〜く ご覧ください。
ダウンロードイメージ他ソース一式は こちらからどうぞ。
野望までもう一歩…
magicFlash は LPC1830-Xplorer 用に えいやぁ と作られた boot-loader / ISP / monitor の総称です。ええ もちろん Flash Magic を利用するために作ったのです。
詳細は 00README.txt をご覧ください。
ダウンロードイメージ他ソース一式は こちらからどうぞ。
さぁて次は…
今こんな状態
結線図 役立ちました→ USB-RSAQ2,Q3を win7 64bitで
LPC1830-Xplorer の SPIFI-boot でリセット 2回必要な問題、 勘違いしてました。
『走る⇔フリーズ』が繰り返されるのだと思ってましたが、どうも 『SCK32MHz+Quad⇔SCK18MHz+Single』が繰り返されるみたい。
つまり「どちらも起動するが、7倍遅いかもしれない問題」っぽいですね。
このパッチは有効そうですが、magicFlash レイヤーに入れるか、 user-program レイヤーに入れるべきか、微妙…。 magicFlash を使わないことも考えると user-program に仕掛けるべきかな。Xplorer もう一台買いまして これ確認しましたが、 ちゃんとエラッタ通り『走る⇔フリーズ』ですね…。 いずれ直るし忘れましょう。(2013.1.29)
*** ..\minimon-010\main.c Wed Oct 24 11:10:09 2012 --- main.c Sun Nov 11 18:51:08 2012 *************** *** 23,28 **** --- 23,33 ---- */ /* + * reset myself to retry if SPIFI is configured unproperly + */ + #define ENABLE_SPIFI_RETRY 1 + + /* * fake_ISP() or minimon(), which mode to run first when P1_8 is low. */ #define RUN_MINIMON_FIRST 0 *************** *** 78,85 **** /* * detect boot src, and boot request for me */ ! boot_from_spifi = (M3_MEMMAP == 0x80000000) ? 1 : 0; spifi_boot_requested = (GPIO1_PIN & SW_MyBSEL_G1_1) ? 1 : 0; /* * do NOT boot from my-boot-area when uart-boot or other --- 83,104 ---- /* * detect boot src, and boot request for me */ ! boot_from_spifi = (M3_MEMMAP >= 0x80000000) ? 1 : 0; spifi_boot_requested = (GPIO1_PIN & SW_MyBSEL_G1_1) ? 1 : 0; + + #if ENABLE_SPIFI_RETRY + /* + * confirm SPIFI initialization properness if booted from SPIFI + */ + if(boot_from_spifi) { + if(IDIVB_CTRL != 0x09000820) { + /* reset myself */ + RESET_CTRL0 = RES0_CORE_RST; /* 1clk -> auto-clear */ + while(1) + ; + } + } + #endif /* ENABLE_SPIFI_RETRY */ /* * do NOT boot from my-boot-area when uart-boot or other
・表示する情報をちょっと増やしました。
・SPIFI-flash の調査で使ったテストプログラムを収録しました。
・いんちき英語の 0eREADME.txt を付けました。
あとは比較してみて。
==> minimon-011.zip
・intel-HEX の 02 レコードの処理を追加しました。(手抜きはいかんね)
・PeripheralTest を試しに移植しました。(USB1(VCOM) と Ether のみ)
(lpc1830_Xplorer_Keil.zip は ここからどうぞ)
・割込み受理の様子を見る test-spifi2/ を追加しました。
あとは比較してみて。
==> minimon-012.zip
・CMSIS に付属の Examples/USBDEV/Usb_MassStoraga/ を お気軽移植してみました。
(lpc18xx-2012-12-11.zip は ここからどうぞ) (==> *re_dist* (61MB))
・割込み機能の様子を見る console も付いてます。
詳細は 00README.txt をご覧ください。
==> pt-msc-005.zip
・spifi_drv_M3.lib を使わずに SPIFI インターフェースを使って SPIFI-flash にアクセスしてみました。
==> t-drv_spifi.zip