NUCLEO-F303K8でSDカード扱おうとしたら”RTC error: LSE clock initialization failed.”とシリアルに表示された。
RTCの初期化に失敗したらしい。
調べてみると、mbedライブラリのデフォルトではLSEクロックを使用する。
(device.hの#define DEVICE_RTC_LSIが0)
NUCLEOボードのジャンパは購入時の状態ではX1が接続されていない。
上記回路図画像はSTM32 Nucleo-32 Schematics packの回路図(MB1180.pdf)より
RTCを使うための方法は2通り
①標準のmbedライブラリからmbed-devライブラリに変更して、mbed-dev\targets\hal\TARGET_STM\TARGET_STM32F3\TARGET_NUCLEO_F303K8\device.h
の #define DEVICE_RTC_LSIを1に書き換えて使う。
精度は落ちるがGPIO減らないしソルダジャンパしなくてもいいのでお手軽。
②ボードのSB5、SB7をソルダジャンパしてX1を接続。(動作確認していません)
その場合ピンPF0、PF1が使用できなくなるが精度は良いはず。
今回はSDカードの読み出しをやりたいため、ソフトで対応しました。
2016年5月27日金曜日
2016年5月17日火曜日
目覚まし時計をLEDシーリングライト連動にしてみた
赤外線リモコンでコントロールできるLEDシーリングライトをウチには取り付けています。それを目覚ましのブザーと連動させれば快適に起きられそうじゃん?と
なぜこの発想に至ったのかはお察し下さい・・・
まずは目覚まし時計のブザー信号の仕様確認から。
(写真はすでに引き出し用の線をハンダ付けしています。撮るの忘れてた)

恐らく圧電ブザー、片側の端子をGNDかVDDにつないで動作させてるだろうと予測。電池のマイナス端子でGNDを取り、オシロのプローブ当てると・・・

GNDとICの出力ピンにつながっているようです。逆起電圧出てるのでダイオードで制限して使うことにします。
続いてLEDシーリングライトのリモコン信号解析
以前会社の寮でON・OFFタイマがついていないエアコンのコントロールをmbedでやっていたことがあるので、同じライブラリで信号を読み取ることに。
実用ライブラリシリーズ:赤外線送受信ライブラリ
さくっとブレボに受信用ICやら赤外線LEDを組んで試してみて・・・あれ?
アイリスオーヤマのリモコンですが、SONYフォーマットで、どのボタン押しても同じコードが表示される・・・。まさか・・・!ロジアナで確認してみると・・・
_人人人人人人人人_
> 独自フォーマット <
 ̄Y^Y^Y^Y^Y^Y^Y^YY ̄
ロジアナでパルス幅取るのもいいけど、ここはmbedで楽することに。パルス幅の時間を取得するプログラムが公開されていました。これなら独自フォーマットでも対応できますね。
リモコンの信号の取得
こちらのサイトをソースを少し改変。1sec経過で新規信号扱い(ターミナルで改行するだけ)、1フレーム目の時間が最後に受信したパルス~新規で受信したパルス間の時間になっているのを修正しました。
IRreceiver_PulseWidth
取得したパルス時間を送信用プログラムにコピペ。
取得したリモコン信号の送信
IR_LED_Send
動作テスト
使ってみて数日ですが、ブザーで起きたのち眩しいので2度寝する気がなくなり、いい感じです。
朝弱い方はぜひお試し下さい
回路図はこちら
マイコン基板にみんなのラボのLPC812 300mil board使いました。
なぜそれをって?積んでたからデスヨ

なぜこの発想に至ったのかはお察し下さい・・・
まずは目覚まし時計のブザー信号の仕様確認から。
(写真はすでに引き出し用の線をハンダ付けしています。

恐らく圧電ブザー、片側の端子をGNDかVDDにつないで動作させてるだろうと予測。電池のマイナス端子でGNDを取り、オシロのプローブ当てると・・・
GNDとICの出力ピンにつながっているようです。逆起電圧出てるのでダイオードで制限して使うことにします。
続いてLEDシーリングライトのリモコン信号解析
以前会社の寮でON・OFFタイマがついていないエアコンのコントロールをmbedでやっていたことがあるので、同じライブラリで信号を読み取ることに。
実用ライブラリシリーズ:赤外線送受信ライブラリ
さくっとブレボに受信用ICやら赤外線LEDを組んで試してみて・・・あれ?
アイリスオーヤマのリモコンですが、SONYフォーマットで、どのボタン押しても同じコードが表示される・・・。まさか・・・!ロジアナで確認してみると・・・
_人人人人人人人人_
> 独自フォーマット <
 ̄Y^Y^Y^Y^Y^Y^Y^YY ̄
ロジアナでパルス幅取るのもいいけど、ここはmbedで楽することに。パルス幅の時間を取得するプログラムが公開されていました。これなら独自フォーマットでも対応できますね。
リモコンの信号の取得
こちらのサイトをソースを少し改変。1sec経過で新規信号扱い(ターミナルで改行するだけ)、1フレーム目の時間が最後に受信したパルス~新規で受信したパルス間の時間になっているのを修正しました。
IRreceiver_PulseWidth
取得したパルス時間を送信用プログラムにコピペ。
取得したリモコン信号の送信
IR_LED_Send
動作テスト
LPC812は赤外線リモコンの送信をやってもらうのだ。目覚ましのブザーから信号引き出して、鳴ったら部屋のシーリングライトをON。これで眩しくて起きるというわけです。 #mbed pic.twitter.com/HuYCK4wq15— エン.129@過放電 (@en129) 2016年5月14日
使ってみて数日ですが、ブザーで起きたのち眩しいので2度寝する気がなくなり、いい感じです。
朝弱い方はぜひお試し下さい
回路図はこちら
マイコン基板にみんなのラボのLPC812 300mil board使いました。
なぜそれをって?積んでたからデスヨ

2016年2月20日土曜日
WLI-UC-GNM2でmonitor modeを使う(Debian Jessie版)
以前WLI-UC-GNM2でmonitor modeが使えるようになるまで
を投稿しましたが、Debian Jessieでは若干手順の修正が必要だったため再度投稿して忘備録にしておきます。
かなり抜けている内容でしたしね。。。
使用しているチップセットのおさらいから。
https://wikidevi.com/wiki/Buffalo_WLI-UC-GNM2
使用しているチップセットはRT8070のようです。
RalinkはMediaTekに買収されたので、MediaTekのサイトよりドライバをダウンロード
http://www.mediatek.com/jp/downloads1/downloads/
RT8070/ RT3070/ RT3370/ RT3572/ RT5370/ RT5372/ RT5572 USB USB 2012/10/22 v2.6.1.3 Linux
のリンクより名前とメールアドレスを入力してダウンロード。
DPO_RT5572_LinuxSTA_2.6.1.3_20121022/common/rtusb_dev_id.c
lsusbで取得したVID、PIDを追記
DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/config.mk
以下を追加、もしくは新規で保存。その後再起動
blacklist rt2800usb
下記のようにロードされていればOK
rt5572sta 784165 1
usbcore 195427 6 uhci_hcd,ehci_hcd,ehci_pci,usbhid,rt5572sta,xhci_hcd
一覧にra0があればOK
# iwlist ra0 scan
周囲のSSIDが表示されていればOK。たまにスキャンできない場合があるので
その時は抜き差しすると治ったり・・・。
ra0 Ralink STA ESSID:"" Nickname:"RT3070STA"
Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=10/100 Signal level:0 dBm Noise level:0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
デフォルトではAutoになっている。
monitor modeへ変更する。
# iwconfig ra0 mode monitor
# iwconfig ra0
ra0 Ralink STA ESSID:"" Nickname:"RT3070STA"
Mode:Monitor Frequency=2.412 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=10/100 Signal level:0 dBm Noise level:0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
モニタモードへ変更できた。チャンネルを変更する。
# iwconfig ra0 channel 13
# iwconfig ra0
ra0 Ralink STA ESSID:"" Nickname:"RT3070STA"
Mode:Monitor Frequency=2.472 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=10/100 Signal level:0 dBm Noise level:0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
-eオプションでヘッダの情報も見れるようになります。
例としてこちらの画像はスマホのWifi Analyzerを動かしている時のパケットをキャプチャしたもの。
SA:b0~から始まるのは動かしているスマホのMACアドレスです。

を投稿しましたが、Debian Jessieでは若干手順の修正が必要だったため再度投稿して忘備録にしておきます。
かなり抜けている内容でしたしね。。。
使用しているチップセットのおさらいから。
https://wikidevi.com/wiki/Buffalo_WLI-UC-GNM2
使用しているチップセットはRT8070のようです。
RalinkはMediaTekに買収されたので、MediaTekのサイトよりドライバをダウンロード
http://www.mediatek.com/jp/downloads1/downloads/
RT8070/ RT3070/ RT3370/ RT3572/ RT5370/ RT5372/ RT5572 USB USB 2012/10/22 v2.6.1.3 Linux
のリンクより名前とメールアドレスを入力してダウンロード。
参考元
ダウンロードしたドライバファイルDPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2を展開
(2016/2/19時点です。LinuxSAT以降のバージョンや日付は今後変更される可能性があります)
(2016/2/19時点です。LinuxSAT以降のバージョンや日付は今後変更される可能性があります)
下準備
以降の作業はrootユーザーで行います
gcc、make、カーネルヘッダファイル、wireless-tools(iwconfigを使うため) tcpdumpのインストール
# apt-get install -y gcc make linux-headers-$(uname -r) wireless-tools tcpdump
VID PIDの確認
WLI-UC-GNM2を接続して
# lsusb
うちの環境だとこんな感じ。
Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 0411:01ee BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070]
Bus 001 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 004: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 001 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 0411:01ee BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070]
Bus 001 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 004: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 001 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
ソースの修正
以下の通り。
DPO_RT5572_LinuxSTA_2.6.1.3_20121022/RT2870STA.datオリジナル |
修正版 |
||
1 | #The word of "Default" must not be removed |
1 | #The word of "Default" must not be removed |
2 | Default |
2 | Default |
.3 | CountryRegion=5 |
3 | CountryRegion=1 |
4 | CountryRegionABand=7 |
4 | CountryRegionABand=7 |
.5 | CountryCode= |
5 | CountryCode=JP |
6 | ChannelGeography=1 |
6 | ChannelGeography=1 |
.7 | SSID=11n-AP |
7 | SSID= |
8 | NetworkType=Infra |
8 | NetworkType=Infra |
.21 | AuthMode=OPEN |
21 | AuthMode=WPA2PSK |
22 | EncrypType=NONE |
22 | EncrypType=AES |
DPO_RT5572_LinuxSTA_2.6.1.3_20121022/common/rtusb_dev_id.c
lsusbで取得したVID、PIDを追記
オリジナル |
修正版 |
||
105 | #endif /* RT2870*/ |
105 | #endif /* RT2870*/ |
106 | #ifdef RT3070 |
106 | #ifdef RT3070 |
. | 107 | {USB_DEVICE(0x0411,0x01ee)}, /* WLI-UC-GNM2 */ |
|
107 | {USB_DEVICE(0x148F,0x3070)}, /* Ralink 3070 */ |
108 | {USB_DEVICE(0x148F,0x3070)}, /* Ralink 3070 */ |
DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/config.mk
オリジナル |
修正版 |
||
24 | # Support Wpa_Supplicant |
24 | # Support Wpa_Supplicant |
25 | # i.e. wpa_supplicant -Dralink |
25 | # i.e. wpa_supplicant -Dralink |
.26 | HAS_WPA_SUPPLICANT=n |
26 | HAS_WPA_SUPPLICANT=y |
27 | 27 | ||
.35 | HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n |
35 | HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y |
36 | 36 | ||
952 | # Linux 2.6 |
952 | # Linux 2.6 |
.953 | EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include |
953 | EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include -Wno-date-time |
954 | endif |
954 | endif |
DPO_RT5572_LinuxSTA_2.6.1.3_20121022/os/linux/rt_linux.c使用するカーネルバージョンによっては逆に修正したらダメかも。
Debian Jessieでは必要だがwheezyでは不要。
オリジナル |
修正版 |
||
1136 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) |
1136 | #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) |
1137 | pOSFSInfo->fsuid = current->fsuid; |
1137 | pOSFSInfo->fsuid = current->fsuid; |
1138 | pOSFSInfo->fsgid = current->fsgid; |
1138 | pOSFSInfo->fsgid = current->fsgid; |
1139 | current->fsuid = current->fsgid = 0; |
1139 | current->fsuid = current->fsgid = 0; |
1140 | #else |
1140 | #else |
.1141 | pOSFSInfo->fsuid = current_fsuid(); |
1141 | pOSFSInfo->fsuid = current_fsuid().val; |
1142 | pOSFSInfo->fsgid = current_fsgid(); |
1142 | pOSFSInfo->fsgid = current_fsgid().val; |
1143 | #endif |
1143 | #endif |
コンパイル
# cd DPO_RT5572_LinuxSTA_2.6.1.3_20121022
# make
カーネルモジュールと設定ファイルの導入
# cp os/linux/rt5572sta.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/
# mkdir -p /etc/Wireless/RT2870STA
# cp RT2870STA.dat /etc/Wireless/RT2870STA/
ブラックリスト追加
# gedit /etc/modprobe.d/blacklist.conf以下を追加、もしくは新規で保存。その後再起動
blacklist rt2800usb
モジュールロードの確認
# lsmod | grep rt5572sta下記のようにロードされていればOK
rt5572sta 784165 1
usbcore 195427 6 uhci_hcd,ehci_hcd,ehci_pci,usbhid,rt5572sta,xhci_hcd
動作確認
# ifconfig一覧にra0があればOK
# iwlist ra0 scan
周囲のSSIDが表示されていればOK。たまにスキャンできない場合があるので
その時は抜き差しすると治ったり・・・。
monitor modeへの変更
# iwconfig ra0ra0 Ralink STA ESSID:"" Nickname:"RT3070STA"
Mode:Auto Frequency=2.412 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=10/100 Signal level:0 dBm Noise level:0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
デフォルトではAutoになっている。
monitor modeへ変更する。
# iwconfig ra0 mode monitor
# iwconfig ra0
ra0 Ralink STA ESSID:"" Nickname:"RT3070STA"
Mode:Monitor Frequency=2.412 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=10/100 Signal level:0 dBm Noise level:0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
モニタモードへ変更できた。チャンネルを変更する。
# iwconfig ra0 channel 13
# iwconfig ra0
ra0 Ralink STA ESSID:"" Nickname:"RT3070STA"
Mode:Monitor Frequency=2.472 GHz Access Point: Not-Associated
Bit Rate:1 Mb/s
RTS thr:off Fragment thr:off
Encryption key:off
Link Quality=10/100 Signal level:0 dBm Noise level:0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
パケットをダンプしてみる
# tcpdump -i ra0 -e-eオプションでヘッダの情報も見れるようになります。
例としてこちらの画像はスマホのWifi Analyzerを動かしている時のパケットをキャプチャしたもの。
SA:b0~から始まるのは動かしているスマホのMACアドレスです。
2016年1月30日土曜日
中華製キャプチャBOX【ezcap280】分解&電源調査
中華製のPCレスでHDMI・コンポーネント信号をキャプチャできる「ezcap280」を入手したので
・中身を分解
・使用電流を調査
・最低動作電圧を調査
してみました。
尚、この記事の内容を元に改造・分解などによる故障、損害など一切の責任を負いませんので
参考にする場合は自己責任で、どうぞ。
外観 表面
外観 裏面

