現在 KICAD の short cut 専用 keyboard の作成の検討をしている. ただし, スイッチいちからを並べて組むのは面倒なのと見た目もそれほど良いと思えないので, テンキーの製品を購入して内部の MCU は取り外してしまい, 新たに MCU を接続し KICAD 専用としてみようと考えている.
検討している使用は以下の通り.
1. 市販の USB テンキー (実際はもっとある物を使用)
2. USB MCU (STM32L072)
3. USB HID keyboard + USB CDC(設定用)
4. PC に特殊 driver/tool が必要がない様にする
5. キーのトグルにより EESCHEMA と PCBNEW で使い分けられる様にする
6. USB CDC にてキーバインドを変更でき EEPROM に保存できる様にする
とりあえず, ROTTAY 22key を購入した. これにしたのは, key の個数もあるが, keyboard の台座部分がそれなりに空間がありそうで, 別途 MCU 基板を入れられると思ったからだ.
さっそく内部がどうなっているか見る為に, 開けようとするが, よくある裏面のステッカー部分やゴム足部分にネジがあるかと思ったがない, また匡体どうしのパッチン止めかとも思い力ずくでコジ開け様としたがだめだった. 仕方がないので, 側面をカットして内部を見える様にした.
やはり, かなりの空間があるので問題なく新たに基板は入れられそうだ.
しかしよく見ると, 匡体内部にボスが立っており, 押えにしては径が太い気がした. ボスが当っている部分を keyboard 側から見るとなんとネジがあり, それを外すと裏蓋が開きそうだったが, やってみると案の定なんなく裏蓋が空いた. はっきりいって側面を切る必要はなかった... 以下の写真は 2ヶ所しかないが, 1, 2, 3 key の下にも 2つネジがあります.
とにかくバラした感じは以下の通り.
基板は片面基板で, 配線同士がクロスする部分には積極的に 3220 サイズののコンダクタが使われている. もうちょっと最適化できるであろう部分があるが, スイッチの配置検討のまえに回路図や soft を fixしてしまったのではないかと思われる. あと, 幸いにも全体イルミ用 LED と NUM LOCK インジケータ LED は MCU で点灯制御ができる. であれば, eeschema 時は消灯, pcbnew 時には点灯など見た目を変えられそうだ (window manager にどれが focus 当っているか確認し, USB HID で MCU に設定すれば良いが, 現状そこまでする気はない).
ここまで分れば, hardware としては, keyboard と MCU を接続すれば良いのだが, STM32 の M0+, M4系の の NUCLEO 基板で USB が出ている物がなく, ちょっと前に基板作成に出した STM32L0xx, STM32L4xx の reference 基板を作成したので, それを入荷待ち状態である.
また software は,
a. Key 入力部
b. USB HID 部
c. USB CDC ならびに command parser 部
の開発が必要である.
USB HID は久しぶりで report の作り方などだいぶん忘れてしまった. まぁ OS をハングさせながら, ぼちぼち開発していけば良いかと考えている.
2018年12月3日月曜日
2018年11月20日火曜日
Totalphase の USB analyzer と USB PD analyzer の購入 (その4)
今回の point は Data Center を動作させる為には gstreamer-0.10.0 が install されている事が必要である. 最近の Ubuntu はすでに gstreamer-1.0 になっており, gstreamer-0.10.0 を入れる事による他への弊害がありそうだ. この選択はやめ 0.10.0 が入っている Ubuntu 上で動作させる事とした.
結果的に, 14.04, 12.04 あたりは使え 18.04, 17.10, 16.04 は ng だった.
(16.04 は gstreamer-0.10 だが libpng12 がなかったりなど色々ありそう)
ただし, 現在使用している version は, 18.04 もしくは, 17.10 で gstreamer はすでに 1.0 となってしまっているので, Data Center で要求される shared library の version が 0.10.0 でない為, 実行できない. いつ Data Center が gstreamer-1.0 に対応してもらえるかはわからないので, virtualbox で Ubuntu 14.04 を動作させた.
動作環境は以下の通り
- Host pc Ubuntu 18.04, 17.10
- VirtualBox 5.2 + Extension
- Ubuntu 14.04 (english)
- Data Center v6.73 (Beagle version HW: 2.00, FW: 2.01)
この環境で以下の手順で install を行ない, Data Center を動作させた.
くどくど書いているが, ほぼ上の環境を入れるだけの作業なので, 今なにをしているかを考えながら入れると問題は少ないだろう. 動作させるのに必要な設定は特にないが, 画面サイズがそれなりに広いほうが良いので,Virtual box の default の 640x480 から1280x1024 に変更する設定程度でとりあえず使用する事ができると思う. 細かい設定たとえば, updateしない,不必要な daemon を off, auto logoff しない, file共有, などなど挙げればきりがないが, ぼちぼちやっていけば良いと思う.
### virtual box を install
% wget https://download.virtualbox.org/virtualbox/5.2.22/virtualbox-5.2_5.2.22-126460~Ubuntu~bionic_amd64.deb
% wget https://download.virtualbox.org/virtualbox/5.2.22/Oracle_VM_VirtualBox_Extension_Pack-5.2.22.vbox-extpack
% sudo dpkg -i virtualbox-5.2_5.2.22-126460~Ubuntu~zesty_amd64.deb
# USB などを virtualbox 上で使用する為の extension pack
# shell 上で実行できるかわからなかったのでファイラーからダブルクリックした
Oracle_VM_VirtualBox_Extension_Pack-5.2.22.vbox-extpack
### ubuntu を install
wget http://releases.ubuntu.com/14.04/ubuntu-14.04.5-desktop-amd64.iso
% virutalbox
# 仮想 machine の作成
# 名前 Ubuntu 14.04, memory 1024MB, 新規 10GB VDI 可変サイズ
# 起動後すぐに iso file の設定があるので, ubuntu-14.04.5-desktop-amd64.iso を指定
# PC名, user名を入力,passwordなしでの login にしておく (Data Center だけの為なので)
### 画面サイズの変更
- VirtualBox 上の デバイス -> Guest Addtions Cd イメージの挿入 -> auto run の許可
- reboot
- 画面で右 click -> Change Desktop Backgroud -> All Settings -> Displays -> Resolution -> 128x1024 -> Apply -> Keep This Configuration
### Data Center の取得
- Brower の立ち上げ -> (必要があれば proxy の設定) -> www.totalphase.com へ login
- Protocol -> USB
- "Beagle USB 5000 v2 SuperSpeed Protocol Aanlyzer - Standard Edition" を click
- page の一番下にある "DOWNLOAD" を clink
- Data Center SoftWare (v6.73) を clink
- Data Center Software v6.73 (Lunux 64-bit) を clink (download)
### Data Center の実行
command を起動
% cd download_point
% unzip data-center-linux-x86_64-v6.73.zip
% cd data-center-linux-x86_64-v6.73
% sudo ./Data\ Center
root で立ち上げないと, 起動後 Data Center 上の Analyzer -> Connect to Analyzer
で接続しようとしても "One or more devices attached but inaccessible." となり, Beagle は見えているが, device file に access できない状態になってしまう. 慌てず騒がず sudo しよう (なんでもかんでも root で実行するのは本当はダメなんですが).
本来は sudo でなく udev など usb の permission を整える必要がある
2018年11月17日土曜日
Totalphase の USB analyzer と USB PD analyzer の購入 (その3)
家に着き, 早速箱を開けると Beagle USB 5000 V2 キャリーケース, 電源ケーブル, USB type-C PD
Analyzer が緩衝材の中に埋もれて入っていた. 想定外だったのが, Beagle USB 5000 V2
はキャリーケースに入っていたという事だ. タンボールもしくは厚紙の箱に入っている物と思われたが, それなりのプラスチックケースなので,
持ち運びに便利である. 個人的な使用として購入して物だが, 会社で使用している USB analyzer は HS までしか capture
できないものなので, 必要がればちょっと持って行って測定も可能だ.
Beagle USB 5000 V2 のキャリーケースを開けると, 本体と AC アダプタがスポンジを刳り貫い部分に入っている. 一つ何も入っていない部分があるが, 電源ケーブルを入れる部分と思われる.
Beagle USB 5000 V2 のキャリーケースから取り出すと, 付属ケーブルが底に入っていた. 本体の匡体は, 鉄を使用している為か見た目以上に重い. 塗装は結構厚めにされている様な気がするが, キズを付けてしまうとそこから錆てしまうのではないかと思ってしまう. アルミかプラスチックで作って欲しいと思った. また AC アダプタの DC プラグは外装部のネジがバカになっており電極部のネジにうまくねじ込めず, すぐに抜けてしまう. 多分 AC アダプタ製造している時に力ずくで外装を嵌め込んでしまったのだろう. いずれ交換が必要である. ちなみに DC ジャックは 2.5mm センタープラス 12V 2A であれば良いので他の AC アダプタでも使えそうだ. まぁ, とりあえずはプラグを付け変えないといけなさそうだ.
ケーブル類は, USB3.0 ケーブル 3 本, IO trigger ケーブル 1 本, USB2.0 cable(20cmほど) 1 本, そして Warranty カードがあ入っていた. USB3.0 ケーブルはすべて 90cm 程であるので, Data Center (analyzer app) を動作させる PC を床に置いているので, analyzer との距離があり, 接続するのに別途購入が必要そうだ. ただし, Downlink (Data Center を動作させる PC と analyzer 間の link) は, Standard model では HS なので, USB3.0ケーブルである必要はない. ただ amazon 的に現状 1.8m の USB3.0 ケーブルが 1,000円程度とんでもなく高いというわけではないので, とりあえずカートに入れておいた.
あと, IO trigger ケーブルは, mini DIN とソケットが接続されているが, ソケット側で外皮を剥いて 1本ずつのケーブルにしている部分に収縮チューブなどの対策がなく単にカットされて終りになっていた. ケーブルの断線などしない様に自己融着テープで対策が必要であろう.
本体の正面ならびに背面の IO ならびに操作スイッチは以下の写真の通り.
あえて言うなら, 測定側の USB の VBUS 切断 SW があり, Trigger 端子は正面パネルにある. 背面の HDMI コネクタは何に使用するのかよくわからない. なんせドキュメントはあまり読んでいないので...
Data Center の setup を環境を整えないといけない.
Beagle USB 5000 V2 のキャリーケースを開けると, 本体と AC アダプタがスポンジを刳り貫い部分に入っている. 一つ何も入っていない部分があるが, 電源ケーブルを入れる部分と思われる.
Beagle USB 5000 V2 のキャリーケースから取り出すと, 付属ケーブルが底に入っていた. 本体の匡体は, 鉄を使用している為か見た目以上に重い. 塗装は結構厚めにされている様な気がするが, キズを付けてしまうとそこから錆てしまうのではないかと思ってしまう. アルミかプラスチックで作って欲しいと思った. また AC アダプタの DC プラグは外装部のネジがバカになっており電極部のネジにうまくねじ込めず, すぐに抜けてしまう. 多分 AC アダプタ製造している時に力ずくで外装を嵌め込んでしまったのだろう. いずれ交換が必要である. ちなみに DC ジャックは 2.5mm センタープラス 12V 2A であれば良いので他の AC アダプタでも使えそうだ. まぁ, とりあえずはプラグを付け変えないといけなさそうだ.
ケーブル類は, USB3.0 ケーブル 3 本, IO trigger ケーブル 1 本, USB2.0 cable(20cmほど) 1 本, そして Warranty カードがあ入っていた. USB3.0 ケーブルはすべて 90cm 程であるので, Data Center (analyzer app) を動作させる PC を床に置いているので, analyzer との距離があり, 接続するのに別途購入が必要そうだ. ただし, Downlink (Data Center を動作させる PC と analyzer 間の link) は, Standard model では HS なので, USB3.0ケーブルである必要はない. ただ amazon 的に現状 1.8m の USB3.0 ケーブルが 1,000円程度とんでもなく高いというわけではないので, とりあえずカートに入れておいた.
あと, IO trigger ケーブルは, mini DIN とソケットが接続されているが, ソケット側で外皮を剥いて 1本ずつのケーブルにしている部分に収縮チューブなどの対策がなく単にカットされて終りになっていた. ケーブルの断線などしない様に自己融着テープで対策が必要であろう.
本体の正面ならびに背面の IO ならびに操作スイッチは以下の写真の通り.
あえて言うなら, 測定側の USB の VBUS 切断 SW があり, Trigger 端子は正面パネルにある. 背面の HDMI コネクタは何に使用するのかよくわからない. なんせドキュメントはあまり読んでいないので...
正面

