いろいろ試す61(と今年の反省会)

あっという間に年末になってしまいましたね…
残り時間は少ないですが最後まで頑張りましょう〜




●ATMELSTARTが新機種のAVR非対応に

ねむいさんはだいぶ前からAVR-DDシリーズも手に入れておりました。
しかし買ってそのまま放置してたのでとりあえず使ってみようと思い、
まずはATMELSTARTで初期コードの生成をやってみようと思ったのですが
AVR-DDシリーズにはもはや対応しておりませんでしたorz

そしてMicorochip社の提供するMPLABなる総合開発環境でコードを
生成する必要があります…

ねむいさんAVRはArduinoすら使わずavr-gccのコマンドラインビルド環境で
プログラム書き込みはavrdude派なのでこんな小規模のマイコンにこんな
糞重い環境使いたくないんですけぉ!!!

う〜む微妙だ…


と思案に暮れていたところにMicrochipのgithubを見てみたらちゃんと周辺
機器別のExampleが大量にありましたとさorz
これ参考にAVR-DDのコードをAVR-GCCに当てはめて動作せしめられました。
今回はほんのさわりだけですがAVR-DDシリーズについては来年詳しく紹介
しますのでよろしく!

秋月電子でもAVR64DD28が販売開始でこれは熱くなるかも!?


●Picoscope7のソフトがようやく安定…か?
6から7になって超不安定になってしまったPicoscopeのソフトですが10月に
7.1.13にアップデートしておりました。"Other stability improvements "の
文字列を信じてインストールしてみました!!!


お?


以前のverでは速攻固まって使い物にならなかったI2Cのデコード表示も
ちゃんとできてる!!


と思ったらいろいろいじってたら固まったorz
ううむあと一歩…

全く使えないレベルからだましだまし使えるレベルになってきましたがまだ
安心して移行できる状態ではないですね…
当分の間は6を使っていこうと思います…ていうか私以外にPicoscopeを
使ってる人ほとんどいないのでは…ちょっと波形が見たいけど据え置き型を
出すまでもない状況ではかなり使えるんですけどね〜


●いつものの小変更
私のSTM32へのFatFs移植例"いつもの"について、長らくCMSISv5を
使ってまいりましたが今年後半からCMSISv6に移行しております。
で、このCMSISv6ですがNVIC周りで最近結構でかい更新がかかりました
さらに、CMSIS_v6のその他の変更はこちらにまとめられております

具体的にはIPというレジスタがIPRに変更になっています。
STM32においては古いペリフェラルライブラリを使用しているSTM32F1と
STM32F4の作例が直撃です(新しいHALライブラリは大丈夫です)。

仕方ないのでこんな感じに修正してお茶を濁しておきました…。
んでもってついでに以下の作例を2024年1月版に更新しております。
STM32F1
STM32F4
STM32F7
STM32H7
STM32L5
STM32H5

STM32L5に関しては今回の更新で完全終了で今後はH5に注力していきます。
H5は精力的に更新していきますので今後ともよろしく!!


●中華液晶追加など
地味ですがねむいさんのいつものの作例中にある液晶ドライバに
2種追加しております。年末なのでついでに紹介しようと思います。

まずはNT39106をコントローラに持つ170x220のQCIFなやつです。


お次はNT39116Bをコントローラに持つ240x320のQVGAなやつです。

これらの液晶モジュールは中華サイトを調べまくったりすでに動作
確認できた品種に似た型番の物から初期化コードを推測して無理くそ
動かしちゃってます。
ここまで来たらもう意地ですがAliexpress見てると次から次に新しい
刺客がやってくるので飽きさせてくれませんね…
こちらも地味に追加を重ねていこうと思います。


●"ペット・サウンズ"で使われてたフォント
電子工作と全然関係ないですがねむいさんはBeachBoysの大ファンで、
PetSoundsは好きなアルバムの一つです。
このアルバムジャケットで使用されていたフォントが今まで何か分からなかった
のですが調べまくって判明いたしました。
それがCooper Blackです!!!
型番シール作成する時はこのフォント好んで使っております。
まぁ完全に個人の趣味ですけどね〜



●そして反省会と来年の展望

今年もやろうと思ってできなかったことだらけですが長年後しでやっと
かたづいたやつが1件…
・DropBoxの画像表示問題の解消
 これにつきます。
 5年越しでやっとこ終わりました…長かった…
 このペースでいくと今度は容量問題に立ち当たることになりますが
 その時はその時で対処していきたいなと思います