内部 筐体裏面

内部 筐体表面

構成パーツ

基板はどうやら表面実装部品はリフロー、スルーホール、コネクタなどは手ハンダの様子で、
手ハンダを行ったと思われるオーディオジャック周辺はフラックスクリーナーで清掃しました。
はんだボールも出てきましたからね(;´∀`)
また表面も手ハンダによるリワーク痕が2ヶ所見受けられました。
ちなみに基板表の左側、JTAGとシルクがありますが、ロジアナに繋いでも
特に信号見れませんでした。残念。どこかプルダウンしないといけないのかな?

ACアダプタの定格が5V2A。プラグは外形5.5mm、内径2.1mm、センタープラスの
標準的なDCプラグです。
コンセントプラグ自体は中国のプラグなので変換コネクタを噛ませてます

コンポーネント1080i信号キャプチャ中 0.65~0.67A程度 0.7A未満

コンポーネント1080i信号キャプチャ前(HDMI出力をモニタへ接続) 0.51A前後

コンポーネント1080i信号キャプチャ中(HDMI出力をモニタへ接続) 0.65~0.67A程度 0.7A未満
電流測定キャプチャ前_HDMI信号1920x1080_60P入力 0.47A前後 0.5A未満

電流測定キャプチャ中_HDMI信号1920x1080_60P入力 0.58~0.62A程度 0.7A未満


HDMI1080P信号をキャプチャさせたが問題なく記録できていた。
電圧4.0V_動作NG

電源投入直後、筐体前面左側USBメモリのオレンジのランプの点滅が止まらなかったため、
電圧不足によりUSBメモリが正常に動作しなかったため動作できなかったと思われる。
最低動作電圧4.1V、動作中の電流0.7A未満であるという以上の結果を踏まえて、
現在ACアダプタで動作させているが、2A出力のUSBモバイルバッテリを用いれば
安定してコンセントレスのポータブルキャプチャ環境を用意できると考える。
・・・というかそのつもりで入手したんですがね(゚∀゚)
目論見通りですw
・中身を分解
・使用電流を調査
・最低動作電圧を調査
してみました。
尚、この記事の内容を元に改造・分解などによる故障、損害など一切の責任を負いませんので
参考にする場合は自己責任で、どうぞ。
外観 表面

外観 裏面

内部 筐体裏面

内部 筐体表面

構成パーツ

基板はどうやら表面実装部品はリフロー、スルーホール、コネクタなどは手ハンダの様子で、
手ハンダを行ったと思われるオーディオジャック周辺はフラックスクリーナーで清掃しました。
はんだボールも出てきましたからね(;´∀`)
また表面も手ハンダによるリワーク痕が2ヶ所見受けられました。
ちなみに基板表の左側、JTAGとシルクがありますが、ロジアナに繋いでも
特に信号見れませんでした。残念。どこかプルダウンしないといけないのかな?

