STM32F7Cube更新そのほか

●STM32F7Cubeが1.15.0になった
世に出てからはや数年が経過したSTM32F7ですが現在もSTM32F7Cubeライブラリ
更新は精力的に続いております。



前々から挙がっていたクレーm…要望にやっとこ対応できたのかダウンロードサイト
見たら前バージョンも落とせる仕様となっていましたね(やっとかYO!


それと昨年のFacebook等のSNSの勝手に情報収集問題からかサイトを開くといちいち
「クッキー取得するかんな!了承しないとサイト見せないぞ!」っていうウインドウ
が開くようになりやがりました###STに限らずほかのサイトでもこういう風潮が
増えていますが正直うざったいですね…#

話を戻しますが前バージョンが落とせる仕様に変わったのは2月以降に更新が入った
Cubeライブラリのみのようです更新してない奴はそれっきりorz


ボヤキはこの辺にして主な変更は暗号化関連のコードが大変更になったようです
ねむいさん暗号化は使ってないのでほぼ影響ありませんが
それと今までEXTI(外部入力&イベントコントローラ)のHALってなかったのか…!?
LL(ローレベル)ライブラリ版は昔からあったようですが…
あんま使ってない機能だからまぁいいか‥



ChaN氏のFatFs0.13c最新パッチ版を適用して無事動作しております。
静止画なのでわかりづらいですがgifライブラリも3年ぶりに更新したのでばっちり
適用しております☆


というわけで最新のライブラリや修正を盛り込んだ私のFatFs移植例"いつもの"
更新しておきぱに置いておりますのでどしどしご利用ください☆

もちろんSTM32F4のいつものも更新済みです!

ついでにSTM32F4Cubeも更新が入ってましたのでF4Nucleo用のプロジェクトも更新
しております!こちらもよろしく!


●STLinkのファームウエア更新

ついにV3とかも出てきておりますがSTLinkのファームウエアも続々進化しております。


M33になってMassStorageも使えるmbedファームと従来のSTLink+VCPのファームも使用
可能となってます☆
しかし…


新ファームだとOpenOCD使うとL0に書けないorz


ST謹製のCubeProgrammerからなら書けます…ファック!!!


M32のファームならOpenOCDでも大丈夫です。
おそらく修正が入るでしょうがSTM32L0シリーズ使ってる人はSTLink/2のファーム
ウェアバージョンには気を付けてくださいね。

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ログ



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

Go to top of page