OpenOCD小ネタ24 -ビルドするときの小ネタとかも-

もうすぐ2月ですが
あけましておめでとうございますした!

今年も皆様に役に立つ情報を提供していきますのでどうぞご贔屓に☆
なお、新しい副業先(本業は虹裏メイド)ではこのぶろぐの事は完全に隠匿している
ため「あ、こんにちはネムイさん(プークス」とかおちょくられることはないのでねむい
さんもいないさんのぱんつがみえてるイラスツとか安心して公開
…とかは多分しませんので他の方が学校や職場から見ても問題ないような
記事の充実をしていこうと思います。あとdropboxの画像の復旧がむばります…。



本題に入りますが2019年最初のOpenOCDバイナリ最新版も公開しております。
皆様どしどし使ってください☆




●OpenOCDビルドするときにJIM-TCLの所でコケる対策

昨年10月くらいのアップデートからMSYS環境下でOpenOCDをビルドする際に下記の
変なメッセージを出してJIM-TCLのコードがclone出来ずOpenOCDのビルドが先に進ま
ないという問題にぶち当たりました。

fatal: unable to access 'https://repo.or.cz/r/jimtcl.git/': SSL certificate problem: unable to get local issuer certificate


なんでや…これでOpenOCDのgerritにもパッチあげられてるのに…
仕方ないのでいろいろ調べていると回避方法が見つかりました!
git config --global http.sslVerify false

"http.sslVerify false"でぐぐるとメジャーな問題だったようでねむいさんのアンテナ
の低さに自分自身で情けなくなってしまいましたorz
ねむいさんのOpenOCDぱっち詰め合わせの中にあるビルドスクリプトにも上記の対策と
ついでに64ビットOS環境下でMSYSを動かしたときに動きが鈍くなる対策も突っ込んで
降りますのでご参考に(openocd_update_s_libftdi参照)。

●libusbもアップデートしてるが…

1.0系が完全に定着したlibusbですが現在も時々刻々と機能追加や修正がくわえられて
アップデートし続けております。linux系OSでもWin系OSでもビルドできるようにgitで
ソースコートが管理しておりますがたまに特定のOS環境下でしか確認せずにエンバグ
された状態でマージしやがるやつがいます####(OpenOCDでも度々見られますが…)
これの修正は強烈でした。この修正が入った以降のコミットでビルドされたdllを使用
したら問答無用で落ちますorz
追加されたlibusb_wrap_sys_device関数のおかげでdll召喚した瞬間にお陀仏ですorz

仕方がないのでlibusb_wrap_sys_deviceのファンクションコール(Windows系OSでは
使用されていない模様)をまるまる削ったdllで事なきを得ております。
ねむいさんの公開しているOpenOCDバイナリにもこの修正がかかったlibusbのdllを
使用しておりますので安心してご使用できます☆

20190131追:
やっと直りました…F++K!



●壺の件

LPC800系のOpenOCDのパッチは、先にねむいさんが提出したnumicroのパッチがマージ
されたら提出しますのでそれまではねむいさんのOpenOCDバイナリを使用して頂きたく
思います。でもNxPのマイコンをわざわざSTLinkで使う物好きな人とかあんまりいな
いので殆どの人はこのバグに気づいていないでしょう〜

全部こいつのせいだ〜!ねむいさんはわるくないぞ〜!

●ブレークポイントで止まらねぇ!

OpenOCDのCPUコアに近い場所にパッチが当たった場合その影響がたいぶ後になって
気づくことが多々あります。
ねむいさんの提供しているSTM32F7向けのOpenOCD用cfgファイルはQSPIフラッシュが
ついてない基板でも動作できるように"gdb_memory_map disable"というオプションを
着けておりました。しかしながらそれのせいでコアにパッチがあてられたあたりから
ブレークポイントで止まらず特にmainの先頭とかで止まらずまともにデバッグが
できなくなってしまいましたorzまたですか…☠

ねむいさんの提供しているcfgは内蔵フラッシュからの起動/デバッグを想定している
ので対策は一応あります。cfg内で"gdb_memory_map disable"を記述した直後に下記の
一文を追加するとブレークポイントを貼った場所に止まることができるようになります。
"gdb_breakpoint_override hard"

多分RAM起動だと副作用でまくると思いますがフラッシュの書き込み耐用回数が増加
した現在ではそういう運用することはあんまりないので大丈夫とは思います。
また、正式には未だマージされていないQSPIのフラッシュ対応(XIP:直接実行)も配慮
した今回の修正なので、もし正式にQSPI対応になったら本腰入れて動作検証を重ねて
行こうと思います。

いろいろ試す36

今年は本当に波乱に満ちた年でしたね…
それでも月一ペースで何が何でも記事を更新できた私をほめてあげたい(自画自賛


●4GBのマルチメディアカードをついに入手!…しかし…

流通在庫が高すぎて敬遠していたのですがebayで新個品が放出されたタイミングを
見逃さなかった!!!!!Transcend製の4GBもあるMMC「TS4GMMC4」です!



同じトラ製のSDHCカードと比べてみました。


当たり前ですがねむいさんのSTM32F7のいつものでしっかり認識します。

カード情報も拾ってみました

FatFs module test terminal for STM32F769NIH6
LFN Enabled, Code page: 932
AppVersion : W.I.P
Build Date : Sep 30 2018
>fg piano
rc=0 FR_OK
>fo 1 ftbt.mp3
rc=0 FR_OK
>fr 132949600
132949600 bytes read with 17609 kB/sec.
>fs
FAT type = FAT32
Bytes/Cluster = 32768
Number of FATs = 2
Root DIR entries = 0
Sectors/FAT = 960
Number of clusters = 122752
Volume start (lba) = 8192
FAT start (lba) = 14464
DIR start (lba,clustor) = 2
Data start (lba) = 16384

Volume name is TS4GMMC4
Volume S/N is 9FB2-841B
...
1 files, 132949600 bytes.
0 folders.
3928064 KiB total disk space.
3797920 KiB available.
>ds 0
rc=0
Drive size: 7872512 sectors
Erase block size: 512 sectors
Default r/w block size: 2048 bytes
Card type: MMC(Byte)
CSD:
00000000 90 2F 00 2A 1F 5B 83 C0 F6 DB BF FF 96 C0 00 1D ./.*.[..........
CID:
00000000 1E FF FF 4D 4D 43 20 20 20 10 00 00 02 2E BD 73 ...MMC ......s

Parsing MMC CID Register
Manufacturer ID :0x1E
OEM/Application ID :
Product Name :MMC
Product Rev :1.0
Serial Number :0x0000022E
DateCode.Month :11
DateCode.Year :2010

Detected as MMCv4.1 Device!
OCR:
00000000 80 FF 80 00 ....
>

今から8年前に造られた最後の方のロットのMMCですね〜


ebayの新古品は2000円近辺で購入できるので例のSDライセンス問題も全く心配なく
ホビーで使いまくれると思います!

…と思ったのですが!!!

なんとこのMMC、MMCv4.1なのですが今日びのSDカードですら存在するSPI互換モードが
存在しない
ためマイコンの工作でSPIで手軽に使用することが一切できませんorz

上で認識してたのはSTM32F7のSDMMCからMMCネイティブモードで叩いたのでさくっと
動いて見えたのですが…皆さんご注意ください。SPI互換モードが存在しないのは
4GB品だけで2GB以下の品種はちゃんとSPIでも動きます…。


外人さんも嘆いている
ちょうどeMMCへの過渡期だったので4GB品の製造の際に遅いSPIモードがオミットされて
しまったのでしょう…まぁ電子工作で4GBも使うって早早ないから2GBでも十分じゃ
ないかな〜…うっかりSDカードが動いてしまうこともありますし

というわけで古のデバイスにも癖があったというおはなしでした!



●サポート止めたプロジェクトをメンテしてみた

3年前に更新停止したLPC2388のプロジェクトとかを最新のFatFsとかにあてがって
みました。arm-gccは表向きはcortex-mのサポートとうたっていますが昔のARM7TDMI
とかも余裕でビルドできます。
OpenOCDの書き込み・デバッグも順調です☆


あとLPC2388はUSBデバイス機能があってMSCやCDCなんかができるんですけどたとえば
CDCでは現在ではzadigを使用して汎用のCDCドライバをあてがうことができるので
格段に使い勝手が上がってます!まぁあえてLPC2388を使っていく意味も今となっては
有りませんが余興ということで



そしてMicrochipになってしまったATMEL製のXMEGAもFatFsの最新版(0.13c(patch1))を
あてがって動作確認できました。
コード効率が悪い上に容量も128kbしかないのでexFATはおろかLFNすら乗っけられま
せんがまぁ余興と(ry

ちなみにAVRToolchainは数年前に更新しなくなりましたが有志の方がavr-gccのツール
チェインを更新し続けている
ためほぼ同じ感覚でgccビルドができます。


avr-gccを使う上で注意すべき点はavr-size.exeがAVRのフォーマットが使えず、
汎用の動作しかしないのでFLASH/RAMの容量は自ら管理しなくてはいけません。
まぁここもARMマイコンいじるさいはリンカスクリプト自前で起こす必要あって
皆さん経験済みなので問題ないでしょう。


avrdudeも更新停止したと思ていたらさりげなく更新してたので久しぶりにビルド
しました。おきぱにあるのでどしどしご利用ください!
また、avr-gccにはavrdude.exeが同梱されてますがかなり古いのでavr-gccとねむい
さんのavrdude
を組み合わせて使う際はバッティングにご注意ください。

同時にUrJTAGflashromも微妙に更新がかかっていたのでビルドし直しました。
ビルドに当たってはOpenOCDも含めてMinGW-w64 GCC8.1.0を使用してますのでビルド
環境もアップデートしております!


●arm-gccの新しい奴が出た!
例年年末に出るやつがやっと来ました
今回の変更点はGCCのバージョンがついに8になったところです!
さっそく導入してみました!



ナニコレ…ihexで出力できない…
64-bit address 0x4b4fa300000000 out of range for Intel Hex file
ってなんなんだYO!
arm-none-eabi-objcopyバグってる…?


調べてみると同じ症状に遭遇された方がいました。どうやらarm-gccの新しい奴にある
objcopyにバグがあり、IntelHEXフォーマットの出力ができないようですorz

対処法はどうしても新しいarm-gcc使いたい場合はarm-none-eabi-objcopy.exeだけ
一個前のverに差し替えるだけでおkです。
こんな基本的なところでエンバグするの止めてくださいよ〜!
※バグじゃなくてオプションのつけ方悪いだけならご指摘願います


20190131追:
公式も認めました!!





●転職しました
読んで字の通りでございます。
2012年から長きにわたる派遣ジプシー生活からようやく解放されて正社員になれたん
やなぁ…って

あまり詳しいことはお伝えできませんが正社員への転職に当たっては最初は自力で
転職サイトとかに登録して活動しておりましたが有効求人倍率が1倍を上回る状況
にもかかわらず年齢的にも経験的にも箸にも棒にも引っかからず全く太刀打ちでき
ませんでした。

しかしながら存在は知っていたものの興味が無かった転職エージェントを利用した
ことで状況は大きく変わり、そこそこの待遇で内定をたくさんいただくようになり
その中で納得がいく会社に2018年内に無事就職する運びとなり、今も頑張っています。

この時利用したエージェントさんですが""ではじまる名前と""ではじまる名前の
二社で進めていき両社とも技術系に特化した所でしたので私の適正に近い会社様を
すぐに紹介していただけました。リクルートとかエン転職とか有名どころですが
某魔法少女より「それらは避けよ」と事前に忠告されていたため、ちょっとマイナー
ですが""と""ではじまるところにお世話になった次第でございます。

ちなみに両者のエージェントさnより口をそろえてほぼ同じ内容を説教されましたが
あなたのブログは選考者に対して大きなマイナスの印象を与えるので紹介しては
 いけませんよ」って言われてもちろんgithubもそこからブログにたどり着けちゃう
ので当然ダメでそれらの要素省いた出がらしみたいなスキルシート作るのが一番
精神的に辛かったのですがたぶん自力でやってた頃あっさりbanされまくってたのって
これが原因かなと思ってたのですがねむいさん面白い記事書けるよう務めてきたはず
ですが、いないさんのちょっとぱんつみえてるイラスツとか至って健全で普通なのに何故だ(錯乱



●ねむいさんFAQ
Q:昔のぶろぐ記事でdropboxの見えなくなった画像早く復旧してください
A:ぇっと…
  今年は大事なことにたくさんエネルギー使っちゃったので
  
  来年からがむばります!

近畿自然歩道を往く(熊野古道伊勢路(紀伊長島〜三野瀬〜船津))

先月苦闘した熊野脇道と合流して熊野古道伊勢路は一路新宮を目指します。
今回は合流地点の紀伊長島からのスタートとなりました。



●2018.12.28 近畿自然歩道(紀伊長島〜三野瀬〜船津)




虹裏メイドの朝は早いけど移動時間がさすがに長い…
6時に自宅を離れて阪急と近鉄とJRを乗り継ぎ11時にようやくスタート地点の
紀伊長島に降り立ちます…



紀伊長島は熊野古道伊勢時の要衝となっております。
時間的に厳しいのでそそくさとスタートです。



赤羽側を越えたら少しの間旧長島市街・魚町を走ります。
かなりさびれてますけど。


長島神社で今回の道中安全を祈りました。


国道42号に合流です。
熊野古道商工会ですって!


ブレンド・S



国道と離れ旧街道を進みます。



ありゃりゃ?いつの間にか高台に…??
何はともあれ一石峠です



トレイル区間を過ぎると柵の先には舗装路が‥たぶんここが平方峠です。
古里の街並みが広がります。




古里海岸に接近します


雪降ってて超寒い〜〜〜!!!



古里海岸を抜けて近年再発見された佐甫(サボ)鼻道を進みます。


サボ花展望台より。
粉雪が舞う松島の冬…。



道なりに下ると発掘された道にいざなわれ若宮神社に。



道瀬の海岸沿いを走り、再び高度を上げていきます。



世界遺産に登録された三浦峠への道を進みます。



と思ったらうっかり通り過ぎる所だった…
三浦峠です。


峠から下り、熊ヶ谷橋を越えると案内板があります。


JR三野瀬駅です。中間点のここで小休止。
近畿自然歩道はここで終了ですけど。




三野瀬駅を離れたらお次は始神(はじかみ)峠に向かいます。



始神峠への道はいくつかあり、のぼりはもちろん江戸道を上ります。
登り口は春になると桜で満開になるそう。



始神峠への本格的な道が始まります。



いい感じのトレイルを駆け上がっていくと平坦なばしょにでます。
茶屋跡もあり、ここが峠頂上部となります。



始神峠最高地点です。
ここからの長島の景色は格別です。うまい具合に天気も晴れてくれました☆


峠から下山にかかりましたが馬瀬側の江戸道は通行止めだったので
明治道をひたすらかけ下ります。


大曲の又谷の手洗い場です。
多分そのまま飲める水ですね。




宮谷池まで降りてきました。
近くには休憩所兼トイレもあります。



42号と再度落合います。
後はひたすらランニング!


ちょっと雪雲が晴れてきました!
やっぱりお日様が好きです♥



ラストスパートをかけてゴールの船津駅に無事たどり着きました。



なお交通機関の便が悪すぎるので電車ではなくバスで松坂に
帰りました…ここから松阪に替えると軽く1900円を超える
運賃のためねむいさんは株主優待拳を駆使して無料で
移動しちゃいます!三重交通は松阪⇔熊野市までいくと
2000円に近い運賃になるので優待拳のあるなしで交通費に
莫大な雑賀で来てしまいます…



話はそれましたがバスの移動距離がかなり長いので運転手さんが
トイレ休憩入れるとかざらです‥(そいえば今私が載ってた車両手すりなかった…)


あたりがすっかり暗くなったところで松阪駅に到着です…
2時間15分の長い旅路でした…


松阪駅の特急待ちに牛さんの雄姿を撮影です…


近鉄特急で帰りますが最後まで気は抜けません!





そんなこんなで今年も無事に熊野古道で走り納めができました。
来年からのルートは乗り換えの都合上前日から移動をせざるを得なくなる場所も
増えると思います。かつて東海自然歩道攻略時のようなタクティクスを
組み立て確実に進んでいこうと思います!



近畿自然歩道(紀伊長島〜三野瀬〜船津) GPSログ



今回も三重交通の株牛優待拳が大活躍でした。
尾鷲あたりまでバスがあるので当分の間は重宝しそうですね☆

GNSSモジュールを試用する19 -みちびき正式運用記念そしてGALILEO-

さる11月吉日、ついに、ついに日本製の準天頂衛星システムQZSSの正式運用
を開始
しました!!!!!!!
2011年から東海自然歩道とともに開始したねむいさんのGPS/GNSS狂騒曲ですが
ついに円熟期を迎えつつあります。これから先みちびきの恩恵にあずかれる
機会がますます増えると考えられます!

そして2013年から今まで使用してきたねむいさんのメインウェポンのGms-g9
ですが製造元のGlobalTop社がSierraWirelessに吸収されてサポートも消滅して
しまいました…かにみえましたが


SierraWireless社が新たにリリースしたXAシリーズのGNSSモジュールには依然
としてMT3333が使用されており、ファームウエアも当然のごとくGms-g9等の
MT3333を使用したモジュールと互換性があるはずです!!!


てわけでXA1110のファームを焼いてみました


Sierra製のGPSソフトで接続しようと思ったら9600bpsで通信できない…
デフォルトが115200bpsになってやがる###


XA1110モジュールはファームウエアのアップデートでAXN5.1.xになりその時に
大幅な機能変更をしておりました。
リリースノートより変更箇所の表を抜き出します。
デフォルトボーレートが9600から115200になったの地味に痛いです…

Gms-g9に無理やり適用するに当たり気を付けるのはデフォルトのボーレートです。
従来のボーレート変更コマンドが使用できず新しく付与されたフラッシュに
書き込むタイプのコマンドのみが有効なのでご注意ください。


なお無理糞アップデートしたGms-G9でSierra製のGPSソフトのAGPSの更新を
かますとなぜかフリーズしやがりますので使わないようご注意ください。
尤もあとで結果をお伝えしますがAGPS使わなくとも捕捉性能がすさまじいので
もはやAGPS必要ないです。


そしてAXN5.1.xのファームは以前は無理だったGALILEOも当たり前のように獲れます…




















ってわけで!
やることはただ一つ!
本州の南の果てに来るしか無いでしょ〜



今回は本州の南の果て、串本にてGNSSロガーとモジュールの新ファームの実力の
お手並み拝見といきます。そしてねむいさんのライフワークになった熊野古道の攻略も
ついでに兼ねてます…!念のためGP-101もロギングしておきました。
※検証の為ロガーのファームはGxGSVを獲れるようにしております。


しばしの間串本の町を南下します。
画像は街中にある串本無量寺です。


冬の串本は最高ですね…☆
景色のどこを切り取っても美しい思い出になる…♡



さて熊野古道大辺路は本来は串本市街を通過せず、鬮野川(くじのがわ)に沿って
姫という場所に向かいますが…かつての古道は"袋平見"と呼ばれる丘陵部の集落を
越えて向かっておりました。2000年代初頭まではこのルートが正式な熊野古道として
紹介されおりましたが高速道路敷設の計画により正式ルートが廃されてしまい
2018年現在では塩浜橋を越えた先にあるJRの高架下の道を進むのが正式ルートと
されてしまいました。そういった箇所はいくつかあり、田子-田並のにある堤平見も
立派な宝篋印塔があるにもかからわずなかったことにされてしまいました!!!!
もちろんねむいさんはなかったことにされた真の大辺路にむかいます!


廃された大辺路は今でも津波の避難路として使用されているようですが…
この傾斜はちょっと一般人にはむりやろ…


登りきると平坦な場所に降り立ちます…
そしてそこには廃されてしまったはずの真の大辺路の道標が出迎えてくれます…!



もちろん廃された道なので基本的に踏み跡はありません…
動物的直感に頼って下り道を見つけ大辺路に合流します…!



舗装路に合流して一安心です…
今回は東にまっすぐ、紀伊姫駅に向かって進みます
串本は橋杭岩や御前崎などいくつか見どころがあり当分の間はここに
くぎ付けになりそうですね〜



ちょっとした峠を越えると展望所があり、橋杭岩やいつか向かうことになる
串本大橋も見渡すことができます☆


妙にロマンティックな名前の紀伊姫駅です。


紀伊姫からは紀勢線に沿って走ります。


絶景ですね〜…♥
熊野古道大辺路は周参見を越えたらこのような美しい海未の連続です☆


古座駅です。ここでちょっと小休止。



古座川を越えます。水の透明度がやばいですね…


古座の集落を抜けていきます。



古座神社です。


おもえば京都からはるばる遠くまで来たもんだ…
目指す新宮もあと30と数キロ‥!




古座は漁業も盛んです。
天気の良い冬場にはひものを作っている場面に出くわすでしょう。




このあたりは朝霞が拝めるらしいです。
今回はドピーカンなので澄み切ってますがー!


熊野古道は田原地区からいったん山あいに入ります。
ここから清水峠へと向かいます。



めっちゃ工事中ですがハイキング道(大辺路)は確保されています…




ハイキング道を抜けて舗装路を駆け上がると世界遺産清水峠へのトレイルが
ひそかに待っています。


清水峠はあっさりと着いちゃいます


そして浦上港に…


紀伊浦上駅に到着…
ですが電車が来るまで時間が一時間以上余っちゃったので戻ります!



今度は国道に沿って戻ります…
口熊野・元熊野の道標を越えたら串本に再び戻ります…



紀伊田原駅に到着…まだ時間余ってるので猫さんと戯れます…




やっと電車が来た…
そこから2時間の小旅行…


真っ暗になった頃に紀伊田辺に到着です…


ここからの帰りは高速バスです…
まだまだ時間があるので駅前通りのラーメン屋で腹ごしらえ‥


高速バスで大阪に戻ります…そっから阪急に乗り継ぎます…
長い長い旅路が終わりました…






さて、新ファームはGALILEO採れてるはずですがその真価は!?

GALILEOを示すGAGSVのセンテンスが!!!やった!!
ていうかGPS,QZSS,GLONASS,GALILEO含めたら同時捕捉衛星数30超えちゃってて
すごいですね〜〜

そんなわけでGms-G9のファームでもXA1110の最新のファームがバリバリ使えることが
証明されました(多少癖がありますが)これからもバシバシ使い倒していきましょう!



●熊野古道大辺路・串本〜紀伊浦上GPSログ

こうしてみると京都から串本まで本当に遠い
足かけ数年ではるばる遠くまで来たものですね…
熊野古道も大辺路、中辺路、伊勢路とそれぞれ距離を新宮に詰めていき、
佳境となってきました。もうひと踏ん張りですね。

Go to top of page