背面
Data Center の setup を環境を整えないといけない.
Totalphase の USB analyzer と USB PD analyzer の購入 (その2)
とりあえず $4000 への引上げが完了し, すかさず, Totalphase の web site で購入手続きをした.
今回は問題なくと通ったようだ.
また, オーダステータスも "billed" どうこうなので, 引き落しが完了しているみたいだ.
その 1時間後程度に "Sent" うんぬんと来たので発送もされた (ほぼ同じ画面なので発送画面は割愛).
発送されたという事は, そこからは Fedex の tracking を見る必要がある.
それによると, San Francisco の対岸に Okuland に集められるらしい. ほぼ時差を含めても次の日に成田に着いていた. 勝手な想像だが, もし他の荷物が多い場合は priority が優先されるのではないかと考えている. この日に Fedexから電話があったが, 気付いたのがすでに帰宅後であった. 次の日 (9日) の 9時頃電話をしたが, 関税の話であった. 前回のオシロの購入と同じ様に測定器関連は関税は 0% であるので, 無税であったが, 輸入消費税は必要で, 17,600円であった. 支払は色々な方法があったが, とりあえずクレジットカード払いにした. DTMF でカードカード番号を入れるのかと思ったら, 口頭で言えとの事. 裏面の code まで必要とされていなかったのでよかったが, ちょっと後味は悪い. 振り込み先を聞いて振り込ににした方がよかったかもと思った.
関税の支払いが 金曜日だったのもあって, 発送が土日に掛ってしまい受取が月曜日になってしまった. しかし, 平日の昼間など家にいないので月曜日にも受けとれるはずもなく,しかも Fedex は再配達も日本資本の大手宅配業者の様に細かく時間指定ができないので, 自ら受け取りに行く事にした. その旨を 13 日火曜日の Fedex のカスタマーサポートの電話対応が始まる 8:30 に連絡をした. 当日受け取りの旨を申し出た所問題なく受理され, しかも 1時間程経った後にドライバーからも営業所に荷物を置いたと連絡が来た. 実際, 受け取りに行っても荷物がなかったとかが心配だったのだが安心できた. US資本なので,こういう細かい事があやしかったりするが実務部隊は日本人であるのでそこはきっちりしているのだろうと感じた.
最寄りの Fedex の営業所がたまたま車もしくは鉄道の駅から近くにあったので問題がなかったが, Fedex の site を見てもそれほど多くの所に拠点がある様には見えなかったので, そうでなければ, 多くの諸外国の様に荷物の受け取りに 1 日中家にいなければならないという事になる. ただ, カスタマー サポートは凡その宅配時間を御知らせできますよ, との事だったが, 今回受け取りに行く事にしたので, 確認の時間が掛かるのを避ける為にそこまではしらわない事にした.
Fedex の事務所に着くと基本物流倉庫の一角を事務所にした様な作りになっており, 我々カスタマーのやりとりは 6 畳もない様な部屋でやり取りをする事になった. 事前に受け取りの電話をしているので, 名前を言うだけで荷物を持ってきてくれた. しかし, 当然ではあるが身分証明証の提示が必要で運転免許証を見せ, 受け取りのサインをして荷物を受け取った.
荷物は凡そ 5lb ちょっと (2.5kgいかないくらい) と分っていたが, サイズが不明であった. 物品を 2 つ購入し, それぞれの製品の大きさはわかっているので, バラせはディバックに入るかと考えたが, 念の為に折り畳みのゴロゴロキャリアを持っていった. やはり, 約40cm 四方のダンボールだったのでバラすにもゴミの問題もあるので, キャリアに縛り着け帰路に着いた.
2018年11月7日水曜日
Totalphase の USB analyzer と USB PD lanalyzer の購入 (その1)
先日 UNION bank に送金をしたが, その理由は US にある Totalphase という vendor から USB analyzer を購入しようとしたからだ. 今回購入を検討した analyzer は "Beagle USB 5000 v2 SuperSpeed Protocol Analyzer Standard Edition" である. これは, USB3.0 SS (SuperSpeed, 5Gbps) の packet capture が可能である. しかし, capture した packet を表示する PC との接続は HS (HighSpeed, 480Mbps) で, SS の packet を PC ですべて表示する事はできない. もし必要であれば, PC との接続も SS にする事ができる upgrade pack を購入すれば良い. data を一部しか capture しない機能があるとの事なので, まずはこの状態で使ってみれば良いかと考えた. あと, 決定的だったのが, PC soft に linux も対応している事であった. 普段から, linux を使用しているせいで, windows soft の場合わざわざ PC を立ち上げからしなければならなく面倒だからだ. だた linux 環境で実際に動作させていないので, 本当に使えるかどうかわからない. なにはともあれ, 購入しようと考えた.
基本性能は Totalphase の以下の site を参照していただきたい.
https://www.totalphase.com/products/beagle-usb5000-v2-standard/
しかし, この製品の購入にあたって Totalphase は日本に代理店があり, vendorによっては, その地域の代理店で購入しれくれとなる場合がある. しかし, Totalphase はまだマイナーな企業なのか (むしろ, バンバン売れるものではないという理由が大きと思うし, 昔 CATC 今 LeCroy の analyzer もあまり出していない様な気がする), 日本だけでなく各国の代理店で販売価格を表示している所は少ない. Totalphase は価格を出しているので, ちょっとは安心できるし, 販売価格を聞いて単にひやかしになってしまうのも気が引けてしまう, しかし出してもらっていると購入するかどうかの検討する事が可能である. そこで, 今回購入した物品を US 国内の海外転送サービス会社を受け取りにする事で Totalphase から直接購入できるのではないかと考えた (US国内で物品を購入する場合は, 日本の消費税に VAT がかからない Oregon 州などの転送サービス会社にすると良い事がわかった). US 国内から日本への転送サービス会社の手配をし Beagle 5000V2 をポチッた (login account の登録と loginが必要です).
意を決して "Proceed to Checkout" して購入手続ききをする (色々思考錯誤しているので, 送料が書かれてしまっているが, 実際は空欄になっている).
請求先住所が聞かれているが特に問題ない. しかし上記の "In a rush?" という言葉に引っかかった. 各国の代理店での購入は "お急ぎ" の場合おすすめですよ! の話であって, 特に各国の代理店から購入しなければならないというわけではないのではないかと考え, Totalphase からの直接購入に切り替えた. そこで Shipping info を US の転送サービス会社にしていたが, それを使用せず上記画面の "Ship to this address" に checkを入れ, "Continue" した.
請求先住所と発送先住所が同じという事で, "2 Shipping information" は飛ばされた.
それなりの箱の大きさになる事, Fedex である事, Air である事から $120,30 になるのだろう. とりあえず 2 つの選択肢があるが本来なら $10 はケチるべきとは思うが, 高い方の Priority にした. どこかがちょっとだけ優先度が上るのだろう (振り分け業務あたりが優先的に仕分けされるののか?しらんけど). US 国内はそれでも $70 くらいにはなっていた. 恐るべし Fedex.
支払は先に送金したおいた UNION bank から引き落されるクレジットカードで支払をする為, カード情報を入れる. "continue" で最終確認に入る.
"よし, 行ってまえ!!!" と "Place Order" をポチる.
しかし, error 発生. "transaction" なんか IP や HTTP(S) の transaction がおかしいのか? で, とにかく 3 回以上は最初の "1. Billing Information" から入力した. それでもおかしい.
そしてもっと奇妙な事に
いつの間にか価格改定 $600 値下!!! ようわかないがこのままとにかく "Place Order" を押しまくった. しかし, 全く埒があかず, sales@totalphase.com に mail した. これまたびっくりする事に 5分程度で返ってきた. US 時間 午後 3, 4時くらいと思ったがそれにしても速かった. よっぽど暇なのかと思ってしまった. mail いわくカードの上限とか region の制限とかないですかとの事, "transaction" って送金の方だとやっと気付いた. 普通は IP とか HTTP(S) の transaction とか思わないのか.
2018年10月31日水曜日
Firstrade で ACH を設定したが送金できない
USで物品の購入を検討しているが, Debit card で引き落される UNION bank の預金残高がそれほどない為, 先日 Fristrade で設定した ACH で UNION bank へ送金をしようとした. しかし, 以下の通り "no active bank" どうこう言われて送金ができない. UNION bank の取引履歴には ACH 登録時の合計 $1 以下の取引が 2回あり問題ないと考えていた.
とりあえず上写真の下の部分の "Bank profile setting" を click すると
UNION bank の項目が出ているので, なんらかの情報は Firstrade に登録されている.
しかし status が "closed" となっていて使用できないと思われる.
FAQs などちょこちょこ調べてみたがわからず, とりあえず 質問 mail を出した.
日本で言う所の振り込みの Wire transfer は, 手数料が $25 とチョー高いのでなんとか ACH で送金できないかと考えている.
2018/11/01
mail の返事が返ってきた.
どうも 2つの送金の金額を確認 page で入力していない事が原因だと言う. うん, 確かにそんな事はやっていない. 完全に忘れていた.
画面も以下の通り "Verify" 画面になっており 2 つの金額が入れられる様に変化している.
すでに 2 つの送金が行なわれているが, "Now, we have help you setup ACH profile again" と言っているので, 多分再度最初から, 金額が変更されて送金されると思うので, それを入れるのであろう. 期限が 10 日までなので, あせって ng になっても仕方がない.
2018/11/02
UNION bank に login し口座残高を確認すると, $0.02, $0.07 が振り込まれていたので, それぞれの額をl Deposit #1 #2 に入力し "Confirm" を Click すると, 問題なく設定できた (画面の capture をし忘れた).
その後, Withdraw の ACH を選ぶと, 送金金額を入れられる部分が表れ送金できる様になった.
"Enter Amount" に金額を入れ "SUBMIT" を Click すると, 送金予約が入った. 2 日は金曜日で実働 1, 2日かかるという事なので月曜日か火曜日という事になる.
とりあえず上写真の下の部分の "Bank profile setting" を click すると
UNION bank の項目が出ているので, なんらかの情報は Firstrade に登録されている.
しかし status が "closed" となっていて使用できないと思われる.
FAQs などちょこちょこ調べてみたがわからず, とりあえず 質問 mail を出した.
日本で言う所の振り込みの Wire transfer は, 手数料が $25 とチョー高いのでなんとか ACH で送金できないかと考えている.
2018/11/01
mail の返事が返ってきた.
どうも 2つの送金の金額を確認 page で入力していない事が原因だと言う. うん, 確かにそんな事はやっていない. 完全に忘れていた.
画面も以下の通り "Verify" 画面になっており 2 つの金額が入れられる様に変化している.
すでに 2 つの送金が行なわれているが, "Now, we have help you setup ACH profile again" と言っているので, 多分再度最初から, 金額が変更されて送金されると思うので, それを入れるのであろう. 期限が 10 日までなので, あせって ng になっても仕方がない.
2018/11/02
UNION bank に login し口座残高を確認すると, $0.02, $0.07 が振り込まれていたので, それぞれの額をl Deposit #1 #2 に入力し "Confirm" を Click すると, 問題なく設定できた (画面の capture をし忘れた).
その後, Withdraw の ACH を選ぶと, 送金金額を入れられる部分が表れ送金できる様になった.
"Enter Amount" に金額を入れ "SUBMIT" を Click すると, 送金予約が入った. 2 日は金曜日で実働 1, 2日かかるという事なので月曜日か火曜日という事になる.
2018年10月3日水曜日
Ubuntu 18.04 で gdb-multiarch を使用する (openocd に注意)
使用している PC の一つが Ubuntu 14.10 であったが Window manager が起動した後, ウンスン状態になった為,18.04 に入れなおした.
OS の install 後に STM32 の開発環境を整えていたが, gdb が gdb-arm-none-eabi でなく gdb-multiarch に変更になっており, それを apt install した. それと同時に openocd の apt install をした. しかし, apt install した openocd は 0.10.0 で, かねてより開発していた STM32H743 はまだ support 状態でないので, "Ubuntu 17.10上で openocd と gdb で STM32H743 を debug する方法" で stm32h7x.cfg をテキトーに作成して使用を試みた. しかし openocd を stm32h7x.cfg を 指定して起動すると,
とりあえず, "gdb_memory_map disable したらどうですか" との事なので 15行目の "set _ENDIAN little" の下に "gdb_memory_map disable" 入れたら connect できた.
"Ubuntu 17.10上で openocd と gdb で STM32H743 を debug する方法" で言えば
普段 openocd 経由で flash の書き込みなどをしないので, これで良いと思われる.
ただ, これで終ってしまっては, 面白くないので, openocd の development 版は STM32H7 をすでに入れているのではないかと思うので, 入れてみようと考えた. 手順は以下の通り
今回は STM32H7 系に接続したい為,
openocd -f interface/stlink-v2-1.cfg -f target/stm32h7x.cfg
を実行すると,
Open On-Chip Debugger 0.10.0+dev-00546-g1afec4f5 (2018-10-02-08:58)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
WARNING: interface/stlink-v2-1.cfg is deprecated, please switch to interface/stlink.cfg
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1800 kHz
adapter_nsrst_delay: 100
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
/usr/local/bin/../share/openocd/scripts/target/stm32h7x.cfg:102: Error: invalid command name "stm32h7x.dap"
in procedure 'script'
at file "embedded:startup.tcl", line 60
at file "/usr/local/bin/../share/openocd/scripts/target/stm32h7x.cfg", line 102
と表示され,
"stlink-v2-1.cfg でなく stlink.cfg を使え" と, "stm32h7x.dap command がない" と言われる. stlink.cfg はこれを指定する事により特に問題なく切り替えられた, また "stm32h7x.dap どうこう" は色々調べてみると, STLINK でなく CMSIS-DAP を使用する場合に使える command だと理解できた. この事から, /usr/local/share/openocd/scripts/interface/stm32h7x.cfg の一番最後の行を
#$_CHIPNAME.dap apcsw 0x08000000 0x08000000
の様に行の先頭に "#" を追加して無効化した. その以下のcommand を実行した
openocd -f interface/stlink.cfg -f target/stm32h7x.cfg
無事 openocd を立ち上げる事ができ gdb-multiarch から openocd の 3333 ポート に接続できた.
OS の install 後に STM32 の開発環境を整えていたが, gdb が gdb-arm-none-eabi でなく gdb-multiarch に変更になっており, それを apt install した. それと同時に openocd の apt install をした. しかし, apt install した openocd は 0.10.0 で, かねてより開発していた STM32H743 はまだ support 状態でないので, "Ubuntu 17.10上で openocd と gdb で STM32H743 を debug する方法" で stm32h7x.cfg をテキトーに作成して使用を試みた. しかし openocd を stm32h7x.cfg を 指定して起動すると,
Info : device id = 0x00000000の様に error が出力され, 使用できない状態になってしまった.
Warn : Cannot identify target as a STM32 family.
Error: auto_probe failed
Error: Connect failed. Consider setting up a gdb-attach event for the target to prepare target for GDB connect, or use 'gdb_memory_map disable'.
Error: attempted 'gdb' connection rejected
とりあえず, "gdb_memory_map disable したらどうですか" との事なので 15行目の "set _ENDIAN little" の下に "gdb_memory_map disable" 入れたら connect できた.
"Ubuntu 17.10上で openocd と gdb で STM32H743 を debug する方法" で言えば
"# 3. stm32h7x.cfg の 34行目の _CPUTAPID を 0x6ba02477 に変更 "と言うべきであろうか
普段 openocd 経由で flash の書き込みなどをしないので, これで良いと思われる.
ただ, これで終ってしまっては, 面白くないので, openocd の development 版は STM32H7 をすでに入れているのではないかと思うので, 入れてみようと考えた. 手順は以下の通り
- sudo apt install pkg-config automake libtool libhidapi-dev
- git clone git://git.code.sf.net/p/openocd/code openocd-code
- cd openocd-code
- ./bootstrap
- ./configure --enable-cmsis-dap
- make -j4
- sudo make install
今回は STM32H7 系に接続したい為,
openocd -f interface/stlink-v2-1.cfg -f target/stm32h7x.cfg
を実行すると,
Open On-Chip Debugger 0.10.0+dev-00546-g1afec4f5 (2018-10-02-08:58)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
WARNING: interface/stlink-v2-1.cfg is deprecated, please switch to interface/stlink.cfg
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1800 kHz
adapter_nsrst_delay: 100
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
/usr/local/bin/../share/openocd/scripts/target/stm32h7x.cfg:102: Error: invalid command name "stm32h7x.dap"
in procedure 'script'
at file "embedded:startup.tcl", line 60
at file "/usr/local/bin/../share/openocd/scripts/target/stm32h7x.cfg", line 102
と表示され,
"stlink-v2-1.cfg でなく stlink.cfg を使え" と, "stm32h7x.dap command がない" と言われる. stlink.cfg はこれを指定する事により特に問題なく切り替えられた, また "stm32h7x.dap どうこう" は色々調べてみると, STLINK でなく CMSIS-DAP を使用する場合に使える command だと理解できた. この事から, /usr/local/share/openocd/scripts/interface/stm32h7x.cfg の一番最後の行を
#$_CHIPNAME.dap apcsw 0x08000000 0x08000000
の様に行の先頭に "#" を追加して無効化した. その以下のcommand を実行した
openocd -f interface/stlink.cfg -f target/stm32h7x.cfg
無事 openocd を立ち上げる事ができ gdb-multiarch から openocd の 3333 ポート に接続できた.
登録:
投稿 (Atom)


























