いろいろ試す3

ハロウィンネタ&他のキャラの誕生日お祝いネタの仕込みで本業(二次裏)が糞ほど忙しく
なってます。しばらくこっちは更新できそうもないので今のうちに書けることを…。


この前のTFT液晶の在庫数が
一気に減ってたaitendoさんの900円液晶、私がこのブログに使用記を公開したあたりから在庫数が一気に
減ってました。皆様子見だったのですね〜…。
もうじき在庫ゼロになりそうな勢いです。
私はLPC2388向けにサンプルコードを公開してましたが、STM32はUSBライブラリが(ry
のおかげでまだ二の足踏んでます。まぁRCは出てるから時間の問題とは思いますが…。

あとSTマイクロ側がUSB-OTGのデュアルロール機能のサンプルとか公開してくれたら
神なんですけお…USBホスト関連のスタックは今でもそれ作るだけでお金になる
ようだから無対価で手に入るの(=枯れる)はずっと先になりそうです。


●STM32F107でUSB_DFU_Bootloader使う件
んでもって前回行ったSTM32F107/5系のブートローダーが機能しない件の回避策
ですが、ねむいさんはブートローダーをDFU一本に絞ることにしました。
したがって以後は下図のような構成でマイコン遊びを続けていきたいと思います。
un
20091102変更:
BOOT0とBOOT1を取り違えるという最悪なミスに気づいたので修正orz

20091216変更:
PB5は10kohmでも問題ないことが分かり修正orz

STM32F103系と違ってdfu使うための領域とかスタートアップの設定とかを
気にしなくてよくなったのは良い点だと思いますね。errataさえなければ!


●シンプルi2cマスタライブラリ
ライブラリ固め
AVRでの使用例とか
LPC2388での使用例とか


●OpenOCDのビルド方法が少し変わった
現在、zus氏のOpenOCDのビルド方法をそのままやるとビルドエラーで失敗します。
svnからgitに変わったのでgitで最新のソースを落とせとのこと。
gitでの取得のコマンドはsvnと微妙に違って
git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd
だそうです。けっこう時間かかります。

んでもっていつものフラッシュ書き込みやってみました。
STM32F107VCT6の例です↓

> "C:/Devz/AVR/WinAVR/utils/bin/make.exe" program
openocd -f C:/Devz/ARM/OCD/daemon.cfg -f C:/Devz/ARM/OCD/tcl/interface/jtagkey.cfg -f C:/Devz/ARM/OCD/tcl/target/stm32_flash.cfg -c "mt_flash main.elf"
Open On-Chip Debugger 0.3.0-dev-00405-g1e5daf5-dirty (2009-10-22-11:15)
$URL$
For bug reports, read
http://openocd.berlios.de/doc/doxygen/bugs.html
1000 kHz
jtag_nsrst_delay: 100
jtag_ntrst_delay: 100
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
Warn : stm32.bs: nonstandard IR mask
Warn : use 'stm32.cpu' as target identifier, not '0'
Info : device: 4 "2232C"
Info : deviceID: 67358712
Info : SerialNumber: 11111111A
Info : Description: Amontec JTAGkey A
Info : clock speed 1000 kHz
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x06418041 (mfg: 0x020, part: 0x6418, ver: 0x0)
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x06418041 (mfg: 0x020, part: 0x6418, ver: 0x0)
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080061a4 msp: 0x20010000
Info : device id = 0x10016418
Info : flash size = 256kbytes
stm32x mass erase complete
Info : Padding image section 0 with 0 bytes
Warn : not enough working area available(requested 16384, free 16336)
wrote 95952 byte from file main.elf in 5.906250s (15.865079 kb/s)
verified 95952 bytes in 1.921875s
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x06418041 (mfg: 0x020, part: 0x6418, ver: 0x0)

> Process Exit Code: 0
> Time Taken: 00:10


…OpenOCD+Jtagkeyをほとんどフラッシュ書き込み機としか使っていない私。


●FreeRTOSがV6.0.0になってた
なってました。私が使用しているMCUには特に大した変更の影響はないみたいですが…。
いまはSTM32F107VCT6に重点的になっててLPC2388の更新したのずいぶん前に
なっちゃってましたので動作確認がてらにソースの見直しをしました。
LPCUSBを使用したUSB-CDCのソースコードも一本化して可搬性あげるよう
努めてます。
他のMCUにも言えることですがBare-MetalとFreeRTOSで分けていたソースは
#define切って同じファイル使いまわせるように直していくつもりです。
今見返すとつぎはぎだらけでひどかったorz
LPC2388用FreeRTOSのサンプル

LPC2388もある程度遊んだらクローズしてSTM32に集中したいです。今後はSTM32にFreeRTOSの組み合わせが日記のネタの要になるでしょう。


●STM32 Primer2の電源ICがすぐぶっこわれて云々の件
私が検証記事を載せた数日後に公式も同様な見解を述べています。
ううむ、私の読みが完全に当たってしまった…ってわけですか…。
電源IC壊れちゃった人はこの際私みたく別のLDOに変えちゃうのもいいかもしれま
せんね…。(もちろん自己責任で)

Go to top of page