Home | Notifications | New Note | Local | Federated | Search | Logout

SASANO Takayoshi@uaa@social.mikutter.hachune.net

OpenBSD(uaa@), Ham(JG1UAA), Ingress(Lv14, RES), Japanese(Sagamihara-city, Kanagawa)

Another side: https://social.tchncs.de/@uaa

npub1rarr265r9f9j6ewp960hcm7cvz9zskc7l2ykwul57e7xa60r8css7uf890

Messages from this Mastodon account can read via mostr.pub with npub1j3un8843rpuk4rvwnd7plaknf2lce58yl6qmpkqrwt3tr5k60vfqxmlq0w Joined: 2026-01-01 23:18:25 387 notes, 1 following, 0 followers

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-24 23:01:20) 心が汚れているのは分かっている。
偉大性-教育を、偉大-性教育と読んでしまう程度には。

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-24 22:45:48) @teobot gccで、-Sオプションを付けるとアセンブラのコードが出てきますが、同時にオブジェクトも吐かせたい場合はどうすれば良いでしょう?

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-23 22:06:03) あ、やっぱXの調子悪いんだ…

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-23 13:41:18) とりあえずここまで分かったことについて、OpenGD77の作者にはメールで知らせておきました。

あそこはいつも塩対応なので返事には期待しませんが…問題を抱えたままにされると困るんですよね、自分が。

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-23 12:56:46) i2s.cはfsl_port, fsl_dmamux, fsl_edma, fsl_sai, fsl_sai_edmaを使っているので、これらのドライバをSDK_25_06のものに更新してみる。

とはいえ、fsl_common_armの更新は必須なのでこれはまず済ますとして。

fsl_edmaだけ NG
fsl_dmamuxだけ NG
fsl_port(差異が無いので省略)
fsl_sai, fsl_sai_edma: 別物になってる

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-23 12:10:05) 13.3から14.3のオブジェクトに挿げ替えていく(source/interfaces)

clockManager.o, gpio.o, gps.o, interrupts.o, pit.o, settingsStorage.o, wdog.o ok
↑+i2c.o, spi.o ok
ここまでを(3)とする

(3)+i2s.o NG
(3)+adc.o OK
(3)+dac.o

source/interfaces/i2s.cに問題あり、と。

Reply to @uaa@social.mikutter.hachune.net SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-23 11:48:41) 13.3から14.3のオブジェクトに挿げ替えていく(source)

SeggerRTT, user_interface, usb, io ok
↑+dmr_codec ok
↑+ source直下にあるfirmware.o, main.o, semihost_hardfault.o ok
↑+io ok
↑+functions ok
ここまでを(2)とする

(2)+hardware ok
(2)+interfaces NG

source/interfacesの中か。

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-23 11:19:16) 13.3のビルド ok
ここから14.3のオブジェクトに挿げ替えていく
amazon-freertos ok
↑+usb, startup, lists, osa ok
ここまでを(1)

(1)+source NG
(1)+drivers, device, board ok

sourceモジュールの中に問題がある…とはいえこの中もかなり細かいんだよな。

※.oのビルドはarm gnu toolchain、リンクはdebian-13付属のtoolchain

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 23:35:03) 問題のあるオブジェクトを洗い出すために…gcc-13でビルドしたものと、gcc-14でビルドしたものを混ぜてリンクしてどうなるか、というのを見てみるか。

何が起こっているかを調べる前に、どこに問題があるかが分からないと追いようが無い…余計に分からなくなるだけという可能性も当然あるっちゃあるけど。

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 20:47:52) @teobot コンパイラ/アセンブラの生成したバイナリの各種セクションを、漏れなくオブジェクトに含めることができるよう、リンカスクリプトを修正したいと考えています。セクションの漏れを検出する方法はありますか?

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 20:12:44) 上溝のドムドムは混雑か…行きたくてもいけないなあ…

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 20:08:06) おー、J-Link RTTの日本語による説明がある。 https://www.embitek.co.jp/download/ps/RTT.pdf

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 20:05:27) デバッグプリント、取れないものだと思っていたのだけどソースコードにSegger RTTなるモジュールが入っているから…こいつを有効にすればコンソール代わりの物が動くんだろうかねえ。

