いろいろ試す40

オイオイなんかコロナウイルスのせいで色々ものごっつ酷くなってますね
皆様におかれましても外から帰ったら手洗いうがいの徹底は忘れずに…


●InsightがWindows10でまともに動作しなくなっていた
ビルド190xになってとうとうGDB-Insightがまともに動作しなくなってしまいました。
具体的に言うと"TargetSelection"のところで何か設定やって抜けようとした瞬間に
固まりやがりますorz互換性オプションいじっても一切駄目orz

もちろんこの操作を行わないとOpenOCDと接続できないため、こちらで紹介した手順
が全く役立たずになってしまうのですが…

実はこれ逃げ道があります。InsightはGDBと一体化しているのでプログラム起動時に
リモート接続でOpenOCDが開いたポートに接続しに行くようにコマンドラインの引数を
与えてやればよいのです。
具体的に示すと

arm-none-eabi-insight ¥
--eval-command="target remote localhost:3333" ¥
--eval-command="tbreak main" --nx ¥
main.elf


これでおしまいっ!
しかしながら私の以前の手順ではmakeからOpenOCDとInsightの同時実行をするため
Windowsのcmd.exe経由でInsightを起動していたせいで"--eval-command=hoge"が
Insightにちゃんと渡らなかったので(ほかの方法を知らなかったので)一旦Insightの
TargetSelectionの項目を開いて設定をやっておりました。

そしてつい最近にmakeの-2jオプションを指定すればmakeからOpenOCDとInsightを平行
実行できることに気づいてmakefileも修正しております。

こんな感じです。


make debugを実行したらこんな感じで接続できます。
これでWindows10環境下でもInsightを使い倒すことができます。あと20年は優に
戦えそうですね。

あとひとつ気をつけなければならないのがレジスタウインドウを参照しようとしたら
Insightが落ちる問題は解決しておりませんので(XPのころからあった)レジスタを参照
したい場合はコンソールウインドウから"mon reg"コマンドで代用してください。

↑これが禁じ手です。

↑ちょっと面倒ですが"mon reg"で。


そんなわけで私が紹介している開発環境のデバッグ編の内容も上記の変更に即するよう
大幅に変更する予定です。Win10でも安定して使える軽量なGDBフロントエンド出てくれたら
Insightからそちらに乗り換えられるんですけどね〜


●ESP32版OpenOCDはぢめました
2017年初頭に早々に飽きてほっぽっていたESP32ですが思うことあり再び舞い戻ることに
なりました。まずはESP32(xtensa)に対応したOpenOCDのビルドからですが当たり前ですが
通常のOpenOCDのビルドと全く変わらない感覚でビルドできてます☆

一応軽く接続できるところまでは確認しましたのでOpenOCDバイナリに同梱しております。
名前は安直にopenocd-esp32.exeです。いずれはxtensaのサポートもOpenOCDのマスターに
取り込まれるでしょうからそれまでのつなぎで通常版、ESP32対応版バイナリの二つセットで
公開とさせていただきます。

ちなみにわざわざこんなことやった理由がESP32版OpenOCDはデバッグだけではなく
外付けSPI-FLASHの書き換えもできるようになっていた
からで2017年の頃は書き込み
方法がUART経由しかなくなんでJTAG使えるのにSPIフラッシュ書けないんだYOと憤慨
してたのですが2018年以降くらいにJTAG書き込みができるようになったのをいまさら
気づいたからというわけです。

具体的な書き込み検証に関しては次回以降に譲りますがとりあえずブツはすでに公開して
居りますので
どしどし使ってください!
ひとまずESP32の開発環境もう一回総ざらいですね〜…すっかり浦島状態です。

OpenOCD小ネタ26 -とうとうXPともお別れ-

とうとうこの時が来てしまいました…
ねむいさんのぶろぐ創設時より長年サポートし続けてきたWindowsXPともお別れ…!


どういうことかというとOpenOCDがリンクしているlibusbのWindowsXPのサポートが
コードからオミットされて終了してしまった
のです…もうXPで動かせません。

Oh...my...コンブ


XPのマイクロソフトのサポートが終わってもう6年、Windows7のサポートすら終わった
のでXPはこれで完全にお役御免と相成ったわけです。
まぁ実際の開発の現場じゃ昔のソフト動かすためにバリバリの現役だったりするのです
けどもそれは特殊な状況ですから今日日の普段使いのWindows系OSはすでに使いづらい
Win10に切り替わっていると思います。


