(仮)釣りと電子工作 Microchip PIC 忍者ブログ
趣味の電子工作と釣りについて。電子工作は、おもに変換器作成。釣りはおもにトラウトの管釣り。
[1] [2] [3] [4] [5] [6]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

HID Bootloaderはアドレス0x0000~0x0FFFを使用するので、ここを書き込み不可にすればいい。
書き込みを制御するのはここ。
        #pragma config WRT0     = OFF
        #pragma config WRT1     = OFF
        #pragma config WRTB     = OFF       // Boot Block Write Protection
        #pragma config WRTC     = OFF

WRTBをONにすると0x0000~0x07FFを保護
WRT0をONにすると0x0800~0x1FFFを保護
WRT1をONにすると0x2000~0x3FFFを保護
WRTCをONにするとコンフィグ変更不可(保護の解除を禁止)

WRTBとWRTCをONにするのはいいとして、WRT0はどうしたものか。。。
ONにすると、ファームウェア用の領域まで一部保護してしまう。。。。。

こまった。。。

ということで、HID Bootloaderを変更することにした。

ブートローダ領域:0x0000~0x0FFF
ファームウェア領域:0x1000~0x7FFF

ブートローダ領域:0x0000~0x1FFF
ファームウェア領域:0x2000~0x7FFF

こうすることによって、HID BootloaderをC18の制限版でもコンパイルできるようになるし、一石二鳥。

が、開始アドレスが0x1000から0x2000に変わるので、Microchipのフレームワークがそのままでは動かなくなる。仕方ないか。。。。稀にブートローダーが壊れるよりマシか。。。。



PR
いままでとくに中身を意識せずに使ってきたMicrochip HID bootloaderだが、どうやら実用に耐えられない模様。稀にとはいえ、ブートローダーが消えるのは問題だ。

ということで、調べてみた。まずネットで調べると、このブートローダはノーガード戦法を採用しているとのこと。保護機能一切なし。消えてあたりまえ、消えるのも仕様のうち。

。。。。だめだろ~これじゃ

この半年~1年でブートローダーが消える機能のことを、「Microchipタイマー」と名づけることにした。
ソニータイマーと比較して、発動までの期間は短いが、発動率は低い(ソニータイマーは発動率30%程度かな?このタイマーは使い方にもよるが10%程度かな?)と思う

なので保護機能を有効にする(Microchipタイマーを解除する)方法を検討することにした。




先日より例の変換器の最終調整をしていて、ソースはほぼ固まってきたけど、使用中にIPLであるHID bootloaderが消える現象発生。

まだファームウェアが消えるのならHIDBootLoader.exe で書き直せばいいのだが、IPL部分が消えたらどうしようもない。またPICKITをつないでIPLを書きなおさないといけないので面倒。

発生率は、年に2、3回、256回に1回くらいか。今まではファームウェア書き換え時に起きていたが、今回は通電時に発生。

スーパーソード並の、この変換器の耐久性、どうにかせねば。。。。

といっても、悪いのはたぶん俺じゃなくてMicrochipのHID bootloaderだけどね。まぁ、これがMicrochip品質だから仕方が無い。


まずC30コンパイラが必要。こいつはC18と同じで60日経つと最適化が効かなくなるが気にしない。

まずはC30コンパイラ、MPLABCPIC24_v3_24StdEval.zipをダウンロード。その際ユーザ登録を求められるが適当に入力。
次に、新しいMPLAB IDE、MPLAB_IDE_v8_56.zipをダウンロード。古いヤツだとPIC24FJ....知らない、とか出てくるので。

まずはキーボードデバイス(Device-HID-Keyboard)をビルドする。
4種類のプロジェクトがある。どれにしよう??
USB Device - HID - Keyboard- C30.mcp
USB Device - HID - Keyboard- C30 - PIC24F Starter Kit 1.mcp
USB Device - HID - Keyboard- C30 - PIC24FJ64GB004 PIM.mcp
USB Device - HID - Keyboard- C30 - PIC24FJ256GB110 PIM.mcp
それぞれ、次のチップ用。PIC24FJ64GB004用でいいかな?
PIC24FJ256DA210
PIC24FJ256GB106
PIC24FJ64GB004
PIC24FJ256GB110
プロジェクト開いてビルド。。。。。成功!

次にキーボードホスト(Host-HID-Keyboard)をビルドする。
USB Host - HID - Keyboard - C30.mcp
しかない。PIC24FJ256GB110用か。。。。PIC24FJ64GB004用じゃないけど、まあいいか。
どうやら、USBキーボードを読み込んで、LCDに出力するらしい。
LCDて、おそらくMicrochipの何かのキットについているのだろう。
まずはビルド。。。。成功!

とりあえずPIC24Fの第一歩。まだ先は長い。

プレステコントローラUSB変換器ネタは昨日で終了。

いままでに無い新デバイスの開発に着手。詳細は構想中というか未定。
こいつは18F2550では手に負えないので、ちょっと入手性の悪いPIC24FJ64GB002を使うことにした。
PIC24使ったことないけど、俺に使いこなせるかな?
使いこなせなければ未完成で終わる。


カレンダー
03 2024/04 05
S M T W T F S
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
リンク
最新TB
バーコード
ブログ内検索
カウンター
Powered by ニンジャブログ  Designed by 穂高
Copyright © (仮)釣りと電子工作 All Rights Reserved
忍者ブログ / [PR]