そして今後やるべき事柄ですがこれは2件…
・ARM開発環境の整備
 特にかつてデバッグで使用していたInsightはWin10以降で使用不能に
 なってしまいましたので現在CodeLiteによるデバッグ方法を確立して
 いる最中となっております。
 2024年中にはわかりやすくなおかつ安定してデバッグできるような
 手順書の作成を進めてまいります。

・AVR関連の記事の増強
 これ最近になっていろいろ問い合わせいただくようになってきました。
 UPDIを使用する新しいタイプのAVRの使用記や書き込みソフト"avrdude"
 についての記事の需要が非常に高まっていると感じます。
 ちょうどAVR-EA/EBも出てさらにAVR-DUシリーズも登場の予感が出て
 来ましたのでちょっとAVRにもがむばってみようと思います。
 せっかくなのでついでにXMEGAの作例も2024年版に更新してみました
 かつて一度は捨てたはずのマイコンですが再びこうやって相まみえる
 とは運命を感じますね…


てわけで上記2件を来年の目標に記事の充実と整備を続けていこうと
思います!今後ともよろしくお願いします。

中部北陸自然歩道を往く -再走!小松から金沢まで-

今年6月早々に敦賀〜金沢まで走破達成した…つもりでしたがあとから
調べたら小松〜金沢間で"整備中・廃道"となっているルートが存在している
ことが判明し、この年末にその失われたルートに赴いて真の走破達成を
目指しました!!!はてさてどうなることやら…



●2023.12.28 中部北陸自然歩道(小松〜金沢)


なぜ私は再走を…
再び小松の地に立つ私…
新幹線ムードがいやがおうにも高まる小松駅からスタートです…!


小松は歌舞伎推しですね


菟橋神社で47匱紊離丱肇襪良勝祈願をしました!


安宅橋近くに来ました。
6月に訪れた安宅灯台も見えますね。


"自然歩道"のルートと合流します。安宅バス停付近です。
石川県内のルートは現在正式には3ルートしか存在しませんが
実は"自然百景の道"なる大量の中部北陸自然歩道構想が存在して
おりました。こんなにあったのになぜ今3ルートしかないかというと
予算とかの都合で整備放棄->廃道となったり永遠の未整備となって
いるようです。


そして!これが!整備放棄され廃道化した"弁慶・義経なみだのみち"です…
今回はこの自然歩道たちに忠実に進んで金沢へ向かいます!!!



