2
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?

執筆記事【トランジスタ技術2025年7月号 ソニーの超小型コンピュータ Spresense Appendix1 Spresense搭載6コア・マイコンを司るリアルタイムOS「NuttX」のメリット】の紹介

Last updated at Posted at 2025-12-01

この記事はSpresense Advent Calendar 2025の2日目(12/2分)です。

この記事は何?

CQ出版社から発行されたトランジスタ技術2025年7月号 ソニーの超小型コンピュータ SpresenseAppendix1 Spresense搭載6コア・マイコンを司るリアルタイムOS「NuttX」のメリット】の紹介を執筆しました。

この記事では執筆した章を紹介します。

記事の紹介

記事を書いた理由

Spresenseのプログラムの内部ではリアルタイムOS NuttXが動いています。
このNuttXはPOSIX準拠のためPthread関数が使えます。

Pthread関数が使えると以下の点でメリットがあると思いました。

  • Pthread関数を使っているリッチなプロセッサ(例えばラズパイ)の既存アプリケーションを比較的簡単にSpresenseに移植できる
  • SpresenseでPthread関数を使っている既存アプリケーションを比較的簡単にリッチなプロセッサ向け(例えばラズパイ)に移植できる

リッチなプロセッサ(例えばラズパイ)はPOSIX準拠のOS(Linux)を使っている前提とします。

POSIX準拠のPthread関数を使うことでアプリケーションの可搬性を高め、開発時間の短縮にもつながると思い紹介したいと思いました。
記事ではPthread関数を使ったマルチスレッドプログラミングのサンプルコードの解説をしています。

記事で紹介しているPthread関数

記事は以下のPthread関数をSpresenseで動くサンプルコードで紹介しています。

項目 機能 Pthread関数
スレッドの起動・終了待ち ・スレッドを生成する
・スレッドの終了を待つ
pthread_create
pthread_join
ミューテックス 排他制御 pthread_mutex_init
pthread_mutex_destroy
pthread_mutex_lock
pthread_mutex_unlock
条件変数 ・イベント待ち
・イベント通知
pthread_cond_init
pthread_cond_destroy
pthread_cond_signal
pthread_cond_wait
条件変数
(タイムアウト付き)
イベント待ち
(タイムアウト付き)
pthread_cond_timedwait
バリア同期 複数スレッドで処理の開始タイミングを揃える pthread_barrier_init
pthread_barrier_destroy
pthread_barrier_wait

最後に

以上、執筆記事の紹介でした。

トランジスタ技術2025年7月号 ソニーの超小型コンピュータ Spresenseの特集の中で私が執筆した章はNuttX、Pthread関数にフォーカスした珍しい章でした。

以下の章はPthread関数を使用していたので、事前知識を得るという意味で執筆した価値はあるかなと思っています。

最後まで読んでいただきありがとうございました🙇‍♂️
この記事を読んでくださった方の何か参考になれば又は書籍を買って読んで下さった方の学びになれば嬉しいです。

2
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
2
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?