USBケーブルを繋げるとスピーカーが動かなくなるけど、送信するならマイク使うだけだからそれは問題ないか。

あとは、液晶ディスプレイもあるからそこを乗っ取る方法もあるのかも(とはいえ、送受信切り替えの際に描画しちゃうからこれは厳しそう)。

ちょっと調べてみるか…

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 19:58:11) あと考えつくこととがあるなら…volatile忘れとか、タスク間で変数取り合ってるとか、I/Oのタイミング(待ち)がおかしいとか、その辺…?

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 19:57:05) にしてもー、思いつくところは大体見てると思うので何故OpenGD77(OpenDM1801)がarm-none-eabi-gcc-14以降でビルドしても動かないオブジェクトができてしまうのか(動くけど送信時だけ音声が乗らない)という件については放置かなあ。原因が全然分からないです。

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 19:55:20) bool型の変数だったらif (value)みたいに比較せずそのまま突っ込んでほしい…

int型の変数とかでif (value)は…よくやりますw

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 19:53:49) (a == 1)の値が1ではない非ゼロの値で、if ((a == 1) == true) (※trueは1)、みたいな比較をしたが故に動かねえええという経験をしたことがむかしあったような…ウッ

SASANO Takayoshi@uaa@social.mikutter.hachune.net boosted: @redbrick@social.mikutter.hachune.net (2026-02-22 19:18:23) C言語のクソなとこは、変数が1ならboolでtrue、0ならfalseとか判定する書式がまかり通ってるところ。

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 19:51:32) こういう事例をC++で見ているので、bool型の変数に阿呆なことをしていないかちょっと気になったんですよね。

https://github.com/jg1uaa/xlxd/commit/1958afca337336d0e442f0fa2573fd2d588b0234

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 19:11:10) …ってことは、gcc-11(-std=gnu11), gcc-12~14(-std=gnu17)での違いはないはずってことか。

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 19:08:52) @teobot gccで、-stdオプションのデフォルトが変わることはありますか?gcc-11~15の範囲の初期値を教えてください。

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 18:53:18) @teobot volatile宣言の付け忘れを、-Os/-O0でコンパイルした場合の比較で、検出できると思いますか?

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 18:51:52) gcc-14に-fno-inline-stringopsが入っているのでこれを使っても改善しない。

-Wbool-compare -Wbool-operation -Wint-in-bool-contextによるwarningは無し。

となると、その辺の可能性は低そうだってことになるかねえ。

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 18:42:33) 自動顔ぼかしとか入れてほしいかも。厄介対策として。

とはいえ、そんな機能がデフォルトでonになったら相当なディストピアな気もする…

SASANO Takayoshi@uaa@social.mikutter.hachune.net boosted: @isaki68k@misskey.io (2026-02-22 18:40:15) そうこうしてるうちに、スマホのカメラに映り込み除去機能とかついてるんすよね。(恐い

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 18:26:24) @teobot bool型変数に対する、&や|等といった数値演算を行っている場合へのwarningを吐かせる方法はありますかね?

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 18:23:49) @teobot gcc-13/14で、bool/<stdbool.h>周りの変更はありますか?

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 18:21:21) @teobot C言語において<stdint.h>によるbool型変数を使用する場合、if文等でのチェックでは(変数 == true)ないし(変数 == false)ではなく、(変数)ないし(!変数)でチェックしないとおかしなことが起こるという理解であっていますか?

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 15:46:04) @teobot gcc-14では動かず、gcc-13で動くコードがあります。-Osと-O0を変えても状況が変わらないことから、最適化以外の問題もあるのではないかと思います。何を見落としていると思いますか?

SASANO Takayoshi@uaa@social.mikutter.hachune.net (2026-02-22 15:44:52) -fno-inline →起動しない
-fno-stack-protector, -ftrivial-auto-var-init=zeroないしuninitialized→tx ng
Older Notes