1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

NXP i.MX RT1170 で Zephyr で Slint のアプリを動かしてみました

Posted at

はじめに

この記事は Slint Advent Calendar 2025 8日目の記事です。

昨日は「Helpfeel Tech Lounge に参加して、Slint の紹介をして、メモリのリークを報告しました」という記事を書きました。

本日は、Zephyr OS についてです。

NXP i.MX RT1170 で Zephyr で Slint のアプリを動かしてみました

Slint の Zephyr 対応

2024年の夏に、Slint の Zephyr 対応 が行われました。

Slint Advent Calendar 2024@hermit4 さんが「M5Stack Core2+ Zephyr OSでSlintを動かしたい」という記事を書いてくれました。

それ以降の変更としては、KDAB のエンジニアが以下の細かい変更をしたくらいで、状況は変わっていません。

試してみた

公式で確認済みの以下のデバイスを用意しました。

上記の手順に沿って作業を進めました。

動かなかった。。。

本来ちゃんと動作すべきなのですが、試してみてもうまく動きませんでした。

シミュレーターでも、起動直後にクラッシュしてしまう状況でした。

1年前に自分で試した時はちゃんと動いていたので、その時の状況さえ再現できれば、bisect でなんとかなるだろ、と思ったのですが、そもそも1年前の組み合わせが難しく、3日くらいかけて以下のバグレポを作成しました。

詳細は上記を参照してほしいのですが、Rust で書かれた Slint を C++ から利用する際に、freestanding (≒ no_std) なケースで Rust と C++ で ABI の不一致が発生していました。

これは以下のコミットが原因で、これにより半年ほどクラッシュする状況になっていました。

そして、開発者の人がすぐ直してくれました。

動いた

おわりに

NXP のマイコンで Zephyr 上で Slint のアプリが無事動きました。

EdgeTech+ 2025 の直前で、とっても焦りましたがなんとかなりました。

おまけ

同様の環境で Slint の Home Automation も動きました。

その他の Slint のアプリも簡単に Zephyr で動かせるように、以下の PR を送っていま対応中です。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?