ちょっとグラウンドを周回した後すぐに日本海に出ます…がいきなりの
冬季通行止め看板が!
今回のルートは小松加賀自転車道と道をほとんど同じくしておりますが…
まぁこの天気だと問題なく全部通れそうですけどね〜(死亡フラグ


ちゃんと側道もあるのでこちらを通りました。



と思ったらすぐに住宅街方面に押し出される…
翠が丘運動公園から北陸自動車道を超えていきます。


住宅街ルート中にも神社仏閣がちらほら見られ、
飽きさせません。


源平合戦で有名らしい根上松です。


高坂公園です。


ほんと神社仏閣が多いですね…


サンダーバードが北陸の大地を駆け抜けるのもあと少し…


能美根上駅で小休止しました。



能美根上駅から再び日本海に向かいます。


と思ったらまた住宅街に戻される…


JR小舞子駅です。
ここで弁慶・義経なみだのみちはおしまいです。
次は加賀海岸しおかぜのみちらしいですが…



国道に沿って取手川を越えていきます。


さぁ今度こそ日本海を走る!



と思ったらまたまた戻されていく…
取手公園平賀園地に沿って進みます。


今度こそほんとのホントに日本海沿いをひたすら走るルートに!!!


あ、こんなところに
いつもお世話になっております(意味深




豪快な日本海とどこまでも続く自転車道、そして…
12月とは思えないくらい日差しが強い太陽…!
天候的には抜群のコンディションですね…




日本海の荒波に常にされされているせいかここかしこに補修を続けて
いる場面が見られます…こういうのもあって自然歩道から外れちゃったの
でしょうねぇ…




徳光PAに到着です…!
売店でマス寿司を買って大休憩で後半戦に備えます。


???



さぁ後半もお気楽自転車どu…う”!?
道が砂で埋まってる!?


砂に足を取られて先に進めない…靴の中にもどんどん砂が
たまってくる…天候はベストなのが唯一の救いです…


と思ったら今度は川かYO!
これ自転車道ですよね…?



体力をごりっと削られてやっと砂地獄から解放された…
ていうか冬季に限らず自転車で通れるわけないでしょ!!!


県民海浜公園で砂落としがてら休憩です。
ここから先は川沿いのサイクリングロードを走ります。


ねこ。



犀川サイクリングロードに沿って駆け抜けていきます…
あと少し…あと少し…


北陸新幹線の延伸ももうすぐですね…



金沢市街に突入しました。
最後の神社にお参りして香林坊に向かいます。


自然歩道の終点(と思われる場所)、芭蕉の辻に到着です。
香林坊まであとほんのちょっと!!!




ッッ到着…!!
北陸道の交差路香林坊に到着です!!!!



そして昨年10月から足掛け1年2か月…敦賀から金沢まで自然歩道を
たどってこんどこそ真の走破を達成しました!!


金沢駅に来たらゴーゴーカレーも忘れない!!
いただきます!!!


さておなかを満たした後は…(道に迷ってる)



やっと見つけた!
サウナもある瓢箪湯で足の疲れをいやしました…♨



お土産もたくさん買い込んで京都に帰還です…
次に金沢に来るときは北陸新幹線になるのかな〜
…と思いながら帰路につきました。


ていうわけで年末ぎりぎりに突っ込んでみましたが後半の砂地獄以外は
懸念していた雪もなく天候に恵まれ楽しく?走り抜けることができました!


●2023.12.28 中部北陸自然歩道(小松〜金沢)GPSログ


さぁ次は今度こそ富山県境にアタックDA!

STM32H5を使ってみる3 -待ち受ける初見殺しの罠たち-

20240516追:
秋月さんよりNUCLEO-H563ZI販売開始です!!
20240516追:



クリスマス直前ですがわずかな時間を見つけて少しでもSTM32H5を使った
記事を書き残していきます…その先に何があるのかわからなくとも…!
すでにFatFsのSTM32H5への移植例はアップロードしておりますので今回も
これをもとに解説を進めていきますよぅ!


今回は基本中の基本、GPIOのほかにCortex-M33というかSTM32H5を使う人の
所見殺しポイントの回避とかを紹介してまいります。


●GPIOのレジスタがちょっと合理化

これはSTM32L5からなのですがGPIO出力のビットセット/リセットのレジスタ
(BSRR/BRR)が別々のアドレスに設定されております。

これは何気に良い改良だと思います。STM32F1とかの古い品種では上位16bit
がBRRで下位16bitがBSRRでひとまとまりになっており、HALに振り回されて
非常に使いづらくオーバーヘッドも多いので実行速度・コードサイズ的に
とても不利な代物でした。

で、ねむいさんは例えばSTM32F4のHALライブラリを使った作例とかではこんな
感じの構造体を作ってキャストしなおしてアクセスする手法でGPIOのビット
セット&リセットを簡潔にやってきましたが、たまにソースコードちゃんと
読まない方々からBRRなんてないからこのプログラムは動かないのでは?とか
質問もらうのですがほんとにBRRが定義されてないのならそもそもビルド通らん
やろうがぁああああ!!ちゃんとstm32f4xx_hal_conf.hの一番下のところ読めや
あああぁぁあぁあ!!!11!1

はぁはぁ…失礼…話を戻しますがSTM32H5・STM32L5以降ではそういう
小手先の手間も省けてBRR/BSRRられるようになりましたので安心です♥


●ビルド途中でGCCがセグメンテーションフォルトして死ぬ

なんでやねん
どうしたらよいのだ私は…
具体的に言うとGCC12でstm32h5xx_hal_dma_ex.cを最適化レベル-O2以降で
コンパイルしたらセグフォ死します…何やっても先に進めません

ねむいさんより先にSTM32H5触れた方も所見殺しの罠にかかっておられ
ました…
やはり初物はエラッタからライブラリに至るまで罠が満載…


ねむいさんは苦しみ紛れに屁をこいたような対策でセグフォ死の罠を
回避を行うことで対策しております。ちなみに現在リリースされている
GCC13では対策されて-O2にしても落ちなくなったので安心です☆

ねむいさんはSTM32H5のDMA対応ですっっごく時間食われましたがその半分
くらいはセグフォ問題で捕まりました…F**K!


●DACを使用したりUniqueIDを読みだそうとしたらHardFaultって死ぬ
だからなんでやねん
L5だと全く問題なかったのに…!


その理由はUIDレジスタのアドレスの変更に理由があります。
STM32L5ではこれらのレジスタは0x0BFA0590だったのですがSTM32H5では
0x08FFF800以降に変更されており、このアドレス領域はフラッシュメモリが
存在するアドレス(0x08000000)と同じであり命令実行を前提としている
そうなので普通の使い方ではIキャッシュを有効にすると思いますが有効に
してUIDレジスタがある0x08FFF800にアクセスした瞬間に命令領域にデータ
アクセスしようとしたと判断されてHardFaultして死にます!


もっと凶悪なのがHALライブラリのDACライブラリ中でパッケージデータを
判別して使用するチャネルを設定するコードがあり、そのパッケージを判別
するレジスタも0x08FFF800以降に存在するので何も対策してないと上記の例と
同じようにHardFaultして容赦なく死にます!!

STM32のフォーラムでは罠にかかった犠牲者がすでにちらほら出ております…


で、対策なのですがMPUを使用して0x08FFF800あたりのアドレスを読み出し
オンリー&命令実行禁止設定にしてあげればよいです。具体的には下記の
コードになります。

static void MPU_Config(void)
{
MPU_Region_InitTypeDef MPU_InitStruct;
MPU_Attributes_InitTypeDef MPU_AttributesInit;

/* Configure region for UID,PACKAGE,FLASHSIZE and other registers */
/* Disable MPU */
HAL_MPU_Disable();

/* Define readonly access via MPU */
MPU_AttributesInit.Number = MPU_ATTRIBUTES_NUMBER0;
MPU_AttributesInit.Attributes = MPU_NOT_CACHEABLE;
HAL_MPU_ConfigMemoryAttributes(&MPU_AttributesInit);

MPU_InitStruct.Enable = MPU_REGION_ENABLE;
MPU_InitStruct.BaseAddress = 0x08FFF800UL; /* UID ADDRESS and others */
MPU_InitStruct.LimitAddress = 0x08FFFFFFUL;
MPU_InitStruct.AccessPermission = MPU_REGION_ALL_RO;
MPU_InitStruct.AttributesIndex = MPU_ATTRIBUTES_NUMBER0;
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.Number = MPU_REGION_NUMBER0;
MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_DISABLE;

HAL_MPU_ConfigRegion(&MPU_InitStruct);

/* Enable MPU (any access not covered by any enabled region will cause a fault) */
HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT);
}



なお、マニュアルにもあらかじめMPU使っておけよと匂わせておりますが
こんなん初見で絶対わかりませんよぅ!!!
人にソースコードよく見ろと言っておきながら自分のことは棚に上げて
言うのもアレですがマニュアル相当読み込まないとマジで気づきません。

STM32L5から特に何も考えずスライド移植したら罠にかかって爆死する
パタンがH5では多いので気を付けましょう(経験者バイアス)
それとこうならないようにマニュアルはちゃんと読みましょうorz

20240205追:
STM32H5の地雷踏まないようなMPU設定の仕方が公式で
ようやく公開されています…最初から公表しろ〜〜〜〜!!!!!!

20240205追:




そんなわけでいくつもの罠が待ち受けているSTM32H5ですがこれからも
未知の罠が待ち受けているでしょう。しかしアーリーアダプタな戦士たちは
それに臆せず果敢に進んでいくのです…!!


そして先にも紹介しましたがFatFsのSTM32H5への移植例はおきぱですでに
公開しております
。ちょっと気が早いですが先行して2024年版に更新
しておりますのでヨロシク!!

中部北陸自然歩道を往く -能登北半島冬景色-

〽大人に変わったら 日本海に逢いたくなる
 あなたのあの言葉が 今も響いている


北陸新幹線敦賀延伸よりもだいぶ前の6月に敦賀〜金沢の攻略を終えたわけですが
石川県内の中部北陸歩道はまだいくつかあり、晩秋の登山ラッシュでつぶさに攻略を
しております…!
今回は能登半島の北の端っこの端っこを駆け抜けて行きたいと思います!


●2023.12.09 中部北陸自然歩道(高屋〜狼煙)

分割代休で金曜午後に休みとれたので業務終了後に西院に戻らず大阪駅から
ダイレクトサンダーバードで昼から金沢に向かいます…!
金沢まで在来線特急乗られるのもあと少しですね!


昼間っからかっくらうお酒は最高ですね…
ゲフンクゲフフン能登半島攻略の前線基地、金沢駅です。


金沢からさらに能登半島の端っこ珠洲まで行きますがまずは
ゴーゴカレー総本店で腹ごしらえをしておきます!!



まさか月に何度も京都(or大阪)⇔金沢往復することになろうとは思わなかった…



金沢駅から珠洲行きの特急バスに乗り込みます…
3時間の地獄のバスツアーのはぢまりです…!!!



バスの中でも酒呑んでたからへっちゃらだz
…ごめん嘘きつかった…
あたりが真っ暗のすずなり館が終点となります…!
星がきれい…♥



今回は海の音が遠くに聞こえる"灯りの宿まつだ荘"に宿泊しました
移動だけでだいぶ体力削られたのでこの日は爆睡でした!
まぁねむいさんだから仕方ないね



二次裏メイドの朝は早い…
女将さんから朝飯代わりのクロレラもらって元気百倍、スタート地点の
高屋に向かいますが予約していたタクシーは朝のすずなり館にすでに
スタンバイしてくれていました!!!さぁいくぞ!!!



帰りのバスは13時前半なので今回もタイムアタックを強いられます。
タクシーワープで早朝の高屋からスタートです!!!!


能登半島最北端のお店を記念撮影



高屋から椿展望台まで車道を進みます。
以前と違って優しい日本海がお出迎えです。



椿展望台に到着です。
ここからトレイル区間に入ります。



狼煙と呼ばれるこの区域は"岬自然歩道"が整備されています。


ようやく日も昇ってきました…!
太陽!



今回は運よく風もなく天気も良く快適にランニングできました♪



木の浦海岸です。


珠洲はアートに力を入れていて謎のアート群がちらほら見られます。


今回のルートは車道も交えてるのでトレランシューズよりランニングシューズの
ほうがむいてますね。



再びトレイル区間に入ります。


いやなんというか最高の景色ですね〜♥


そしてお約束のルートミスorz


禄剛崎の名前が見えてきました…!



折戸までやってきました。


禄剛崎まで突っ走ります!
(ルートミス中)


(ルートミス中)


やったー道の駅狼煙についt…
…あれ?トレイル区間すっ飛ばしちゃった???




仕方ないので道の駅狼煙でトイレ休憩してこの先どうするか考えます…



結局ちょっとトレイル区間を遡ってから禄剛崎灯台に向かうルートをとります!!!
☝やけくそ



…ッッ
そしてついに来たっ…!
能登半島最北端…ッ!!




そしてここが能登半島の最北端の端の端っこです…!
南紀白浜のように千畳敷が広がっています…!
ねむいさんはやったぞとしあき!!



能登半島北端の象徴の禄剛崎灯台もしっかり写真に収めました!



狼煙漁港から珠洲駅跡まで全速力で戻ります!!!
タイムアタックDA!



聖域の岬とかも寄りたかったのですが前値ながら時間の関係で無理でした…
そして残り19辧!間に合うのか!?


走れ〜〜!


わけワカメ!!!




時間がないくせに須須(すず)神社によりました。
ここは源義経ゆかりの神社だそうです…!



海沿いの道をひた走る…!
たまにある休憩所に救われます。


みさき小学校あたりで内陸に道を分かれます。
鉢が崎も残念ながら時間の問題で寄れませんでした。


野鳥の聖地、雁の池です。


貝がみられるらしい平床貝層です。
時間が(ry


ひたすら車道を走ってのと鉄道の跡地を探します…。



見えた!のと鉄道の廃線駅、正院駅です。
私もメッセージを残していきました!!


さぁ後は路線跡の道路を走るのみ!!!




!!!ッッ!!やった・・!
余裕をもって珠洲駅跡とすずなり館に戻ってまいりました…!


地酒は買わざるを得ない!


さっきの地酒と普段買いとケーキは入るところが別なの♥




帰りもバス地獄です…
…が千里浜の景色に多少は救われましたよぅ〜



暗くなり始めたころに金沢駅に到着です…疲れた…



帰りは8番らーめんで体力回復です!!


ラーメン食ってるまにすっかり夜のとばりが下りていました…



乗れる期間もあと少しとなった金沢発のサンダーバードで京都に帰還します…
大きなトラブルもなく今回も無事に走破完了です…!!


そんなわけで交通超難所の能登半島の最最北端を攻略してまいりました!
実は石川県内の中部北陸自然歩道は現在も整備が行われているのはたったの
3ルートしかなく他は廃道、整備予定となっております(問合せしました)。
一応整備済みはこれで全ルート攻略したのでお次は倶利伽羅峠を超えて
ついに隣の富山県に突入!!…となるのかな!?
20240320追:
北陸新幹線延伸前に富山に食い込みました!


●2023.12.09 中部北陸自然歩道(高屋〜狼煙)GPSログ


行って感じた…
能登半島はデカすぎる…!!

Go to top of page