Top
HIDaspx
DownLoad
HIDasp高速化
制作
AVR関係
AVR_Monit
AVR_term
W32_term
HIDmon88
HIDtester
usbRS232
Arduino2313
デジタルテスター
ATmega88生活
KeyBoardマニア
KeyBoardマニアII
Arduino400
PICライター
ARMライター
赤外線リモコン
ARM
STM32ブートローダー
STM8S-Discovery改造
STM8S-OpenOCDライター
LPCXpresso
LPC用ブートローダー
NXP用LPCUSB
NXP用ブートローダー
MARY基板
LPC1114FN28
OpenOCD JTAGアダプター
OpenOCDビルド方法
arm-gccビルド方法
mapleIDEの改造
libmapleで仮想COM
PIC32
PIC32MX
Pinguinoで遊ぼう
ブートローダーを作る
シリアルブートローダー
USB仮想シリアル
USBカスタムデバイス
USB簡易モニター
USBオシロスコープ
USBホスト
PIC32でBluetooth
USBAudio
USBStudy
VGA出力に挑戦
BASICを動かす
WinUSB
勝手に改蔵*PIC32
PIC18F
HIDブートローダー
AVR/PIC両用ライター
ARMライター
usb汎用クラス
usbシリアル変換
usbキーボード変換
sdccを使いこなす
mcc18を使いこなす
HIDmon-2550
HIDmon-14K50
PICmonitor
試行錯誤の記録
UBWを試す
旧HIDboot
PIC18F2550試用記
PIC18F4550試用記
その他マイコン
NEC78K
RX62N
SH2A
H8
FM3
XPからubuntuに乗り換え
Android
Xen-hypervisor
Windows8カスタマイズ
開発日記
2015-04
ノウハウ
AVRUSB_Tips
HIDasp情報
汎用USB-IO
・
リンク
フリースペース
ゲストブック
旧コンテンツ
WinVista
インターフェース考
最新の20件
2022-07-25
2008-10
HIDasp高速化
H8/3048F
AutoTicketLinkName
2021-12-11
FormattingRules
2021-12-08
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/V-Z
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/H-K
2020-02-23
YukiWiki
PHP
PukiWiki
WikiWikiWeb
2018-12-19
SandBox
InterWiki
2015-05-07
2015-04
2015-05-02
MenuBar
編集
差分
uartflash32 の編集
-- 雛形とするページ --
(no template pages)
[[2013-12]] 関連リンク [[PIC32MX]] [[Pinguinoで遊ぼう>Pinguino]] [[ブートローダーを作る>HIDBootX]] [[USB仮想シリアル>PIC32MX_USBCDC]] [[USBカスタムデバイス>USB_CUSTOM]] [[USBホスト>USB_HOST]] [[2013-02]] [[2013-03]] --------- *ブートローダーって、何? [#oa7509f7] [[ブートローダーを作る>HIDBootX]]を参照のこと。 http://psp.dip.jp/web/jpg/pic32mx220.jpg //---------- //*目次 [#a98e83e8] //#contents //---------- //*今、何故シリアルローダーなのか。 [#o63681cf] *ブートローダーのための開発環境を用意する。 [#m1817a49] Pinguino Rev4 easyPackだけで完結します。(MicrochipのIDE環境やCygwinなどは不要です。) ***[[Pinguino4.X:http://wiki.pinguino.cc/index.php/Main_Page/ja]] [#d99406dc] -ダウンロード: http://wiki.pinguino.cc/index.php/Category:IDE_Downloads //http://code.google.com/p/pinguino32/downloads/list --アーカイブを入手して、 7zアーカイバーで(D:\などに)展開します。 D:\x4-easy-rev999\ ~ -Windows側のプログラムのビルドには MinGW32 を使用します。 (www.mingw.org) ~ *ブートローダーのソースを入手する。 [#a043b2b4] -''ダウンロード:''[[uartboot.zip:http://psp.dip.jp/web/upload.cgi/PIC/uartboot.zip]] --追記:2014-0927: PIC32MX250 (128kB Flash) 対応しました。 ~ *ブートローダーをコンパイルしてみる。 [#rae953fb] -上記アーカイブはすでにPinguino用gccでビルド出来るようにしています。 -Pinguino用gccに実行パスを通します。(setenv.bat) PATH D:\x4-easy-rev999\win32\p32\bin;%PATH% ~ *ブートローダーをチップに書き込む。 [#e03f1892] -\uartboot\ ディレクトリでmakeした後、w.batを実行。 ~ ~ *ブートローダーを使ってPIC32MXの中を覗いてみる。 [#s8b9a3dc] -uartboot のファームウェアにはPIC32MXのメモリーを読み書きするコマンドが含まれています。 -これを利用すると、PIC32MXの中を簡単に覗くことができます。 -やってみましょう。 -uartboot/hostpc/uartmon32.exe を起動します。 MIPS> d a0000000 a0000000 00 00 00 00 01 00 00 00 04 03 09 04 e4 16 00 9d a0000010 20 04 00 a0 30 04 00 a0 00 00 00 a0 00 00 db 13 a0000020 01 01 00 00 ff ff ff ff 00 80 00 1d 20 00 00 00 a0000030 38 00 00 a0 00 00 00 00 01 01 07 05 01 03 40 00 a0000040 00 00 00 00 20 00 00 00 00 01 00 00 10 04 00 a0 a0000050 38 04 00 a0 01 00 00 00 01 00 00 00 01 00 00 00 a0000060 00 00 00 00 20 04 00 a0 00 00 00 00 08 04 00 a0 a0000070 00 00 00 00 00 00 00 00 80 06 00 02 00 00 29 00 a0000080 00 00 02 00 00 04 00 a0 01 00 00 00 00 00 00 00 a0000090 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 MIPS> l bfc00000 bfc00000 3c1a9fc0 lui k0,0x9fc0 bfc00004 275a0010 addiu k0,k0,16 bfc00008 03400008 jr k0 bfc0000c 00000000 nop bfc00010 401a6000 mfc0 k0,$12 bfc00014 7f5a04c0 ext k0,k0,0x13,0x1 bfc00018 13400002 beqz k0,$bfc00024 bfc0001c 00000000 nop bfc00020 00000000 nop bfc00024 3c1da000 lui sp,0xa000 bfc00028 27bd2000 addiu sp,sp,8192 bfc0002c 3c1ca001 lui gp,0xa001 bfc00030 279c8000 addiu gp,gp,-32768 bfc00034 40096002 mfc0 t1,$12,2 bfc00038 01205820 add t3,t1,zero bfc0003c 7d2a1e80 ext t2,t1,0x1a,0x4 bfc00040 7d494984 ins t1,t2,0x6,0x4 bfc00044 40896002 mtc0 t1,$12,2 bfc00048 41dce000 wrpgpr gp,gp bfc0004c 408b6002 mtc0 t3,$12,2 MIPS> p TRISA(0xbf886010) 0x0000001f 00000000_00000000_00000000_00011111 PORTA(0xbf886020) 0x00000010 00000000_00000000_00000000_00010000 LATA(0xbf886030) 0x00000008 00000000_00000000_00000000_00001000 TRISB(0xbf886110) 0x00002fbf 00000000_00000000_00101111_10111111 PORTB(0xbf886120) 0x000001b0 00000000_00000000_00000001_10110000 LATB(0xbf886130) 0x00008b16 00000000_00000000_10001011_00010110 MIPS>q -逆アセンブル、メモリーダンプ、ポートの状態監視が出来ます。 - mips16の命令列を逆アセンブルしたい場合は、l(エル)コマンドの引数に与える開始番地のLSBを立ててください。(奇数番地にします)-- ARM<->Thumbと同様です。 -ポートアドレスをポート名から知りたいときは、その名称の途中までをタイプすると教えてくれます。 MIPS> p port PORTA(0xbf886020) PORTACLR(0xbf886024) PORTASET(0xbf886028) PORTAINV(0xbf88602c) PORTB(0xbf886120) PORTBCLR(0xbf886124) PORTBSET(0xbf886128) PORTBINV(0xbf88612c) -ポートアドレスの全一覧は、 MIPS> p ? -ポート内容一覧は、 MIPS> p * -という具合です。 ---------- *Pinguinoのブートローダーとして使うには [#b640c82c] -mphidflash.exe の代わりに uartflash32.exe を呼び出すようにしてください。 -(もっとも単純な手段としては、exeファイルを上書きすることです。) ~ ~ ~ ~ ---------- *参考リンク [#wb895f1e] 以下のリンクは両方とも熟読すること。でないとMIPSとかさわっちゃだめ。 ***とても参考になる。 [#u989c5ea] 『はじめて読む MIPS(リローデッド)』 by 中森章 - CQ出版社 -www.cqpub.co.jp/interface/TechI/Vol39/app/mips_asm.pdf PIC32ファミリ リファレンスマニュアル CPU(日本語) -http://ww1.microchip.com/downloads/jp/DeviceDoc/61113D_JP.pdf
タイムスタンプを変更しない
[[2013-12]] 関連リンク [[PIC32MX]] [[Pinguinoで遊ぼう>Pinguino]] [[ブートローダーを作る>HIDBootX]] [[USB仮想シリアル>PIC32MX_USBCDC]] [[USBカスタムデバイス>USB_CUSTOM]] [[USBホスト>USB_HOST]] [[2013-02]] [[2013-03]] --------- *ブートローダーって、何? [#oa7509f7] [[ブートローダーを作る>HIDBootX]]を参照のこと。 http://psp.dip.jp/web/jpg/pic32mx220.jpg //---------- //*目次 [#a98e83e8] //#contents //---------- //*今、何故シリアルローダーなのか。 [#o63681cf] *ブートローダーのための開発環境を用意する。 [#m1817a49] Pinguino Rev4 easyPackだけで完結します。(MicrochipのIDE環境やCygwinなどは不要です。) ***[[Pinguino4.X:http://wiki.pinguino.cc/index.php/Main_Page/ja]] [#d99406dc] -ダウンロード: http://wiki.pinguino.cc/index.php/Category:IDE_Downloads //http://code.google.com/p/pinguino32/downloads/list --アーカイブを入手して、 7zアーカイバーで(D:\などに)展開します。 D:\x4-easy-rev999\ ~ -Windows側のプログラムのビルドには MinGW32 を使用します。 (www.mingw.org) ~ *ブートローダーのソースを入手する。 [#a043b2b4] -''ダウンロード:''[[uartboot.zip:http://psp.dip.jp/web/upload.cgi/PIC/uartboot.zip]] --追記:2014-0927: PIC32MX250 (128kB Flash) 対応しました。 ~ *ブートローダーをコンパイルしてみる。 [#rae953fb] -上記アーカイブはすでにPinguino用gccでビルド出来るようにしています。 -Pinguino用gccに実行パスを通します。(setenv.bat) PATH D:\x4-easy-rev999\win32\p32\bin;%PATH% ~ *ブートローダーをチップに書き込む。 [#e03f1892] -\uartboot\ ディレクトリでmakeした後、w.batを実行。 ~ ~ *ブートローダーを使ってPIC32MXの中を覗いてみる。 [#s8b9a3dc] -uartboot のファームウェアにはPIC32MXのメモリーを読み書きするコマンドが含まれています。 -これを利用すると、PIC32MXの中を簡単に覗くことができます。 -やってみましょう。 -uartboot/hostpc/uartmon32.exe を起動します。 MIPS> d a0000000 a0000000 00 00 00 00 01 00 00 00 04 03 09 04 e4 16 00 9d a0000010 20 04 00 a0 30 04 00 a0 00 00 00 a0 00 00 db 13 a0000020 01 01 00 00 ff ff ff ff 00 80 00 1d 20 00 00 00 a0000030 38 00 00 a0 00 00 00 00 01 01 07 05 01 03 40 00 a0000040 00 00 00 00 20 00 00 00 00 01 00 00 10 04 00 a0 a0000050 38 04 00 a0 01 00 00 00 01 00 00 00 01 00 00 00 a0000060 00 00 00 00 20 04 00 a0 00 00 00 00 08 04 00 a0 a0000070 00 00 00 00 00 00 00 00 80 06 00 02 00 00 29 00 a0000080 00 00 02 00 00 04 00 a0 01 00 00 00 00 00 00 00 a0000090 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a00000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 MIPS> l bfc00000 bfc00000 3c1a9fc0 lui k0,0x9fc0 bfc00004 275a0010 addiu k0,k0,16 bfc00008 03400008 jr k0 bfc0000c 00000000 nop bfc00010 401a6000 mfc0 k0,$12 bfc00014 7f5a04c0 ext k0,k0,0x13,0x1 bfc00018 13400002 beqz k0,$bfc00024 bfc0001c 00000000 nop bfc00020 00000000 nop bfc00024 3c1da000 lui sp,0xa000 bfc00028 27bd2000 addiu sp,sp,8192 bfc0002c 3c1ca001 lui gp,0xa001 bfc00030 279c8000 addiu gp,gp,-32768 bfc00034 40096002 mfc0 t1,$12,2 bfc00038 01205820 add t3,t1,zero bfc0003c 7d2a1e80 ext t2,t1,0x1a,0x4 bfc00040 7d494984 ins t1,t2,0x6,0x4 bfc00044 40896002 mtc0 t1,$12,2 bfc00048 41dce000 wrpgpr gp,gp bfc0004c 408b6002 mtc0 t3,$12,2 MIPS> p TRISA(0xbf886010) 0x0000001f 00000000_00000000_00000000_00011111 PORTA(0xbf886020) 0x00000010 00000000_00000000_00000000_00010000 LATA(0xbf886030) 0x00000008 00000000_00000000_00000000_00001000 TRISB(0xbf886110) 0x00002fbf 00000000_00000000_00101111_10111111 PORTB(0xbf886120) 0x000001b0 00000000_00000000_00000001_10110000 LATB(0xbf886130) 0x00008b16 00000000_00000000_10001011_00010110 MIPS>q -逆アセンブル、メモリーダンプ、ポートの状態監視が出来ます。 - mips16の命令列を逆アセンブルしたい場合は、l(エル)コマンドの引数に与える開始番地のLSBを立ててください。(奇数番地にします)-- ARM<->Thumbと同様です。 -ポートアドレスをポート名から知りたいときは、その名称の途中までをタイプすると教えてくれます。 MIPS> p port PORTA(0xbf886020) PORTACLR(0xbf886024) PORTASET(0xbf886028) PORTAINV(0xbf88602c) PORTB(0xbf886120) PORTBCLR(0xbf886124) PORTBSET(0xbf886128) PORTBINV(0xbf88612c) -ポートアドレスの全一覧は、 MIPS> p ? -ポート内容一覧は、 MIPS> p * -という具合です。 ---------- *Pinguinoのブートローダーとして使うには [#b640c82c] -mphidflash.exe の代わりに uartflash32.exe を呼び出すようにしてください。 -(もっとも単純な手段としては、exeファイルを上書きすることです。) ~ ~ ~ ~ ---------- *参考リンク [#wb895f1e] 以下のリンクは両方とも熟読すること。でないとMIPSとかさわっちゃだめ。 ***とても参考になる。 [#u989c5ea] 『はじめて読む MIPS(リローデッド)』 by 中森章 - CQ出版社 -www.cqpub.co.jp/interface/TechI/Vol39/app/mips_asm.pdf PIC32ファミリ リファレンスマニュアル CPU(日本語) -http://ww1.microchip.com/downloads/jp/DeviceDoc/61113D_JP.pdf
テキスト整形のルールを表示する
ログインまたはアカウント作成