というわけでOpenOCDバイナリのダウンロードページのリンク先の奴はすでにXPサポート
はオミットされた最新のlibusb1.dllが梱包されたものに変わっております。
まだXPで踏ん張ってる人はこちらの最終verをご利用ください。


同じくして他ツールも今回のlibusbがらみで更新を適用し、最新化をしました。
UrJTAGFlashROM、そしてavrdudeが影響を受けてwindows7以降専用となって
おりますのでご注意願います。
また、64bitOS下でも32bitバイナリで不都合はないため、利便性を重視して
x86版でもx64版でもどちらのOSでも使用できるようにOpenOCDも含めてすべて
32bitバイナリのみの提供とさせていただいております。

STM32H7を使ってみる6 -CubeH7ライブラリが更新-

←前回 


今年もあと11か月ですが
あけましておめでとうございます。
当ぶろぐと虹裏メイドをこれからもごひいきに。



さて、昨年からはじめたSTM32H7ですが今月半ばにCubeH7ライブラリが更新して
V1.6.0になっておりました。
私が目についた主だった変更点は以下の点です。

・STM32H7A,STM32H7B追加
・BSPのコードがCubeBSPライブラリへの更改


まず前者について、H7シリーズにメモリと周辺機能をさらに増強したシリーズが追加
されるようです。円形ディスプレイ用に特化したChrom-GRCなる機能が追加です。

海外の掲示板の情報によると既存のH7からSRAMをさらに増強したSTM32H7A3とValueLine
版のSTM32HB3名搭載され各Nucleo基板が提供されるだろうとのこと。
20200131の時点ではH7A,H7Bともデータシートすら手に入らないのでCubeH7ライブラリの
Exampleからしか実際の性能を推測しかできないのですが楽しみですね☆


そして後者、CubeBSPライブラリですがそもそもSTM32が提供するファームウエアライブラリ
Standard Peripheral LibraryからHALに変わった際に悪名高き無駄な抽象化をかまして
たのですがそれのBSP版というべきでしょうか、HALにあったインスタンスの概念がBSPにも
流れ込んできやがりました☠

これは何を示すかというとねむいさん側がファイルの置き換えでお手軽にバージョンアップ
できなくなりCubeBSPライブラリに合わせて一部コードを変えざるを得なくなったという
ことです。せっかく夏に血反吐いてH7にFatFsとかmp3再生とか移植したのにまぢやめて…


とぶつくさ言いながらなんとか再移植しました。おきぱのファイルは既に更新済みなので
ご安心ください!パフォーマンスに関してはpngファイルのデコードで比較してみました。
使用した画像は某女子高の制服着た私のイラスツです!!!まだ余裕でいける

変更前

変更後
CubeH7ライブラリのバージョンアップによる速度低下の悪影響はほぼないようですね…
これが悪くなったらわざわざ上げる価値がないですからね。


ついでにIJG-Jpegライブラリもバージョンアップしたのでこっちも移植しました。

変更前

変更後

