PICでUSBを!(知識ゼロからのスタートです)
PIC18F14K50のUSB機能を100%自前のソフトで制御する試みです。しかもアセンブラで!
当記事は2009年12月から「TTLでCPUをつくろう!」というタイトルの もとにほとんど毎日連載をしてきたものを再編集したものです。 2011.7.13

前へ
次へ
目次へ戻る
ホームページトップへ戻る
☆PIC18F14K50

PIC18F2550では大きすぎて、計画中のTK80互換マイコンボードND80ZVには組み込めそうにないことがわかりました。
USB機能内蔵のPICにはPIC18F4550、PIC18F2550のほかに20pinのPIC18F14K50があることはちょっと前から知っていました。しかしUSBに関する部分がPIC18F2550とはかなり異なっているようです。
案の定しっかり泥沼にはまってしまいました。

[第89回]

●火事場の馬鹿力?

人には不思議な力が備わっているようです。
ある種のパワーのようなもので、それは普段は隠れていて表には出てこないのですが、ここ一番、という場面で突如として力を発揮する、ということがあるようです。
火事場の馬鹿力とか、コケの一念などと言います。
人の一念岩をも通す、という言葉もありますですね。

前にも何回か書いたことがあります。
考えて考えて考え抜いて、もう駄目だ、これ以上はどうすることもできない、というぎりぎりのところまでいったときに、そこからもう1歩先に踏み込みますと、突然、霧が一気に晴れて、急転直下全て解決してしまう、ということを何回も経験しております。
そのぎりぎりのところまで、問い詰めていく、考え抜く、ということが大切なことなのだと思います。
もう駄目だ、とあきらめてしまう、そのもう1歩先にこそ、解決の道が用意されているのだと思います。

なんだかだんだん神がかって、まいりますですねえ。
やっぱり、あれだ。
ぼちぼち、お迎えが近いかもしれんぞお。

これもいやというほど何回も書いたことなのですが。
こと記憶力については保証付きで絶対に誰にも負けてしまう、という?おかしな自信があります。
神経衰弱というゲームがありますが、あれが全然、まったく、からっきし駄目なのですねえ。
たった今めくったばかりのカードなのに、伏せてしまうと、もうわかりません。

そういう私なのですけれど、今回の、もう駄目だ。どーしようもない、というところまできましたときに、不思議な力が突然出現したのでありますよ。

どのように考えても駄目。
最後の頼みの綱であった、逆アセンブラも解決には至りませんでした。
そりゃあ、さっさとあきらめてしまって、HIDブートローダでやっておりますことをそっくりそのままいただいてしまえば、とりあえずは動くことにはなります。
でも、それじゃ、ただのサル真似に過ぎませんでしょう。

自分の頭で考えて、理解してこそ、はじめて自分のモノにできるのですから。
なぜ、PIC18F2550で動くプログラムがPIC18F14K50では動かないのか、という疑問にフタをしてしまって、よそ様のプログラムをいただいてきて、それで済ましてしまう、つうのは、そりゃあ敗北主義でしょう。

しかしながら、この先もう打つ手が無い。
どうにも困った。大げさにいうならば万事休す。ジエンドですな。

そのとき、突然、頭の隅で、声がした…。
ような気がいたしました。

どこかで、たしかどこかで。
「PIC18F14K50に限り…」
という文章の断片を見たような…。

おお。
そういえば。
確か、PIC18F14K50用HIDブートローダのソースプログラムのどこかに書いてあったような…。
ざっくりと読んではみたけれど、ついに人様の書いたものは理解できん、ということで投げてしまったソースプログラムのどこかに。

この中のどこかに!


ありました。
見つけましたよ、ついに!
boot.incの中に。それは、書いてありました。

#define		GPR0	0x2		;// 汎用ワークのアドレスBSR( 0 番地からこちらに移動 )
#define		GPRF	0xf		;// PIC 18F14K50 限定: 0xf5X アドレス参照のため.

0xf5Xアドレス参照のため?
0xf5X???
そ。それって、ま、まさか…?

というところで。
惜しいですねー。
残念ながら、今回は終わりであります。
次回、衝撃の解決編を。乞ご期待。
CPUをつくろう!第518回(2010.6.7upload)を再編集

PICでUSBを![第89回]
2011.7.13upload

前へ
次へ
目次へ戻る
ホームページトップへ戻る