ACアダプタの定格が5V2A。プラグは外形5.5mm、内径2.1mm、センタープラスの
標準的なDCプラグです。
コンセントプラグ自体は中国のプラグなので変換コネクタを噛ませてます
・キャプチャ中の消費電流測定
キャプチャ前 0.48A程度 0.5A未満
コンポーネント1080i信号キャプチャ中 0.65~0.67A程度 0.7A未満

コンポーネント1080i信号キャプチャ前(HDMI出力をモニタへ接続) 0.51A前後

コンポーネント1080i信号キャプチャ中(HDMI出力をモニタへ接続) 0.65~0.67A程度 0.7A未満

電流測定キャプチャ前_HDMI信号1920x1080_60P入力 0.47A前後 0.5A未満

電流測定キャプチャ中_HDMI信号1920x1080_60P入力 0.58~0.62A程度 0.7A未満

・キャプチャ中の最低動作電圧調査
電圧4.1V_動作OK
HDMI1080P信号をキャプチャさせたが問題なく記録できていた。
電圧4.0V_動作NG

電源投入直後、筐体前面左側USBメモリのオレンジのランプの点滅が止まらなかったため、
電圧不足によりUSBメモリが正常に動作しなかったため動作できなかったと思われる。
最低動作電圧4.1V、動作中の電流0.7A未満であるという以上の結果を踏まえて、
現在ACアダプタで動作させているが、2A出力のUSBモバイルバッテリを用いれば
安定してコンセントレスのポータブルキャプチャ環境を用意できると考える。
・・・というかそのつもりで入手したんですがね(゚∀゚)
目論見通りですw
2015年7月8日水曜日
LPC-Link2のCMSIS-DAPファームを更新したら認識しなくなったけど解決
LPCScrypt(最近リリースされたLink2やLPCXpressoV2/V3系ボードのファームを焼くためのツール)で最新のCMSIS-DAPファームを書き込んだら、PCから認識しなくなって、困って、解決しますた。
原因は、CMSIS-DAPファームのバージョンアップに合わせて、PCのドライバも更新していなかったためです。
ドライバを更新してない時の症状は、デバイスマネージャーにCMSIS-DAPデバッガが表示されず、シリアルポートの「LPC-LinkⅡ UCom Port」のみが表示されます。
LPCXpresso最新版(v7.8.0_426)にもLPCScryptと同じCMSIS-DAPファームが入っているので、LPCXpressoでも同様の現象が発生するかもしれません。(JP1刺さずUSBブートでCMSIS-DAPファーム利用する場合など)
インストールを行う前に古いドライバを削除しておくことをオススメします。
ドライバのインストーラはLPCXpresso v7.8.0_426に同梱されています。
デフォルトのままインストールされているなら、インストーラのパスは
"C:\nxp\LPCXpresso_7.8.0_426\Drivers\lpc_driver_installer.exe"になります。
インストールが成功し、CMSIS-DAPファームを焼いた状態でLink2を接続すると以下の画像のように認識されて正常に動作します。
原因は、CMSIS-DAPファームのバージョンアップに合わせて、PCのドライバも更新していなかったためです。
ドライバを更新してない時の症状は、デバイスマネージャーにCMSIS-DAPデバッガが表示されず、シリアルポートの「LPC-LinkⅡ UCom Port」のみが表示されます。
LPCXpresso最新版(v7.8.0_426)にもLPCScryptと同じCMSIS-DAPファームが入っているので、LPCXpressoでも同様の現象が発生するかもしれません。(JP1刺さずUSBブートでCMSIS-DAPファーム利用する場合など)
インストールを行う前に古いドライバを削除しておくことをオススメします。
ドライバのインストーラはLPCXpresso v7.8.0_426に同梱されています。
デフォルトのままインストールされているなら、インストーラのパスは
"C:\nxp\LPCXpresso_7.8.0_426\Drivers\lpc_driver_installer.exe"になります。
インストールが成功し、CMSIS-DAPファームを焼いた状態でLink2を接続すると以下の画像のように認識されて正常に動作します。
2015年7月7日火曜日
mbed AutoTransferバージョンアップしました(v1.03)
mbedAutoTransferの説明ページを作りました。
初めての方はこちらを御覧ください。
http://kinomuku129.blogspot.jp/p/mbedauto.html
今回のバージョンアップで、11Ux系への対応として「イレースモード」を追加しました。
11U系はバイナリ転送前に、ドライブ内の「firmware.bin」を消去する必要があるため、そのための機能です。
イレースモードを有効にすると、バイナリ転送前にドライブ内のすべての.binファイルを削除します。
ダウンロードはこちらからどうぞ
https://developer.mbed.org/users/nameless129/notebook/mbed-autotransfer-tool/
初めての方はこちらを御覧ください。
http://kinomuku129.blogspot.jp/p/mbedauto.html
今回のバージョンアップで、11Ux系への対応として「イレースモード」を追加しました。
11U系はバイナリ転送前に、ドライブ内の「firmware.bin」を消去する必要があるため、そのための機能です。
イレースモードを有効にすると、バイナリ転送前にドライブ内のすべての.binファイルを削除します。
ダウンロードはこちらからどうぞ
https://developer.mbed.org/users/nameless129/notebook/mbed-autotransfer-tool/
2015年7月4日土曜日
D&DでCMSIS-DAPデバッガから書き込みを行うバッチファイル
昨日に引き続きバッチファイルネタです(;´∀`)
バッチファイルにD&Dでbinファイルをぶち込むとCMSIS-DAPデバッガを通じてターゲットに書き込みが行えます。
https://developer.mbed.org/users/kazu_zamasu/notebook/USE-to-IRC-on-mbedlib/
ざますさんのノートブックにredlinkへ引数としてバイナリを渡して書き込む方法があったので
それをバッチファイル化しました。
ざますさんのと少し違うのはLPC-Link2をredlink化せず、CMSIS-DAPデバッガのまま使うことです。
CMSIS-DAPデバッガのまま書き込めたので省略しました。
(LPC-Link2のCMSIS-DAPデバッガ化はLPCScryptを使ってください)
手持ちのNXPチップのmbed4種(LPC1768,LPC11U68,LPC1114,LPC824)対応のバッチファイルを作りました。
mbedとしてPCにUSBで接続してる時も使えます(CMSIS-DAPデバッガとしても認識されてるため。USBストレージあるからあまり意味ないけど)
LPC-Link2をCMSIS-DAPデバッガとして動作させている時に同様に使うことができます。
これで非mbedなボードでSWD書き込みが捗ります。今まではCoFlash使ってたけど、824とか対応してなかったんですよね。。。
batファイル3行目のLPCXpressoインストールパスを修正してから使ってください。現状では最新のLPCXpresso v7.8.0_426のパスになっています。
D&Dでbinファイルをbatファイルに放り込むと書き込んでくれます。書き込み後はリセットがかかり、焼いたバイナリが走り出します。
バッチファイルにD&Dでbinファイルをぶち込むとCMSIS-DAPデバッガを通じてターゲットに書き込みが行えます。
https://developer.mbed.org/users/kazu_zamasu/notebook/USE-to-IRC-on-mbedlib/
ざますさんのノートブックにredlinkへ引数としてバイナリを渡して書き込む方法があったので
それをバッチファイル化しました。
ざますさんのと少し違うのはLPC-Link2をredlink化せず、CMSIS-DAPデバッガのまま使うことです。
CMSIS-DAPデバッガのまま書き込めたので省略しました。
(LPC-Link2のCMSIS-DAPデバッガ化はLPCScryptを使ってください)
手持ちのNXPチップのmbed4種(LPC1768,LPC11U68,LPC1114,LPC824)対応のバッチファイルを作りました。
mbedとしてPCにUSBで接続してる時も使えます(CMSIS-DAPデバッガとしても認識されてるため。USBストレージあるからあまり意味ないけど)
LPC-Link2をCMSIS-DAPデバッガとして動作させている時に同様に使うことができます。
これで非mbedなボードでSWD書き込みが捗ります。今まではCoFlash使ってたけど、824とか対応してなかったんですよね。。。
batファイル3行目のLPCXpressoインストールパスを修正してから使ってください。現状では最新のLPCXpresso v7.8.0_426のパスになっています。
D&Dでbinファイルをbatファイルに放り込むと書き込んでくれます。書き込み後はリセットがかかり、焼いたバイナリが走り出します。
登録:
投稿
(
Atom
)