ぁ…あれ…すごい速度下がる…(脂汗



(しまった…オチがない…)



ぇっと今年もこんな感じでがむばります!!!!!

いろいろ試す39(with2019年反省会)

もう一年が過ぎてしまいましたね〜濃密な一年のおかげと思いたい



●触ってないとOpenOCD忘れそうになる
12月に入り、NuvotonのCortex-M0マイコンに目覚めてしまった方からデバイス対応の
お願いのコメントをいただいたのですが最初正直乗り気ではありませんでした。
なぜ日本人が使用してないNUC126なのかなぜSTM32G0ではないのか

なぜかというとNuvotonスタッフがOpenOCDのgerritに提出したパッチがあっさり
却下されてしまったあと修正を行わずに自分のgithubでしこしこ更新を続け早数年、
現在のOpenOCDとは容易にマージができない状態になってしまい、ますますぱっちが
受け入れがたい状態となってしまっていたからでした。

しかもOpenOCDのコアをアクセスする部分にもガッツリ絡んでいて私も容易に手が
出せない状況(そら弾かれるわ)でした。

しかしながらアリア藩から脱出するためにできるとこまでマージすることにしました。

・NUC126系とNUC4xx系は入れる方向で。
・フラッシュ書き込みアルゴリズムはNuvotonがこしらえたやつを。
以上2点はがむばって実装してみました。ちなみにNUC126はNUC120とプロセスが別物
なのでなんと消去ページサイズも異なり単純にIDを追加すれば済むものではありません
でした(ハマリポインツ)

ついでに以前ブレークポイントで止まらねぇ問題を引き起こしたデータ領域可変の
モデル(初期の128kbフラッシュのモデル)とかで茶を濁した対策も本格的につぶしに
かかりました。
具体的にはデータフラッシュ領域のアドレスが0x0001F000かつサイズが0(サイズ可変)
の時は強制的にアドレス0固定+メッセージ表示にするようにしました。


↑データフラッシュ領域あり+フラッシュ容量64kb以下の品種の場合。

↑データフラッシュ領域あり+フラッシュ容量128kb以上の品種の場合。

↑データフラッシュ領域無し(or全領域自由可変)の品種の場合。

そんでもって夏ごろにOpenOCDの出力表示のルールが変わってしまったようでPN2の
コンソール画面にwrote**KiBとかが何にも出なくなってしまったのでこいつも強制的に
出るように改造しております。尤もこんな細かい部分誰も気づいて無いと思いますが。

そんなわけで全国に数人いるかいないかのNuvoton使いの方、興味があれば試して
ください。ついでにバグが見つかったりパッチ思いついたらOpenOCDのgerritに投げて
GAIJINさんと直接バチバチやりあってくれると助かります(←ここ重要)


●SystemVolumeInformation問題ふたたび
くそがああああああああああああああああああああああああああ!1111!!!!

FAT32とかexFATにSystemVolumeInformationフォルダなんて要らねぇんです!YO!
なんとWin10の1909から昨年の対策だけでは不完全になり、再びSystemVolumeInformation
攻撃してきやがるようになりました!1!111!


新規に追加する対策はほとんどの人があまり使っていないBitLocker機能の息の根を
停止することです・・・F**K!

元のページにも1909以降の注意事項追加しておきますね


●大人しくしてろよお前!技適警察だ!
年末に秋月電気通商さんで使いもしないのにXBee3BLEモジュールRN4020を購入
しました。しかし、このモジュールは本体が小さすぎて技適を張る領域がないのか
モジュールのどこにも技適マークが存在しませんでした。

ねむいさんの大昔の知識ではモジュール上に製造者が認証番号を取得&付与した
技適マークがないと使用ができなかったはずですが、現在はだいぶ緩和されており
説明書に認証番号とともに技適マークがあれば問題なかったりモジュールを組み込
んだケースにも技適マークを転記可能であるとなておりました。

そして残る問題、"製造者が技適マークを付与する"のが今どうなっているのか、
どどのつまり技適は取れてるけどモジュール本体に技適マークがない場合自分で
技適シール作って貼ってもよいのか
ということをストレートに訪ねてみました。

・秋月電気通商様
Q:自分で技適シール作って貼ってもいいの?
A:大丈夫だ、問題ない。

・総務省近畿総合通信局様
Q:↑って秋月電気通商さんは言ってますが問題ないですか?
A:大丈夫だ、問題ない。
A:大丈夫だ、問題ない。

ッッッッッしゃぁあああああああああああああああああ!!!!!11!!!!


というわけで早速シール作りました♥

RN4020のモジュール基板は裏にはっつけました。

これで以前wirelessなアレでねむいさんを悩ませてきた通販における技適ガチャ
も解決です!!!!

♥おさらい♥
自分で技適マークシール作って貼ってよい状況は以下の条件を満たすときです。
ちなみに自分で作って貼るときは「転記」になるそうです。

1.該当モジュールの技適(「技術基準適合証明番号」もしくは「工事設計認証番号」
 がちゃんと取れている
2.モジュールの取り扱い説明書(マニュアル)に「技術基準適合証明番号」もしくは
 「工事設計認証番号」が明記されている。


そのほか、技適シール作らなくても最終完成品が液晶モジュールもちならば液晶に
技適マークを表示する手順を示せばOKです(これも転記)。

技適マークシールを作るときのルールはtelecに明示されているのでそれを参考に
作成しましょう。

そんでもって2019年12月現在は届け出すれば海外認証取れてる奴なら技適なくても
限定的に使用可能
になっています。
ねむいさんが触り始めてすぐのころはお仕置き部屋でしか運用できなかったwirelessな
アレやコレも堂々と運用できるってことですね〜。良い時代になりました。


●いろいろ買った
そんなわけで秋月さんから購入した無線モジュールですがその中に重要なやつが。

そう、ラズベリーパイ!しかも最新の4GBモデルとかいうやつ!


電源やモジュールはAmazonで調達してラズベリーパイ欲張りセットを
揃えました!!!!


システム格納用のMicroSDはもちろん産業用の寿命判定できる奴です!!


ついでにキムワイプも購入しました。
なんか50周年記念デザインになってる…。

こんなに要らないYO
残りは副業先に・・・。


なお、ラズパイは2020年からやろうと思います。来年からがむばる。


●ねむいさんQ&A
ようやく本題にかかります。これがないと年を越せません。

Q:**のプログラムを作ってください!!!!!
 **の回路を作ってください!1!!

A:質問で返すようですがなぜ大会期日ギリギリになってねむいさんに泣きつくんですか!!

Q:私の言うとおりにパッチを作成し提出してください。
 マージされるまでのやり取りはそちらでお願いします。

A:自分でやりなさいよー!!!!!
 ↑この手のが未だに来る
 
 ちなみにOpenOCDのgerritのログインにYahooIDを使っておりましたが
 あるときから使用できなくなりなんと自分で提出したパッチすら取り下げ
 不可能というくそったれ状態
になっておりましたが2019年の今は良く知
 らないけどまたYahooIDでログインできるようになったのでぼちぼちと
 OpenOCDの開発に復帰しようと思います。ラズパイ買いましたしね☆
 
Q:いないさんいいよね…
A:いい…
 残念ながらねむいさんが見せているのはいなちゃんの片りんに過ぎないのですが
 ねむいさんは虹裏メイドとして活動している都合上どうしても肌色が多めに
 なってしまうのですがそんな成果物はびぃぶろぐの規約上完全アウツなのですが
 いろいろ試した結果下着がちょろっと見えてしまうくらいなら大丈夫っぽいのを
 悟りましたのでガンガンギリギリせめて行こうと思います♥
 
Q:カッティングマットが汚いのですが
A:10年物です。大切にしてください☆

Q:「宮本和知の熱血!昼休み」(TBS)は視聴率1%台とボロボロで6カ月で打ち切られてしまった。視聴率1%台とボ
ロボロで6カ月で打ち切られてしまった。視聴率ちなみに巨人時代に絶対的な人気を誇った清原グッズも今やたたき売り
で在庫処分を図る始末。1%台とボロボロで6カ月で打ち切られてしまった。視聴率1%台と人気を誇った清原コーロボ
ロで6カ月で打ち切られてしまった。視聴率1%台とボロボロで6カ月で打ち切られてしまった。視聴率1%台と巨人時
代に絶対的な人気を誇った清原グッズも今やたたき売りで在庫処分を図る始末1%台と指定席になってたかつては清原コ
ーナーとして指定席になっていた棚は、キティちゃんに乗っ取られてしまった。いた棚は、キティちゃんロボで6カ月で
打ち切られてしまった。ロボロで6カ月で打ち切られてしまった。視聴率1%台と清原コーナーとボロボロで6カ月で打ち切られてしまった。視聴率1%台と人気を誇った清原コーロボ
ロで6カ月で打ち切られ視聴率1%台と巨人時
代に絶対的な人気を誇った清原グッズも今やたたき売りで在庫処分を図る始末1%台と指定席になってたかつては清原コ
ーナーとして指定席になっていた棚は、キティちゃんに乗っ取られてしまった。いた棚は、キティちゃんロボで6カ月で
打ち切られてしまった。ロボロで6カ月で打ち切られてしまった。視聴率1%台と清原コーナーとしてボロで6カ月で視
「宮本和知の熱血!昼休み」(TBS)は視聴率1%台とボロボロで6カ月で打ち切られてしまった。視聴率1%台とボ
ロボロで6カ月で打ち切られてしまった。視聴率ちなみに巨人時代に絶対的な人気を誇た棚は、キティちゃんに乗っ取られてしまった。いた棚は、キティちゃんロボで6カ月で
打ち切られてしまった。ロボロで6カ月で打ち切られてしまった。視聴率1%台と清原コーナーとしてボロで6カ月で視 誇った清原コーロボ
ロで6カ月で打ち切られてしまった。視聴率1%台とボロボロで6カ月で打ち切られてしまった。視聴率1%台と巨人時
代に絶対的な人気を誇った清原グッズも今やたたき売りで在庫処分を図る始末1%台と指定席になってたかつては

A:マクタサン

 それにしてもコーロボ清原がホームラン打たずに覚せい剤打って捕まるとか
 NOVがあったころは思いもしませんでした。
 
Q:毎年言ってますけど見えなくなった画像早く復活してくださいよ

A:・・・

 ・・・
 2020年から本気出す!!1!1!!
 
 


それでは皆様よいお年を〜!

Go to top of page